Показаны различия между двумя версиями страницы.
— |
comment59 [2018/04/13 22:43] (текущий) |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | Как обычно, | ||
+ | В основе лежит концепция формирования формы диалога из класса. | ||
+ | Перед разработкой диалога необходимо определится с дизайном и функционалом. Это упростит разработку. Например, | ||
+ | Рассмотрим пример изменения | ||
+ | Для запуска диалога необходимо определить, | ||
+ | classDeclaration, | ||
+ | |||
+ | Создаем класс | ||
+ | |||
+ | public class Example_RunBase extends RunBase | ||
+ | { | ||
+ | |||
+ | EmplTable | ||
+ | |||
+ | // | ||
+ | transDate | ||
+ | |||
+ | // | ||
+ | dialogField | ||
+ | |||
+ | |||
+ | // как правило стандартный набор | ||
+ | # | ||
+ | # | ||
+ | # | ||
+ | transDate | ||
+ | #endmacro | ||
+ | } | ||
+ | |||
+ | Методы | ||
+ | |||
+ | public Object dialog() | ||
+ | { | ||
+ | DialogRunbase | ||
+ | ; | ||
+ | // | ||
+ | dlgTransDate = dialog.addFieldValue(typeid(transDate), | ||
+ | |||
+ | return dialog; | ||
+ | } | ||
+ | |||
+ | static ClassDescription description() | ||
+ | { | ||
+ | return " | ||
+ | } | ||
+ | |||
+ | public boolean getFromDialog() | ||
+ | { | ||
+ | ; | ||
+ | // получение значения даты с диалога | ||
+ | transDate | ||
+ | |||
+ | return super(); | ||
+ | } | ||
+ | |||
+ | static void main(Args args) | ||
+ | { | ||
+ | Example_RunBase | ||
+ | ; | ||
+ | // | ||
+ | if (!args || args.dataset() != tablenum(emplTable)) | ||
+ | throw error(strfmt(" | ||
+ | |||
+ | // активизируем класс | ||
+ | example = new Example_RunBase(); | ||
+ | |||
+ | // | ||
+ | example.initFromArgs( args); | ||
+ | |||
+ | // | ||
+ | if (example.prompt()) | ||
+ | example.run(); | ||
+ | } | ||
+ | |||
+ | public void initFromArgs(Args _args) | ||
+ | { | ||
+ | ; | ||
+ | | ||
+ | } | ||
+ | |||
+ | void run() // | ||
+ | { | ||
+ | |||
+ | | ||
+ | ; | ||
+ | if (ok) | ||
+ | |||
+ | emplTable.BirthDate=transDate; | ||
+ | } | ||
+ | |||
+ | Размещаем на форме EmplTable menuItemButton, | ||
+ | Это самый простейший пример использования класса. Кто хочет использовать дополнительные возможности то будет полезным знать о других методах класса |