Общие переменные:
ПЕРЕМ номер_окна=1 //номер окна в Z последовательности, 1 - текущее окно, 0 - главное окно программы, -1 - активное окно, -2 - окно с фокусом
ПЕРЕМ тип_окна="" //тип окон, может быть "д" - дочерние, если "р" - то номер_окна - его Handle
//Зарезервированные варианты номеров окон
ПЕРЕМ атекущее_окно =1 //Текущее окно (вариант значений переменной номер_окна)
ПЕРЕМ аглавное_окно //Главное окно программы (вариант значений переменной номер_окна)
ПЕРЕМ активное_окно =-1 //Активное в текущий момент окно (вариант значений переменной номер_окна)
ПЕРЕМ аокносфокусом=-2 //Окно имеющее фокус ввода (вариант значений переменной номер_окна)
ПЕРЕМ амди_родитель=-3 //Родитель для бланков и отчетов (вариант значений переменной номер_окна)
ПЕРЕМ задержка=0 //Задержка выполнения процедур (выполняются в таймере)
Константы состояния окна:
"SW_HIDE" "SW_MAXIMIZE" "SW_MINIMIZE" "SW_RESTORE" "SW_SHOW" "SW_SHOWDEFAULT" "SW_SHOWMAXIMIZED" "SW_SHOWMINIMIZED" "SW_SHOWMINNOACTIVE" "SW_SHOWNA" "SW_SHOWNOACTIVATE" "SW_SHOWNORMAL"
ФУНКЦИЯ ТИП_ЛОГИКА: АЗАКРЫТЬ_ОКНО
Закрывает окно.
Пример:
1.
АЗАКРЫТЬ_ОКНО // Закрывает текущее окно
2.
номер_окна=2
АЗАКРЫТЬ_ОКНО // Закрывает второе окно в Z-последовательности
3.
номер_окна=2 тип_окна="д"
АЗАКРЫТЬ_ОКНО // Закрывает первое дочернее окно в Z-последовательности
4.
номер_окна=2 номер_окна= А_ОКНО тип_окна="р"
АЗАКРЫТЬ_ОКНО //Закрывает окно по уникальному номеру
ФУНКЦИЯ ТИП_ЛОГИКА: АЗАКРЫТЬ_ОКНО_МС(ТИП_ЧИСЛО:мсек) *
Закрывает окно через указанное количество миллисекунд.
ФУНКЦИЯ ТИП_СТРОКА: АТЕКСТ_ОКНА
Возвращает текст заголовка окна.
ФУНКЦИЯ ТИП_ЧИСЛО: А_ОКНО
Возвращает уникальный идентификатор (Handle) окна.
ФУНКЦИЯ ТИП_ЛОГИКА: АВЫКЛ_ОКНО
Выключает окно (делает его недоступным).
ФУНКЦИЯ ТИП_ЛОГИКА: АВКЛ_ОКНО
Включает окно.
ФУНКЦИЯ ТИП_ЛОГИКА: АПОКАЗ_ОКНА(ТИП_СТРОКА:стр)
Вариант отображения окна, где стр - одна из констант состояния окна.
Пример:
АПОКАЗ_ОКНА("SW_MAXIMIZE") //раскрывает текущее окно на весь экран.
ФУНКЦИЯ ТИП_ЛОГИКА: АУСТ_ПОЗ_ОКНА(ТИП_ЧИСЛО:х,у;ТИП_СТРОКА:вар)
Устанавливает позицию окна, где х и у координаты окна, вар - вариант позиции.
ФУНКЦИЯ ТИП_ЛОГИКА: АУСТ_ТЕКСТ_ОКНА(ТИП_СТРОКА:стр)
Устанавливает заголовок окна.
ФУНКЦИЯ ТИП_ЛОГИКА: А_ФОКУС_ОКНА
Устанавливает фокус окна.
ФУНКЦИЯ ТИП_ЧИСЛО: АДАТЬ_ФОКУС
Возвращает Handle окна с текущим клавиатурным фокусом.
ФУНКЦИЯ ТИП_ЛОГИКА: АНАЖАТЬ_КЛАВИШУ(ТИП_ЧИСЛО:клавиша)
Эмулирует нажатие клавиши в окне, где клавиша - код соответствующей клавиши.
ФУНКЦИЯ ТИП_ЛОГИКА:АНАЖАТЬ_КЛАВИШИ(ТИП_СТРОКА:клавиши)
Эмулирует нажатие последовательности клавиш в окне, где <клавиши> - коды соответствующих клавиш разделенные точкой с запятой, например АНАЖАТЬ_КЛАВИШИ("9;9;13") , произойдет последовательное нажатие клавиш Tab, Tab и Enter.
Для функции АНАЖАТЬ_КЛАВИШУ и АНАЖАТЬ_КЛАВИШИ добавлена общая переменная ТИП_ЧИСЛО: адоб_клавиша, позволяющая эмулировать нажатие комбинации клавиш. Принимает значение комбинации следующих констант:
гкНет - нет добавочных клавиш
гкАльт - нажата клавиша Alt
гкКонтрол - нажата клавиша Control
гкШифт - нажата клавиша Shift
Например:
номер_окна=АДАТЬ_ФОКУС
тип_окна="р"
адоб_клавиша=гкКонтрол+гкШифт АНАЖАТЬ_КЛАВИШУ(39) //аналогично комбинации клавиш Control - Shift - Стрелка вправо
адоб_клавиша=гкКонтрол АНАЖАТЬ_КЛАВИШУ(45) // аналогично нажатию клавиш Control - Ins
ФУНКЦИЯ ТИП_ЛОГИКА: АНАБРАТЬ_ТЕКСТ(ТИП_СТРОКА:текст;ТИП_ЧИСЛО:мсек) *
Эмулирует набор текста в окне, где <мсек> - число миллисекунд задержки
Пример:
ИСПОЛЬЗОВАТЬ("ibalt")
тип_окна="р" номер_окна=АДАТЬ_ФОКУС
успех=АНАБРАТЬ_ТЕКСТ("проба",100)
//Если поместить этот текст в окно компилятора ("Установка" - "Компилятор"-"Компиляция текста") и запустить на выполнение, то через 100 мсек появится текст.
ФУНКЦИЯ ТИП_ЛОГИКА: АЗАКРЫТЬ_ВСЕ_ОКНА
Закрывает все открытые немодальные окна в программе.
ФУНКЦИЯ ТИП_ЛОГИКА: АКТИВИРОВАТЬ_ОКНО
И так понятно...
ФУНКЦИЯ ТИП_ЧИСЛО:АКТИВНЫЙ_ДИАЛОГ
Возвращает Handle активного диалога, аналогично использованию общей переменной номер_окна=-1, перед вызовом функций
ФУНКЦИЯ ТИП_СТРОКА:АТЕКСТ_НАЖАТОЙ_КНОПКИ //(новая)
Возвращает текст последней нажатой кнопки элементов управления, например можно узнать что в БД_РЕДАКТОР нажата кнопка "OК"
ФУНКЦИЯ ТИП_ЛОГИКА: АОБНОВИТЬ_ОКНО //(новая)
Перерисовывает окно. Можно использовать, например, для обновления окна БД_РЕДАКТОР, после внешних SQL запросов к открытой таблице.
Узнать больше Вы сможете, позвонив нам +7(495) 504-66-96, 507-42-82, 368-93-11, 368-91-51