Разработка системы управления работой коммерческой компании
Рефераты >> Предпринимательство >> Разработка системы управления работой коммерческой компании

· Диалоговые окна. Объект 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;


Страница: