SCADA системы
| Категория реферата: Рефераты по информатике, программированию
| Теги реферата: реферат поведение, реферат образование
| Добавил(а) на сайт: Ryzhikov.
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата
Сохраненная функция Quick Functions может быть использована в любом другом скрипте или выражении.
Quick Functions могут быть синхронными и асинхронными скриптами. Синхронные скрипты выполняются последовательно, в то время, как после запуска одного асинхронного скрипта может быть запущен другой (синхронный или асинхронный) скрипт. Это позволяет отделять исполняющиеся довольно долго операции (типа обращений к базам данных) от основной программы. Асинхронные скрипты не могут возвращать результаты. Поэтому в качестве скриптов Quick Functions, используемых в выражениях (Expression) для определения динамических свойств объектов, следует применять только синхронные скрипты.
Создание скриптов Quick Functions осуществляется в диалоговом окне
редактора Quick Functions. Вызов этого диалога на экран в окне WindowMaker
производится в командой Special/Scripts с последующим нажатием на строке
Quick Functions.
Список Name содержит имена всех определенных к данному моменту скриптов
Quick Functions. Щелчок по имени скрипта выводит его текст в рабочее поле
диалога.
Команда Scripts/New предназначена для создания нового скрипта и вызывает на
экран диалог для ввода его имени. После щелчка по Ok новое имя будет
включено в список имен Name.
Следующий этап - определение аргументов нового скрипта в таблице Arguments
диалога Quick Function. В левую колонку таблицы вводят имя аргумента (до 31
символа), в правую - его тип (Integer, Real, Discrete, Message). В одном
скрипте допускается до 16 аргументов.
После определения типов аргументов можно приступать к написанию текста
скрипта Quick Function в рабочем поле (под таблицей Arguments).
Разработка графопостроителя в системе InTouch
Данный раздел посвящен разработке четырехканального графопостроителя визуализирующего данные, поступающие по DDE каналу с DDE сервера. В программе предусмотрена возможность масштабирования по каждому из каналов.
Разработка DDE-сервера
Приложение, получающее данные из другого приложения по DDE и/или
управляющее другим приложением с помощью команд через DDE является DDE-
клиентом. В этом случае второе приложение является DDE-сервером. Рассмотрим
проект DDE-сервера, выполненного на языке программирования Borland Delphi
6.
На рис.20 представлено окно DDE-сервера во время дизайна в среде Delphi
[pic]
Рис. 20. Окно DDE-сервера на стадии проектирования в Delphi
Для построении DDE-сервера в Delphi имеются два объекта, расположенные на
странице System Палитры Компонент - TDdeServerConv и TDdeServerItem. Обычно
в проекте используется один объект TDdeServerConv и один или более
TDdeServerItem. Для получения доступа к сервису DDE-сервера, клиенту
потребуется знать несколько параметров : имя сервиса (Service Name) - это
имя приложения (обычно - имя выполняемого файла без расширения EXE, возможно с полным путем); Topic Name - в Delphi это имя компоненты
TDdeServerConv; Item Name - в Delphi это имя нужной компоненты
TDdeServerItem. Назначение объекта TDdeServerConv - общее управление DDE и
обработка запросов от клиентов на выполнение макроса.
Объект TDdeServerItem связывается с TDdeServerConv и определяет, что, собственно, будет пересылаться по DDE. Для этого у него есть свойства Text
и Lines. (Text имеет то же значение, что и Lines[0].) При изменении
значения этих свойств автоматически происходит пересылка обновленных данных
во все приложения-клиенты, установившие связь с сервером.
При запуске приложения происходит выполнение процедуры
TDDEServe.FormActivate:
procedure TDDEServe.FormActivate(Sender: TObject); var nidata : TNotifyIconData; begin
Application.ShowMainForm := False;
ShowWindow(Application.Handle, SW_HIDE);
ShowWindow(Application.MainForm.Handle, SW_HIDE); with nidata do begin cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle; uID := 1; uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP; uCallBackMessage := WM_MYICONNOTIFY; hIcon := Application.Icon.Handle;
StrPCopy(szTip,Application.Title); end;
Shell_NotifyIcon(NIM_ADD, @nidata); ru:=10; end;
В этой процедуре приложение сворачивается в системный Tray, а форма
становится невидимой. Окончание работы DDE-сервера вызывается путём нажатия
левой или правой кнопкой мыши на иконке приложения в области системного
Tray. Обработка этого события выполняется в процедуре TDDEServe.WMICON:
procedure TDDEServe.WMICON(var msg: TMessage); begin case msg.LParam of
WM_RBUTTONDOWN,WM_LBUTTONDOWN: close; end; end;
При этом, при закрытии окна приложения вызывается процедура
TDDEServe.FormDestroy, в которой происходит удаление иконки из системного
Tray:
procedure TDDEServe.FormDestroy(Sender: TObject); var nidata : TNotifyIconData; begin with nidata do begin cbSize := SizeOf(TNotifyIconData);
Wnd := Self.Handle; uID := 1; end;
Shell_NotifyIcon(NIM_DELETE, @nidata); end;
Рекомендуем скачать другие рефераты по теме: ответственность реферат, сочинения 4.
Категории:
Предыдущая страница реферата | 6 7 8 9 10 11 12 13 14 15 16 | Следующая страница реферата