Разработка системы управления работой коммерческой компанииРефераты >> Предпринимательство >> Разработка системы управления работой коммерческой компании
· Диалоговые окна. Объект TDialog порожден от TWindow и предназначен для реализации взаимодействия с пользователем. В отличие от TWindow диалоговое окно не может изменять свой размер, но может перемещаться по экрану. Его обработчик событий генерирует команду cmCancel в ответ на нажатие клавиши Esc (или воздействие мыши на кнопку закрытия) и команду cmDefault в ответ на нажатие Enter.
· Кнопки. Объект TButton - это прямогугольник с надписью, имитирующий кнопку панели управления. Обычно TButton является элементом группы TDialog и нажатие на кнопку иницирует событие, связанное с какой-либо стандартной коммандой или командой пользователя.
· Строки ввода. Для ввода различных текстовых строк с клавиатуры используется объект TInputLine. Использование этого объекта дает в распоряжение пользователя мощные возможности встроенного редактора, обрабатывающего алфавитно-цифровые клавиши, клавиши перемещения курсора влево/вправо, а также клавиши Backspace, Delete, Insert, Home, End.
· Просмотр списков. Абстрактный объект TListViewer предоставляет в распоряжение программиста средства просмотра списка строк и выбора из этого списка нужной строки.
· Статический текст. Объект TStaticText - это видимый объект, используемый для вывода текстовых сообщений. В отличие от строк, созданных непосредственным выводом с использованием стандартной процедуры Writeln, текстовая строка объекта TStaticText может входить в группу видимых элементов (например диалоговое окно) и управляться этой группой. Статический текс игнорирует любые события, посланные к нему.
Событие - это что-то, на что программа должна отреагировать. События могут приходить от клавиатуры, от мышки или от других частей TV. Например, нажата клавиша - это событие такое же, как и нажатие кнопки мыши. События поступают в очередь внутри TV по мере их появления и затем обрабатываются обработчиком событий. Объект Tapplication, который является ядром каждой программы на TV содержит обработчик событий.
Например, клавиша F1 вызывает диалоговое окно, содержащее подсказку о создании программы.
Невидимые объекты - это любые другие объекты программы, отличные от видимых элементов. Они невидимы, поскольку сами ничего не выводят на экран.
Они производят вычисления, связь с переферией и выполняют другую работу прикладной программы. Когда невидемому объекту необходимо вывести что-либо на экран, он должен связаться с видимым элементом.
Для создания системы управления работой коммерческой компании (СУРКК) ипользовалась стандартнаю объектно-ориентированную библиотека TURBO VISION. Именно она, поскольку без особых усилий была создана диалоговая программа с пользовательским интерфейсом высокого уровня, облегчившая взаимодеуствие пользователя с данными.
2.6.4 ОПИСАНИЕ ПРОЦЕССА РАЗРАБОТКИ.
2.6.4.1 НАЧАЛО СОЗДАНИЯ.
Работа большинства прикладных программ проходит в три этапа : подготовка к работе, собственно работа и, наконец, ее завершение. В случае с СУРКК к подготовительному этапу можно отнести такие действия, как анализ существования файлов данных и его подготовка к работе, проверка легальности копии и т.п На этапе завершения, необходимо произвести действия по сохранению файлов данных. Все остальные действия относятся к среднему этапу. С учетом этого можно написать простейшую программу :
BEGIN
{Подготовка к работе}
{Работа}
{Завершить работу}
END.
Если попытаться выполнить эту программу, ничего не произойдет. Так обстоит дело с Borland Pascal’ем, но не так в Turbo Vision ! Для любой прикладной программы Turbo Vision создает минимальную программную реализацию, которую затем можно постепенно наращивать в ходе детализации программы. Вот начальный вариант программы с использованием Turbo Vision.
Uses App;
Var
SklVks : TSklVks;
Begin
SklVks.Init;
SklVks.Run;
SklVks.Done;
End.
В этой программе объявлено использование стандартного для Turbo Vision модуля APP (от Application - прикладная программа). Такое объявление открыло доступ к мощным возможностям Turbo Vision. Затем объявили экземпляр объекта TApplication, т.е. объединение данных и методов обработки этик данных (процедур, функций, конструкторов, деструкторов). В объекте TApplication предусмотрены методы INIT, RUN и DONE. Вызов этих методов и составляет исполняемую часть программы. Если запустить эту программу, то на экран появится изображение (см. рис 1) :
(рис 1)
Как видно, даже простейшая программа “знает”, как создать экран, распознать команду ALT-X и может работать с мышью. Совсем не плохо для трех исполняемых операторов, не так ли ? Такие возможности доступны потому, что в объекте TApplication предусмотрены соответствующие методы.
Простейшая программа не может выполнять никаких других действий, кроме уже перечисленных, так как именно эти действия запрограммированы в методах Init и Run объекта TApplication. В ходе их выполнения на экране создается изображение, имеющее три зоны : верхняя строка (строка меню), нижняя строка (строка статуса) и вся остальная часть (рабочая область).
2.6.4.2 ФОРМИРОВАНИЕ МЕНЮ И СТРОКИ СТАТУСА.
Теперь нужно создать основные элементы программы - строку меню и строку состояния. Для этого я модифицировал стандартное поведение объекта SKLVKS. Я перекрыл (переопределил) унаследованные от TApplication методы InitStatusLine и InitMenuBar. Метод InitStatusLine я перекрыл так, чтобы программа в строке состояния вывела подсказки : выхода из программы, справка и меню. При нажатии мышкой или при нажатии горячей клавишу на соответствующую надпись ваполнится связанная с ней процедура. Например при нажатии на F1 на экране появится сообщение о создании СУРКК или при нажатии на F10 активизируется строка меню. Метод InitMenuBar перекрал так, чтобы организовать меню для работы с данными. (см. рис 2)
USES APP,OBJECTS,MENUS,DRIVERS,VIEWS;
Const
cmPrnSklad = 200;
cmSklad = 201;
cmZak = 203;
cmPriceLst = 204;
cmHelp_About = 205;
cmPrint = 206;
cmPrihod = 207;
cmSbros = 208;
cmNext = 209;
cmMore = 213;
cmSKL = 214;
cmDostup = 215;
cmDobavka = 216;
cmRekviz = 217;
cmKurs = 218;
cmTemp = 219;
cmPriceList = 220;
cmSdelka = 221;
cmPrih = 222;
cmVozvrat = 223;
cmKorPrihod = 224;
cmDolgi = 225;
cmUdal = 226;
cmMoney = 227;
cmArchive = 228;
Type
TSklVks = object(TApplication)
Procedure InitStatusLine ; Virtual;
Procedure InitMenuBar ; Virtual;
End;
Procedure TSklVks.InitStatusLine; { создает строку статуса }
var
R: Trect;
Begin
GetExtent(R);
R.A.Y:=pred(R.B.Y); { координаты строки статуса }
StatusLine:=New(PStatusLine,Init(R,NewStatusDef(0,$ffff,
NewStatusKey(' ~ALT-X~-Конец работы',kbAltX,cmQuit,
NewStatusKey(' ~F1~-Справка',kbf1,cmHelp_About,
NewStatusKey(' ~F10~-Меню',kbf10,cmMenu,
nil))),nil)));
END;