TbtkScriptApplicationObject `````````````````````````````````````````````````````````````````````` .. pas:class:: TbtkScriptApplicationObject TbtkScriptApplicationObject .. pas:attribute:: SingleSession: Boolean Свойство управляет количеством сессий приложения. Значение **True** - одна сессия, **False** - множество сессий. Использование одной сессии снижает нагрузку на сервер БД. Включить режим одной сессии можно и через параметр командной строки ``/singleSession``. :rtype: Boolean .. pas:attribute:: ApplicationLevel: Integer Уровень разработки. :rtype: Integer .. pas:attribute:: UseSecondaryIcons: Enumeration Свойство задает использование иконок уменьшенного размера на панелях выборок. :rtype: Enumeration .. pas:method:: NewApplication(AppClassName: String) Запускает новое приложение для того же пользователя. Если параметр равен пустой строке, то выдается запрос. :param String AppClassName: Системное имя приложения. .. pas:method:: SetContextParam(ParamName, ParamValue: String) Устанавливает переменной контекста текущей сессии значение. :param String ParamName: Имя переменной контекста. :param String ParamValue: Значение переменной контекста. .. pas:method:: GetContextParam(ParamName: String): String Возвращает значение переменной контекста сессии Оракла. :param String ParamName: Системное имя переменной контекста. :rtype: String Информация о приложении '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. warning:: |not_supported| .. pas:class:: .. pas:attribute:: VersionMajor: Integer Мажорная версия приложения Атрибут только для чтения :rtype: Integer .. code-block:: delphi :caption: Пример использования fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17 majorVersion := Application.VersionMajor; // 4 minorVersion := Application.VersionMinor; // 30 releaseVersion := Application.VersionRelease; // 0 milestoneVersion := Application.VersionMilestone; // 17 str := 'Полное имя версии: ' + fullVersionName + #13; str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13; str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13; str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13; str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion); ShowMessage(str); .. pas:attribute:: VersionMinor: Integer Номер минорной версии клиента. Атрибут только для чтения :rtype: Integer .. code-block:: delphi :caption: Пример использования fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17 majorVersion := Application.VersionMajor; // 4 minorVersion := Application.VersionMinor; // 30 releaseVersion := Application.VersionRelease; // 0 milestoneVersion := Application.VersionMilestone; // 17 str := 'Полное имя версии: ' + fullVersionName + #13; str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13; str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13; str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13; str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion); ShowMessage(str); .. pas:attribute:: VersionRelease: Integer Номер релизной версии клиента. Атрибут только для чтения :rtype: Integer .. code-block:: delphi :caption: Пример использования fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17 majorVersion := Application.VersionMajor; // 4 minorVersion := Application.VersionMinor; // 30 releaseVersion := Application.VersionRelease; // 0 milestoneVersion := Application.VersionMilestone; // 17 str := 'Полное имя версии: ' + fullVersionName + #13; str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13; str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13; str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13; str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion); ShowMessage(str); .. pas:attribute:: VersionBuild: Integer Номер сборки текущей версии клиента. Атрибут только для чтения :rtype: Integer .. code-block:: delphi :caption: Пример использования fullVersionName := GetApplicationVersion; // 4.30.0 milestone 17 majorVersion := Application.VersionMajor; // 4 minorVersion := Application.VersionMinor; // 30 releaseVersion := Application.VersionRelease; // 0 milestoneVersion := Application.VersionMilestone; // 17 buildVersion := Application.VersionBuild; str := 'Полное имя версии: ' + fullVersionName + #13; str := str + 'Номер мажорной версии = ' + IntToStr(majorVersion) + #13; str := str + 'Номер минорной версии = ' + IntToStr(minorVersion) + #13; str := str + 'Номер релизной версии = ' + IntToStr(releaseVersion) + #13; str := str + 'Номер промежуточной версии = ' + IntToStr(milestoneVersion) + #13; str := str + 'Номер сборки = ' + IntToStr(buildVersion ); ShowMessage(str); .. pas:attribute:: ExeName: String Имя исполняемого файла приложения. :rtype: String .. pas:attribute:: Directory: String Полный путь к исполняемому файлу приложения. :rtype: String Метаданные '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:attribute:: AdvMetaLoader: Boolean Флаг управляет способом загрузки метаданных с сервера. Если значение установлено true, то загрузка будет выполняться одним запросом архива. Если значение false, то загрузка будет осуществляться запросом на каждый тип сущностей. По умолчанию значение true. :rtype: Boolean .. deprecated:: Использовать следует :pas:attr:`MetaCache.ArchiveMode `. .. warning:: |not_implemented| .. pas:attribute:: CacheMeta: Boolean Флаг включает/отключает использование КЭШа под метаданные. :rtype: Boolean .. deprecated:: Использовать следует :pas:attr:`MetaCache.Active `. .. pas:method:: SaveCachedSelectionList() Сохранение во временном каталоге пользователя списка выборок, кеш метаданных которых присутствует в дисковом кеше метаданных. Сохраняется в файл с названием в виде имени сервера к которому подключено приложение. Сохраняется в каталоге ``%ВременнаяПапкаПользователя%\GlobalSystem\MetaDataCache\`` .. deprecated:: Использовать следует :pas:meth:`MetaCache.SaveCachedSelectionList `. .. warning:: |not_implemented| .. pas:method:: LoadCachedSelectionList() Загружает метаданные с сервера по списку выборок сформированному с помощью метода SaveCachedSelectionList и сохраняет в дисковом кеше. .. deprecated:: Использовать следует :pas:meth:`MetaCache.LoadCachedSelectionList `. .. warning:: |not_implemented| .. pas:attribute:: AdvMetaCheckVersion: Boolean Свойство сообщает выполняется ли в данном сеансе проверка версии метаданных при загрузке кеша. Значение зависит от: Включен режим загрузки метаданных архивом и База данных поддерживает работу с версиями метаданных (первый же не отработавший запрос версии выставляет внутренний флаг "Версионность метаданных не поддерживается", флаг будет активен до самого завершения работы приложения). Атрибут только для чтения. :rtype: Boolean .. deprecated:: Использовать следует :pas:attr:`MetaCache.CheckVersionActive `. .. warning:: |not_implemented| .. pas:attribute:: AutoCompleteFlatTables: Boolean Позволяет установить режим "Автоподготовка к работе из приложения" :rtype: Boolean .. pas:attribute:: FlatTables: Boolean Флаг определяет, использовать ли загрузку из плоских таблиц для приложения. :rtype: Boolean Выборки '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:attribute:: MainSelection: TbtkScriptSelectionObject Метод возвращает ссылку на главную выборку приложения. :rtype: TbtkScriptSelectionObject .. pas:method:: FindFormBySelection(): TbtkScriptFormObject Метод ищет окно по системному имени главной выборки, среди всех MDI окон приложения. :rtype: TbtkScriptFormObject .. code-block:: delphi :caption: Пример использования svSelName := 'SelectionName.Representation'; AForm := Application.FindFormBySelection(svSelName); if Assigned(AForm) then AForm.BringToFront; else CreateForm('', svSelName, fcfMDI); .. pas:method:: GetSelectionById(): TbtkScriptSelectionObject Ищет выборку среди всех выборок приложения по ID-выборки :rtype: TbtkScriptSelectionObject .. warning:: |not_supported| Служба оповещения '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:method:: StopAlerter() Останавливает службу оповещений .. pas:method:: RunAlerter() Метод запускает службу оповещений. .. pas:attribute:: ShowAlertPopWindow Метод определяет показывать или нет всплывающее окно с тестом сообщения полученного системой оповещения в нижнем левом углу. Свойство влиет только на сообщения с меткой критичности **Normal**. На сообщения повышенной критичности свойство не распространяется. .. warning:: |not_implemented| Визуальные компоненты '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:attribute:: AutoFilter: Boolean Свойство задает наличие автофильтра в спиках. :rtype: Boolean .. warning:: |not_implemented| .. pas:attribute:: MultilineWindowTabs: Boolean Отображать закладки окон в несколько строк. :rtype: Boolean .. code-block:: delphi :caption: Пример использования Application.MultilineWindowTabs := not Application.MultilineWindowTabs; Selection.Operation.Checked := Application.MultilineWindowTabs; .. warning:: |not_supported| .. pas:attribute:: ShowAutoFilterInSelectedColumn: Boolean Свойство задает видимость автофильтра только для колонки на шапку которой наведен указатель мыши. Если свойство выключить, то автофильтр будет видно для всех колонок постоянно, без наведения указателя мыши на шапку колонки списка. :rtype: Boolean .. warning:: |not_implemented| .. pas:attribute:: ShowTitle: Boolean Отображать заголовок приложения. :rtype: Boolean .. warning:: |not_supported| .. pas:attribute:: ShowToolBar: Boolean Отображать тулбар. :rtype: Boolean .. pas:attribute:: ShowMainMenu: Boolean Отображать главное меню приложения. :rtype: Boolean .. pas:attribute:: ShowNavBar: Boolean Свойство управляет видимостью NavBar'a на главной форме. :rtype: Boolean .. code-block:: delphi :caption: Пример использования Application.ShowNavBar := 1; // Отображает NavBar Application.ShowNavBar := 0; // Скрывает NavBar .. pas:attribute:: ShowModernHeaders: Boolean Отображать широкий заголовок фреймов. :rtype: Boolean .. seealso:: Настройка фрейма :btk:frameprop:`Header.ModernStyle`. .. warning:: |not_implemented| .. pas:attribute:: ShowSplitterButton: Boolean Показывать ли кнопки на сплиттерах. По умолчанию **False**. :rtype: Boolean .. warning:: |not_implemented| .. pas:attribute:: ShowStatusBar: Boolean Свойство задает флаг, отображать или нет панель статуса внизу главного окна. :rtype: Boolean .. warning:: |not_implemented| .. pas:attribute:: ShowMDIWindowList: Boolean Свойство включает/выключает список открытых окон внизу главного окна приложения. :rtype: Boolean .. warning:: |not_implemented| Управление окнами '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:method:: Windows: TbtkScriptApplicationWindowsNamespace Пространство имен для работы с окнами. :rtype: TbtkScriptApplicationWindowsNamespace .. pas:method:: CloseAllTabs .. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinForms` .. warning:: |not_supported| .. pas:method:: CloseAllTabsButThis .. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.CloseAllBuiltinFormsExceptCurrent` .. pas:method:: NewApplication Запускает новое приложение для того же пользователя. Если параметр равен пустой строке, то выдается запрос .. pas:method:: Terminate() Метод выполняет безусловное закрытие приложения, вне зависимоти от существования открытых окон. .. pas:method:: Close() Вызов метода аналогичен нажатию на кнопку закрытия окна (в верхнем правом углу). Перед закрытием приложения, если есть открытые окна, будет задан запрос на подтверждение закрытия приложения. .. pas:method:: GetActiveMDIWindow(): TbtkScriptFormObject Возвращает активное MDI окно. :rtype: TbtkScriptFormObject .. code-block:: delphi :caption: Пример использования FormMDI := Application.GetActiveMDIWindow(); .. deprecated:: Используйте :pas:meth:`TbtkScriptApplicationWindowsNamespace.GetActiveBuiltinForm` .. pas:method:: CloseClicked .. pas:attribute:: HighLightActiveControl: Boolean Свойство включает/выключает выделение активного контрола. :rtype: Boolean Оформление '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:attribute:: NavBarStyle: Integer Свойство управляет стилем NavBar'oв. Возможные значения в Диапазоне *[0 .. 13]*. :rtype: Integer .. pas:method:: ConfigureNavBarStyle() Метод открывает диалог выбора стиля NavBar'a и применяет изменения, если была нажата кнопка **OK** .. code-block:: delphi :caption: Пример использования Application.ConfigureNavBarStyle; .. warning:: |not_implemented| .. pas:method:: SelectNavBarStyle(AcurStyle: Integer): Integer Метод открывает диалог выбора стиля NavBar'a. Метод возвращает номер выбранного стиля NavBar'a. Если стиль не был выбран, будет возвращено значение *AcurStyle* :param Integer AcurStyle: Текущий стиль NavBar'a. :rtype: Integer .. code-block:: delphi :caption: Пример использования curnvb := Application.NavBarStyle; nvb := Application.SelectNavBarStyle(curnvb); if nvb <> curnvb then Application.NavBarStyle := nvb; .. pas:attribute:: SkinName: String Имя темы интерфейса. :rtype: String .. deprecated:: Следует использовать :pas:attr:`TbtkScriptSkinControllerObject.ActiveSkinName`. .. warning:: |not_supported| .. pas:attribute:: SkinController: TbtkScriptSkinControllerObject Свойство предоставляет средства для переключения темы и стиля интерфейса приложения. :rtype: TbtkScriptSkinControllerObject .. warning:: |not_supported| .. pas:attribute:: LookAndFeel: TbtkScriptApplicationObject Стиль отображения элементов интерфейса. :rtype: TbtkScriptApplicationObject .. deprecated:: Следует использовать :pas:attr:`TbtkScriptSkinControllerObject.LookAndFeel`. .. warning:: |not_implemented| Звуки '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:method:: SoundManager .. warning:: |not_supported| Последовательный порт '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:method:: GetSerialPort(PortName: String): TbtkScriptSerialPortObject Функция возвращает объект последовательного порта. Если объект не существует, то создает и возвращает, если объект уже создавался, то возвращает ранее созданный. :param String PortName: Имя порта. :rtype: TbtkScriptSerialPortObject .. code-block:: delphi :caption: Пример использования // Листинг тестовой операции: ComPortName := GetVar('sSerialPortName'); SerialPort := Application.GetSerialPort(ComPortName); // ComPortName = 'COM3' SerialPort.Open; dcb := SerialPort.GetDCBProperties; dcb.BaudRate := CBR_19200; dcb.ByteSize := 8; dcb.Parity := NOPARITY; dcb.StopBits := ONESTOPBIT; SerialPort.SetDCBProperties(dcb); timeouts := SerialPort.GetCOMMTimeouts; timeouts.ReadIntervalTimeout := 50; timeouts.ReadTotalTimeoutConstant := 40; timeouts.ReadTotalTimeoutMultiplier := 40; timeouts.WriteTotalTimeoutConstant := 40; timeouts.WriteTotalTimeoutMultiplier := 40; SerialPort.SetCOMMTimeouts(timeouts); SerialPort.RegisterHandler(Selection.OperationByName('OnComPortReaded') ); // Листинг операции-обработчика OnComPortReaded: SerialPort := Application.GetSerialPort(PortName); ShowMessage(SerialPort.Data); Перехват клавиатуры '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. pas:class:: .. pas:method:: HookKeyboardKeyDownEvent(Operation: TbtkScriptOperationObject) Установить перехватчик. В параметре *Operation* необходимо указать операцию обратного вызова. Данная операция будет вызываться при каждом нажатие клавиш клавиатуры. Перехватчик можно снять с помощью ``UnHookKeyboardKeyDownEvent``, либо будет снять автоматически при выгрузке метаданных. В приложение можно одновременно установить не более одного перехватчика на нажатие клавиш. При попытке установить перехватчик при уже установленном будет возбуждено исключение. Операция-обработчик вызывается с аргументами в которых передается информация о нажатой клавише: VirtualKey код виртуальной клавиши `MSDN `__ Char виртуальный код преобразованный в символ клавиатуры(Сканкод) ShiftState состояние зажатых модификаторов типа TShiftState. Handled флаг в который можно вернуть результат обработки нажатия. По умолчанию **False** - это значит, что нажатие клавиши будет передано следующим обработчикам. **True** - нажатие обработано, и другим обработчикам передавать обработку нажатия не надо. В этом случае контролы ни как не узнают о срабатывания клавиши. :param TbtkScriptOperationObject Operation: Операция обработчик. .. code-block:: delphi :caption: Пример операции-обработчика args.Validate(['VirtualKey','Char','ShiftState', 'Handled']); str := Format('VK: %s; Char: %s; CTRL: %s; SHIFT: %s;ALT:%s;', [IntToStr(args.VirtualKey), args.Char, IntToStr(GetShiftState(ssCTRL)), IntToStr(GetShiftState(ssSHIFT)), IntToStr(GetShiftState(ssALT))]); SetVar('Caption', str); args.Handled := true; .. warning:: |not_supported| .. pas:method:: UnHookKeyboardKeyDownEvent() Снять перехват нажатий клавиатуры. .. warning:: |not_supported| Отладочные методы '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' .. caution:: Отладочные методы следует использовать только в отладочных целях, они могут негативно сказываться на работе клиента. .. pas:method:: ProcessMessages_OnlyForService Обрабатывает очередь сообщений приложения. .. warning:: |not_supported|