Internal prebuild Library
===============================
.. currentmodule:: InternalLibrary
.. py:module::InternalLibrary
:synopsis: Базовы типы и методы достпные без подключения методов.
Доступ к объектам сущностей фреймворка
----------------------
.. py:data:: Selection
Доступ к объекту выборки текущего контекста. Возвращает объект класс :class:`TbtkScriptSelectionObject`
Методы модуля
--------------
.. py:method:: CreateReportForm (ASelWithTemplate, AFieldWithTepmlate, AExtention, ATemplateFileName, AAction, ASelectionName, AOpenStyle)
Альтернативный метод создания отчёта. В него необходимо передавать выборку с шаблоном отчёта или имя файла.
:param TbtkScriptSelectionObject ASelWithTemplate: выборка с шаблоном отчета.
:param String AFieldWithTepmlate: Имя поля в выборке SelWithTemplate, в котором находится шаблон отчёта.
:param String AExtention: Расширение файла-шаблона, находящегося в базе.
:param String ATemplateFileName: Имя файла-шаблона находящегося на жестком диске.
:param TReportVieMode AAction: Действие, которое необходимо произвести после заполнения отчёта. Может иметь следующие значения: *rvmShow* – открыть отчёт на просмотр *rvmSave* – сохранить отчёт на жесткий диск (при этом будет запрошено имя файла), *rvmPrint* – напечатать отчёт.
:param String ASelectionName: *Устаревший параметр, не используется, в качестве параметра передавайте пустую строку.* Системное имя выборки, операции которой будут отображены на панели задач фрейма, при просмотре отчёта. Если параметр не указан, на панели задач будут отображены операции выборки, из которой было вызвано создание отчёта.
:param TFormCreationFlags AOpenStyle: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
.. _ref_chapter_file_system_navigation:
Навигация по файловой системе
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:method:: AskFileNameForOpen ()
.. py:method:: AskFileNameForSave ()
.. py:method:: AskFileNamesForOpen ()
.. py:method:: AskFolderName ()
.. py:method:: AskImageFileNameForOpen ()
.. py:method:: AskImageFileNameForSave ()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:method:: ShellExec (FileName, Parameters, AWait, ChoiseMode)
Запускает на выполнение файл средствами ОС Windows.
:param string FileName: полное имя открываемого или исполняемого файла.
:param string Parameters: параметры командной строки, передаваемые исполняемому файлу.
Передача параметров поддерживается только при запуске исполняемого файла, в противном
случае генерируется исключение.
:param Boolean Wait: флаг, задающий ожидание закрытия файла - открыть модально.
:param TbtkFileChoiseMode ChoiseMode: Режим выбора приложения для открытия файла. Необязателен - по умолчанию *fcmByExtensionOrDialog*.
TbtkFileChoiseMode
- *fcmByExtension* - приложение которым будет открыт файл выбирается согласно существующих настроек
в системе.
- *fcmByExtensionOrDialog* - расширяет возможности значения *fcmByExtension*, если расширению файла
не сопоставлено никакого приложения, то будет открыт диалог выбора приложения.
- *fcmAlwaysWithDialog* - всегда предлагать пользователю выбрать приложение, вне зависимости от
существующих в системе настроек.
.. note::
На ОС Windows 8+ метод может вызвать исключение EbtkFileWatcherException в случае, если файл открыт средством просмотра документов (фотографий) в модальном режиме. Шаблон обработки этого исключения см. в примерах.
.. note::
Режим ожидания закрытия файла в случае указания AWait = True
определяется автоматически. Если при открытии создается новый процесс,
то ожидается завершение этого процесса. Если же процесса не
создается, то ожидание происходит по критерию занятости файла внешней
программой. Ручное задание этого режима предусмотрено в методе
:class:`TbtkScriptSelectionObject.BlobOpenEx2`.
.. code-block:: delphi
try
ShellExec('..\test.txt', ", True, fcmAlwaysWithDialog);
except
if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then
raise(LastExceptionMessage);
end;
.. py:method:: ShellExecute ()
Выполняет указанное действие (*Operation*) над файлом средствами ОС Windows.
:param string Operation: действие, которое необходимо выполнить над указанным файлом (или папкой).
- 'edit' - открыть документ на редактирование;
- 'explore' - открыть указанный каталог;
- 'open' - открыть файл, либо запустить исполняемый файл, либо открыть каталог;
- 'print' - отправить файл на печать.
:param string FileName: полное имя открываемого или исполняемого файла.
:param string Parameters: параметры командной строки, передаваемые исполняемому файлу.
Передача параметров не предполагается, если файл не исполняемый, в этом
cлучае генерируется исключение.
:param TbtkFileChoiseMode ChoiseMode: Режим выбора приложения для открытия файла. Необязателен - по умолчанию *fcmByExtensionOrDialog*.
.. code-block:: delphi
:caption: Пример использования ShellExecute
//Открыть текстовый документ на просмотр. Будет показан диалог выбора приложения
ShellExecute('open', '...\test.txt', ", fcmAlwaysWithDialog);
.. code-block:: delphi
:caption: Пример использования ShellExecute
//Распечатать текстовый документ
ShellExecute('print', '...\test.txt', ");
.. code-block:: delphi
:caption: Пример использования ShellExecute
//Открыть текущий каталог в Explorer-е
ShellExecute('explore', '.\', ");
.. py:method:: LoadFromFileToBlob ()
.. py:method:: SaveBlobToFile ()
.. py:attribute:: TestApp
Возвращает объект класса :class:`TbtkScriptTesterObject`, реализующий методы для работы с тестируемым приложением Global.
Классы модуля
----------------------------------
TbtkScriptSelectionObject
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptSelectionObject
Скриптовый класс реализует доступ к сущности `Выборка`. Создание объекта этого класса приведет к создание выборки без визуального отображения.
.. py:method:: SetVar(Name, Value)
Устанавливает значение параметра.
:param string Name: Имя параметра
:param variant Value: Значение параметра
.. seealso::
Подробнее о параметрах в :ref:`selection-params-label` .
.. py:method:: GetVar(Name)
Возвращает значение параметра выборки по имени атрибута Name.
:param string Name: Имя параметра
:return: Значение параметра
:rtype: TbtkScriptControllerObject
.. seealso::
Подробнее о параметрах в :ref:`selection-params-label` .
.. py:attribute:: Controller
Возвращает объект класса :class:`TbtkScriptControllerObject` по работе с GUI редактором выборки.
.. py:attribute:: OleContainer
Возвращает объект класса :class:`TOleContainer`.
.. py:method:: PivotGrid
Возвращает объект класса :class:`TbtkScriptPivotGridObject`.
.. py:method:: CreateLobLocator()
Создаёт объект локатора привязанный к сессии данной выборки.
:rtype: TbtkScriptOraLobLocator
.. py:method:: CreateReport (ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag)
Генерирует отчет по его системному имени и дате, по которой будет найдена актуальная версия шаблона.
:param String AReportName: Cистемное имя отчёта.
:param TDateTime AReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
:param TReportViewMode AAction: Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
:param Boolean AShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
:param String AOpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
:param TFormCreationFlags AStyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
.. py:method:: CreateReportEx (ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)
Генерирует отчёт по его системному имени и дате, по которой будет найдена актуальная версия шаблона. Метод представляет рассширенную версию метода CreateReport.
:param String AReportName: Cистемное имя отчёта.
:param TDateTime AReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
:param TReportViewMode AAction: Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
:param Boolean AShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
:param String AOpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
:param TFormCreationFlags AStyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
:param Array AParamNames: Массив имен параметров отчета.
:param Array AParamValues: Массив значений параметров AParamNames отчета.
.. py:method:: AsyncExecOpScript
Асинхронный вызов операции
:param String AOperationName: Имя операции
.. py:method:: ExecOpScript
Выполняет операцию выборки
:param String OpName: Имя операции в текцщей выборке
.. py:method:: BlobOpen
Запускает приложение, ассоциированное с расширением Extension, передает ему данные из поля выборки FieldName и, если Wait=true, то ожидает завершения запущенного приложения, после чего сохраняет или нет (в зависимости от параметра Save) обратно в БД. Возвращает true если изменения в файле были сохранены в поле.
:param Varant AFieldName: Имя поля
:param Variant AExtension: Расширение файла (с точкой впереди)
:param Variant AWait: Ожидать ли завершения запущенного приложения.
:param Variant ASave: Имеет смысл только если параметр Wait=true. Сохранять ли файл в БД если он был изменен: stTrue – сохранить stFalse – не сохранять
.. py:method:: BlobOpenEx
Добавлена возможность открывать на редактирование файлы хранящиеся в blob-полях в немодальном режиме. В не модальном режиме файл можно открыть использую метод BlobOpenEx. После завершения приложения будет вызвана операция выборки. Операция выборки вызовется только в случае если файл был изменён. Возвращает true если изменения в файле были сохранены в поле.
:param Varant AFieldName: Имя поля типа blob с файлом.
:param String AFileName: Имя файла. Можно передать:
#. Полный путь к файлу (C:\Temp\picture.jpg);
В случае, если такой файл уже существует, то будет возбуждено исключение.
#. Имя файла (picture.jpg), тогда приложение попытается создать файл с таким именем во временном каталоге пользователя;
#. Расширение файла (.jpg) - приложение попытается создать файл с уникальным именем и указанным расширением во временном каталоге пользователя.
:param TbtkScriptSelectionObject ASelection: Выборка в которой будет вызвана операция на событие завершение редактирования файла
:param String AOperation: Имя операции которая будет вызвана при завершении редактирования файла
:param TbtkWatcherMode Amode: Режим открытия файла:
- **wmProcess** - Определение того, что файл редактируется, производится на основе существования процесса приложения открывшего его. Как только процесс завершается, делается вывод, что редактрование завершено. Данный режим обладает недостатком. Если приложение(например MS Word) для открытия нескольких файлов использует один и тот же процесс, то процесс завершится после закрытия всех открытых файлов, чего следует избегать, и , по возможности, использовать следующий режим;
- **wmFile** - Определение того, что файл редактируется, производится на основе того, что многие прилоежния занимают файл при открытии, недопуская его открытия на редактирование другим приложением. Но данный способ применим не ко всем приложениям (Например, приложение "Блокноте" не запрещает редатировать файл при открытии другим приложения).
- **wmAuto** - авто-определения режима. В случае, если при вызове уже не запущен процесс приложения которым следует открыть файл, то будет выбран режим wmProcess , иначе режим wmFile.
.. py:method:: BlobOpenEx2(FieldName, FileName, Selection, Operation, Mode, AModal, ExecOperOnClose, ChoiseMode)
Метод позволяет открывать на редактирование файлы хранящиеся в blob полях в не модальном режиме и
модальном режиме, объединяя возможности :class:`InternalLibrary.TbtkScriptSelectionObject.BlobOpen` и
:class:`InternalLibrary.TbtkScriptSelectionObject.BlobOpenEx`. После завершения приложения открывшего
файл будет вызвана операция выборки. Операция выборки вызовется только в случае если файл был измен
или установлен флаг *ExecOperOnClose*. В выборку вызываемой операции будет добавлено два параметра
выборки(получить значение можно функцией GetVar) "EditedFileName" - полное имя отредактированного
файла, и "FileChanged" - был ли изменён документ или нет (значение Boolean).
:param string FieldName: Имя поля или значения контекста выборки
(см. :class:`InternalLibrary.TbtkScriptSelectionObject.AddVar`) типа blob с файлом.
:param string FileName: Имя файла.
- Полный путь к файлу (C:\\Temp\\picture.jpg);
В случае, если такой файл уже существует, то будет возбуждено
исключение.
- Имя файла (picture.jpg), тогда приложение попытается создать файл
с таким именем во временном каталоге пользователя;
- Расширение файла (.jpg) - приложение попытается создать файл с
уникальным именем и указанным расширением во временном каталоге
пользователя.
:param TbtkScriptSelectionObject Selection: Скриптовый объект выборки из которой будет
вызвана операция из параметра *Operation*.
:param string Operation: Имя операции из выборки ASelection которая будет вызвана на закрытие
приложения, при условии что файл был изменен.
:param TbtkWatcherMode Mode: Режим открытия файла:
- *wmProcess* - Определение того, что файл редактируется,
производится на основе существования процесса приложения
открывшего его. Как только процесс завершается, делается вывод,
что редактирование завершено. Данный режим обладает недостатком.
Если приложение(например MS Word) для открытия нескольких файлов
использует один и тот же процесс, то процесс завершится после
закрытия всех открытых файлов, чего следует избегать, и , по
возможности, использовать следующий режим;
- *wmFile* - Определение, что файл редактируется производится на
основе того, что многие прилоежния занимают файл при открытии,
недопуская его открытия на редактирования другим приложением. Но
данный подход применим не ко всем приложениям(Например, приложение
"Блокнот" не запрещает редатировать файл при открытии другим
приложением).
- *wmAuto* - авто-определение режима. В случае, если при вызове
запущен процесс приложения которым следует открыть файл, то будет
выбран режим wmProcess , иначе режим *wmFile*.
:param Boolean AModal: Флаг задает модальный режим открытия файла.
:param Boolean ExecOperOnClose: Не обязательный параметр, по умолчанию значние False. Вызывает
операцию выборки, независимо от того был документ изменён или нет.
:param TbtkFileChoiseMode ChoiseMode: Режим выбора приложения для открытия файла. Необязателен - по
умолчанию *fcmByExtensionOrDialog*.
TbtkFileChoiseMode
- *fcmByExtension* - приложение которым будет открыт файл выбирается согласно существующих настроек
в системе.
- *fcmByExtensionOrDialog* - расширяет возможности значения *fcmByExtension*, если расширению файла
не сопоставлено никакого приложения, то будет открыт диалог выбора приложения.
- *fcmAlwaysWithDialog* - всегда предлагать пользователю выбрать приложение, вне зависимости от
существующих в системе настроек.
.. note::
Если при открытии через :class:`BlobOpenEx2` используется режим открытия *wmFile* -
режим при котором приложение занимает файл на время работы с ним, то
могут возникать нюансы:
- Некоторые приложения занимают файл не сразу после вызова и нужно время
чтобы дать приложению открыться и занять файл. По умолчанию дается 15 секунд.
Если приложение заняло файл быстрее, чем за 15 секунд, то начинается отслеживание
когда приложение освободит файл. Если же приложение не заняло файл, то через 15 секунд
будет вызвана операция-обработчик извещающая о том, что работа с файлом завершена.
- Приложение может не занять файл, если открывает его в режиме только на чтение, так сделает,
например, MS Excel когда открывает потенциально опасный файл в защищенном режиме.
.. warning::
На ОС Windows 8+ метод может вызвать исключение *EbtkFileWatcherException*
в случае, если файл открыт средством просмотра документов (фотографий) в
модальном режиме или с CallBack-операций. Шаблон обработки этого
исключения см. в примере ниже.
.. code-block:: delphi
:caption: Пример
[out blobe]
begin select t.blobfile into :blob from btk_attach t where t.id = 2890001; end;
Selection.AddVar('blob', null, ftOraBlob);
ExecSQL('func');
try
Selection.BlobOpenEx2('blobe', GetTempFileName('','.doc'), Selection , '' ,wmAuto, true);
except
if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then
raise(LastExceptionMessage);
end;
Selection.SetVar('blobe', null); //Освободить память от блоба.
.. py:method:: DownloadFile (FieldName, FileName)
Метод сохраняет содежимое поля типа :term:`Blob`, в файл на жёстком диске.
:param string FieldName: Имя поля выборки. Содержимое поля будет сохранено на диск.
:param string FileName: Имя файла, или полный путь к файлу, куда следует сохранить :term:`Blob`.
.. note::
Если *FileName* не задан, или равен пустой строке, или содержит
краткое имя файла, открывается диалог сохранения файла с возможностью
выбора каталога и имени нового файла.
.. py:method:: UploadFile (FieldName)
Метод загружает файл с жёсткого диска пользователя в поле (:term:`Blob`) выборки.
Возвращает полное имя загруженного файла. В случае отмены действия возвращает пустую
строку. Выбор файла для загрузки выполняется с помощью диалога открытия файла.
:param string FieldName: Имя поля выборки куда будет загружен файл.
.. py:method:: SelectedRecordsCount
Количество выделенных записей.
:rtype: Integer
.. py:method:: SelectedValue (FieldIndex, Index)
Значение выделенной записи по индексу поля.
:param Integer FieldIndex:
Индекс поля.
:param Integer Index:
Номер выделенной записи.
:rtype: Variant
.. py:method:: SelectedValuebyName (FieldName, Index)
Значение выделенной записи по имени поля.
:param String FieldName:
Имя поля.
:param Integer Index:
Номер выделенной записи.
:rtype: Variant
.. py:method:: DoLookup (ALookupControlClass, AEntityName, ALocateFieldNames, ALocateFieldValues, AResultFieldNames, AMultiSelect)
Отображает выборку в режиме выбора (в lookup-форме) и возвращает результат в виде
набора записей :class:`InternalLibrary.ILookupData`.
:param String ALookupControlClass:
Имя класса формы.
:param String AEntityName:
Системное имя выборки (если пусто, то определяется вызываемой формой).
:param Array ALocateFieldNames:
Массив имен атрибутов выборки по которым ищется запись для начального позиционирования.
:param Array ALocateFieldValues:
Массив значений для LocateFieldNames.
:param Array AResultFieldNames:
Массив имен атрибутов выборки, значения которых будут возвращены как результат.
В случае, если необходимо вернуть значение атрибута из детальной выборки,
в качестве массивов имен атрибутов передаются имена состоящие из: [имя выборки].[имя поля].
:param Boolean AMultiSelect:
Возможен ли выбор нескольких записей из выборки.
:rtype: ILookupData
.. py:method:: DoLookupEx (ALookupControlClass, AEntityName, ALocateFieldNames, ALocateFieldValues, AResultFieldNames, AMultiSelect, APropNames, APropValues)
Отображает выборку в режиме выбора (в lookup-форме) и возвращает результат в виде
набора записей :class:`InternalLibrary.ILookupData`.
:param String ALookupControlClass:
Имя класса формы.
:param String AEntityName:
Системное имя выборки (если пусто, то определяется вызываемой формой).
:param Array ALocateFieldNames:
Массив имен атрибутов выборки по которым ищется запись для начального позиционирования.
:param Array ALocateFieldValues:
Массив значений для LocateFieldNames.
:param Array AResultFieldNames:
Массив имен атрибутов выборки, значения которых будут возвращены как результат.
В случае, если необходимо вернуть значение атрибута из детальной выборки,
в качестве массивов имен атрибутов передаются имена состоящие из: [имя выборки].[имя поля].
:param Boolean AMultiSelect:
Возможен ли выбор нескольких записей из выборки.
:param Array APropNames:
Массив имен свойств.
:param Array APropValues:
Массив значений свойств.
:rtype: ILookupData
.. py:method:: CreateForm (AFormName, AEntityName, AFormType)
:param String AFormName:
Имя формы.
:param String AEntityName:
Имя выборки которая будет показана на форме.
:param TFormCreationFlags AFormType:
Определяет как будет показана форма.
:rtype: TModalResult
.. py:method:: CreateFormEx (AFormName, AEntityName, AFormType, APropNames, APropValues)
:param String AFormName:
Имя формы.
:param String AEntityName:
Имя выборки которая будет показана на форме.
:param TFormCreationFlags AFormType:
Определяет как будет показана форма.
:param Array APropNames:
Массив имен параметров.
:param Array APropValues:
Массив значений параметров.
:rtype: TModalResult
TFormCreationFlags
~~~~~~~~~~~~~~~~~~~
.. py:class:: TFormCreationFlags
.. py:attribute:: fcfMDI
.. py:attribute:: fcfModal
TModalResult
~~~~~~~~~~~~~~~~~~~
.. py:class:: TModalResult
.. py:attribute:: mrAbort
.. py:attribute:: mrAll
.. py:attribute:: mrCancel
.. py:attribute:: mrNo
.. py:attribute:: mrNone
.. py:attribute:: mrNoToAll
.. py:attribute:: mrOk
.. py:attribute:: mrRetry
.. py:attribute:: mrYes
.. py:attribute:: mrYesToAll
ILookupData
~~~~~~~~~~~~
.. py:class:: ILookupData
Информация о выбранных записях в lookup-форме.
.. py:attribute:: LookupResult
Результат выбора записей в lookup-форме.
:rtype: TLookupResult
.. py:attribute:: RecCount
Суммарное (по всем выборкам указанным в **ResultFieldNames** и в системной выборке **EntityName**)
количество записей, выбранных пользователем. Если массив **ResultFieldNames** пустой то количество
записей всегда равно 0.
:rtype: Integer
.. py:method:: Data (AttrNo, RecNo)
Возвращает значение поля.
:param Integer AttrNo:
Номер поля.
:param Integer RecNo:
Номер записи.
.. note::
Нумерация полей с начинается **0**, а записей с **1**.
TLookupResult
~~~~~~~~~~~~~
.. py:class:: TLookupResult
Результат выбора записей в lookup-форме.
.. py:attribute:: lrOk
.. py:attribute:: lrCancel
TbtkScriptControllerObject
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptControllerObject
Класс реализующий интерфейс взаимодействия с выборой посредством GUI контрола.
.. py:method:: SetFocus()
Перевод фокуса ввода на оконный элемент выборки.
.. py:method:: BeginDrag(Immediate, Threshold)
Процедура запускает перетаскивание объекта на котором удерживается
нажатый указатель мыши. Данную процедуру следуют использовать только
из операции триггера **onCanDragObject**, если свойством фрейма
**DragAndDropRows.DragMode** задан ручной режим перетаскивания.
:param Boolean Immediate:
Если данный параметр установлен в **True**, то
режим перетаскивания будет включен незамедлительно, сразу по
нажатию на кнопку мыши, иначе режим перетаскивания включится
только после смещение указателя на кол-во пикселей указанное в
параметре **Threshold**
:param Integer Threshold:
количество пикселей, на которое необходимо
сдвинуть чтобы началось перетаскивание объекта.
.. seealso::
:ref:`frames-dragdrop`
.. py:method:: SetDropAsChild(AValue)
Метод можно использовать в операции **OnDragDrop**, в случае если используется
режим автоматического переноса записей (**DragAndDropRows.AutoDropTo**) то
с помощью этого метода можно определить как перенести запись, как
потомка относительно записи на которую перетаскиваем, или на тот же
уровень. Метод действует только на один перенос, после чего значение
**DropAsChild** сбрасывается (вызов надо делать перед каждым бросанием).
По умолчанию запаись перемещается в список потомков.
:param Boolean AValue:
.. seealso::
:ref:`frames-dragdrop`
.. py:attribute:: DragObject
Свойство возвращает источник, который инициировал перетаскивание. Тип
источника :class:`TbtkScriptSelectionObject`. Перед использованием
:class:`TbtkScriptControllerObject.DragObject` следует проверить его с использованием функции
**Assigned**. Использовать данное свойство можно из операций-триггеров
**OnDragOver** и **OnDragDrop**. **OnDragOver** вызывается при перемещении
указателя в состоянии «перетаскивание».
.. seealso::
:ref:`frames-dragdrop`
:rtype: TbtkScriptSelectionObject
.. py:attribute:: AcceptDragObject
Свойство определяет возможность «принятия» перетаскиваемого объекта объектом,
над которым находится указатель мыши. Использовать данное свойство
следует использовать в операции–триггере **OnDragOver**, которая
вызывается автоматически при перемещении указателя в режиме
«перетаскивание».
.. seealso::
:ref:`frames-dragdrop`
:rtype: Boolean
.. py:attribute:: DragRecord
Ссылка на обёртку записи списка или дерева, либо элемента диаграммы,
над которой находится курсор мыши.
Свойство следует использовать в операциях–триггерах **onDragDrop** и **onDragOver**.
.. note::
Для диаграммы возвращается обёртка на запись выборки **SEL_BTD_OBJECT.OBJECTSOFDIAGRAM**.
При этом доступно только поле с именем **id**.
Для дерева и списка все поля возвращаемой записи соответствуют полям записи их выборки.
.. versionadded:: 5.4.0.3745
Возможность перетаскивания на диаграмму.
.. seealso::
:ref:`frames-dragdrop`
:rtype: TbtkScriptRecordObject
TbtkScriptRecordObject
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptRecordObject
Обёртка для записи.
.. py:method:: ValueByName(AName)
Возвращает значение ячейки по имени поля.
:param String AName:
:rtype: Variant
.. py:attribute:: Values(AIndex)
Возвращает значение ячейки по индексу.
:param Integer AIndex:
:rtype: Variant
TbtkScriptOraLobLocator
~~~~~~~~~~~~~~~~~~~~~~~
.. class:: TbtkScriptOraLobLocator
Вспомогательный класс для прямой работы с :term:`lob-локатор`-ами на сервере. Класс хранит идентификатор
локатора на сервере(Handle предоставляемый OCI) и предоставляет набор методов для работы с ним.
Для работы с экземплярами данного класса при передаче в запросы следует использовать тип ``ftOraLobLocator``.
Главной отличительной особенностью работы с блобами через локатор является тот факт что чтение/запись осуществляются
без кеширования - потоково. Это снимает ограничение на количество данных со стороны клиента. Прочие же способы работы
с блобами ограничены объёмом доступной оперативной памяти.
Методы загрузки/сохранения работающие с файлом (:class:`LoadFromFile`, :class:`SaveToFile`) ограничений по объёму не имеют.
Методы же :class:`WriteData` и :class:`ReadData` ограничены доступным объёмом оперативной памяти, т.к. работают с Variant-массивом
хранящимся в памяти приложения; реализованы для совместимости с ранее имевшимися методами работы с блобами, такими как :class:`LoadFromFileToBlob`.
.. note::
* Время жизни экземпляра lob-локатора управляется счётчиком ссылок.
* Экземпляр lob-локатора всегда привязан к одной конкретной сессии в рамках которой он был создан,
если сессия закрыта, то возможность обратиться к клиентскому экземпляру остаётся валидной, но попытки
оперировать данными на сервере будут возвращать cоответствующую ошибку. Если не известно состояние
серверного объекта - следует проверять свойство :class:`IsInit`.
.. py:method:: LoadFromFile(AFileName)
Загрузить содержимое файла на сервер
:param String AFileName:
.. py:method:: SaveToFile(AFileName)
Скачать данные с сервера. Сохранить данные в указанный файл.
:param String AFileName:
.. py:method:: ReadData()
Скачать данные с сервера. Данные будут размещены в памяти скриптера в виде Variant-массива байт
:rtype: Variant
:returns: Variant-массив байт
.. py:method:: WriteData(AData)
Загрузить данные на сервер. В качестве данных используется Variant-массив байт в памяти скриптера.
:param Variant AData: Массив данных полученный одним из Blob-методов или методом :class:`ReadData`.
.. py:method:: CreateTemporary()
Создать временный объект на сервере. Требуется для отправки данных на сервер.
.. py:attribute:: Length
Количество байт в данном курсоре.
:rtype: Integer
.. py:attribute:: IsInit()
Проверить инициализирован ли данный локатор, имеется ли связь с объектом на сервере. Свойство корректно
отработает как в случае когда объект не связан с данными на сервере (не инициализирован), так и если
сессия была закрыта - вернёт False; в противном случае, если связь имеется и, соответственно, доступна
работа с данными локатора (на сервере) - возвращается True.
:rtype: Boolean
.. py:attribute:: IsBlob
Проверить является ли данный курсор блобом.
:rtype: Boolean
.. py:attribute:: IsClob
Проверить является ли данный курсор клобом.
:rtype: Boolean
.. py:attribute:: IsTemporary
Проверить является ли данный курсор временным.
:rtype: Boolean
TOleContainer
~~~~~~~~~~~~~
.. py:class:: TOleContainer
Компонент ялвялется контейнером OLE объектов. В нем можно создать и
отобразить экземпляр Microsoft Office Word, Excel.
.. py:method:: CreateObjectFromFile(FileName, Iconic)
Создает новый OLE объект из файла. Определяет тип OLE класса по имени файла.
Параметр Iconic опеределяет как будет созда объект, как инонка иил как
встраиваемый контрол.
:param string FileName: Имя файла
:param Boolean Iconic: Создать свёрнутым
.. py:method:: CreateObject(OleClassName, Iconic)
Создает новый OLE объект по имени класса объекта. Параметр Iconic опеределяет
как будет созда объект, как инонка иил как встраиваемый контрол.
:param string OleClassName: Имя класса
:param Boolean Iconic: Создать свёрнутым
.. py:method:: DoVerb(Verb)
Запрашивает OLE контрол выполнить некоторые действия. Так константа
ovShow - показать объект, ovPrimary - активировать объект (действие по умолчнию).
Метод следует вызвать только когда форма видима, инача будет возбуждено
исключение, на попытку уставить фокус на OleContainer. Объявлены следующие
константы ovShow, ovOpen, ovHide, ovUIActivate, ovInPlaceActivate, ovDiscardUndoState, ovPrimary.
:param Integer Verb: Код команды
TbtkScriptPivotGridObject
~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptPivotGridObject
Предоставляет доступ к компоненту PivotGrid.
.. py:method:: SaveToBlob
Сохраняет настройки PivotGrid в blob.
:return: Сохранённые настройки для записи в blob.
:rtype: Variant
:Deprecated: Метод больше не используется.
.. code-block:: pascal
:caption: Пример
stream := Selection.PivotGrid.SaveToBlob();
SaveBlobToFile('...\Saved_Settings.txt', stream);
.. py:method:: LoadFromBlob(ABlob)
Загружает настройки PivotGrid из blob-а.
:param Variant ABlob: Настройки PivotGrid полученные из blob-а.
:Deprecated: Метод больше не используется.
.. code-block:: pascal
:caption: Пример
stream := LoadFromFileToBlob('...\Saved_Settings.txt');
Selection.PivotGrid.LoadFromBlob(stream);
.. py:method:: ResetAllSettings
Очищает настройки PivotGrid. При этом, как и при первом открытии,
все поля помещаются в область фильтрации.
TbtkAdvDiagram
~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkAdvDiagram
Скриптовый класс управляющий доступом к свойствам фрейма TbtkAdvDiagramFrame
.. py:method:: CreateReport (ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag)
Генерирует FastReport4 отчет, на основе шаблона "Diagram Report(*.dgr)". Описание совпадает с :class:`InternalLibrary.TbtkScriptSelectionObject.CreateReport`
:param String AReportName: Cистемное имя отчёта.
:param TDateTime AReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
:param TReportViewMode AAction: Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
:param Boolean AShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
:param String AOpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
:param TFormCreationFlags AStyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
.. py:method:: CreateReportEx (ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)
Генерирует FastReport4 отчет, на основе шаблона "Diagram Report(*.dgr)". Описание совпадает с :class:`InternalLibrary.TbtkScriptSelectionObject.CreateReportEx`
:param String AReportName: Cистемное имя отчёта.
:param TDateTime AReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
:param TReportViewMode AAction: Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
:param Boolean AShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
:param String AOpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
:param TFormCreationFlags AStyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
:param Array AParamNames: Массив имен параметров отчета.
:param Array AParamValues: Массив значений параметров AParamNames отчета.
TbtkGantt
~~~~~~~~~~
.. py:class:: TbtkGantt
Скриптовый класс, управляющий доступом к фрейму TbtkLookUpGanttTreeFrame (диаграмма Гантта)
.. py:method:: CreateReportEx (ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)
Генерирует FastReport4 отчет, на основе шаблона "Diagram Report(*.dgr)". Описание совпадает с :class:`InternalLibrary.TbtkScriptSelectionObject.CreateReportEx`
:param String AReportName: Cистемное имя отчёта.
:param TDateTime AReportVersionDate: Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
:param TReportViewMode AAction: Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
:param Boolean AShowWizard: Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
:param String AOpSelectionName: Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд ("Save as" и "Print")
:param TFormCreationFlags AStyleFlag: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
:param Array AParamNames: Массив имен параметров отчета.
:param Array AParamValues: Массив значений параметров AParamNames отчета.
TbtkScriptTesterObject
~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptTesterObject
Класс, реализующий методы работы с тестируемым приложением Global.
.. py:attribute:: RaiseOperationName
Задаёт системное имя
Pascal-операции обрабатывающей невыброшенные скриптовыми методам
исключительные ситуации. В операцию первым параметром поступает текст
исключительной ситуации, для того, чтобы можно было, например,
сохранить его в лог выполнения скрипта. Операция должна принадлежать
той же выборке что исполняет скрипт.
:rtype: String
.. py:attribute:: DefaultWaitExecTimeout
Задаёт значение подставляемое по-умочанию в дефолтный параметр **Timeout** ф-й
поддерживающих обработку ошибок сервера
:rtype: Integer
.. py:attribute:: DefaultDoRaise
Задаёт значение подставляемое по-умочанию в дефолтный параметр **DoRaise** ф-й
поддерживающих обработку ошибок сервера
:rtype: Boolean
.. py:attribute:: DefualtRaiseOnTimeout
Задаёт значение подставляемое по-умочанию в дефолтный параметр **RaiseOnTimeout**
ф-й поддерживающих обработку ошибок сервера
:rtype: Boolean
.. py:method:: Run
Метод запускает экземпляр тестируемого приложения.
:param String ACmdLine: :ref:`command_lines` приложения, там, как правило, передаются параметры соединение: пользователь/логин, база данных и имя главной выборки приложения.
:param Boolean AInitSyncronize: параметр говорит о необходимости включить "синхронизацию выполнения методов", что так же позволяет принимать ошибки сервера в скрипт.
.. py:method:: Quit
Метод завершает работу, запущенного ранее экземпляра тестируемого приложения. Если в тестируемом приложении открыты какие-либо окна будет задан вопрос о подтвеждении закрытия.
.. py:method:: Terminate
Метод аварийно завершает работу тестируемого приложения. Тестируемое приложение завершает свою работу без запросов закрытия активных форм.
.. py:attribute:: Runned
Свойство указывает, запущено ли тестируемое приложение.
:rtype: Boolean
.. py:method:: RunAsCurrent
Метод запускает экземпляр тестируемого приложения, используя имя пользователя и пароль текущего пользователя. В качестве параметра может быть передано системное имя главной выборки приложения.
:param String ACmdLine: :ref:`command_lines`
.. py:method:: CmdLine
.. py:mehod:: EnableScriptRecording
Метод включает в рестируемом приложении режим записи тестового скрипта.
Метод должен вызываться из выборки, редактором которой является TbtkLookUpScriptEditFrame или TbtkScriptEditFrame. Допустимо, если редактор скрипта будет являться детальным фреймом к фрейму текущей выборки. Это условие необходимо из-за того, что регистратором скрипта является "фрейм - редактор скриптов", Handle которого передаётся тестируемому приложению.
.. py:method:: DisableScriptRecording
Метод выключает в тестируемом приложении режим записи тестового скрипта.
.. py:attribute:: ScriptRecording
Свойство указывает, что тестируемое приложение работает в режиме записи тестового скрипта.
.. py:method:: ExecuteOperation
Метод выполняет операцию, принадлежащую выборке с указанным именем и отображением.
Выполнение операции производится асинхронно.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AOperationName: Имя операции
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания: CommandType = tcExecuteOperation
.. py:method:: ExecuteOperationEx
Метод выполняет операцию, принадлежащую выборке с указанным именем и отображением. В метод возможно передать параметры, управляющие режимом выполнения операции. Указание параметров может быть необходимо при вызове сеттеров, в которых производится анализ свойств SetterExecType, GetEditButtonName и UserActionType.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AOperationName: Имя операции
:param Array AParamNames: Массив имен параметров
:param Array AParamValues: Массив значений параметров
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания: CommandType = tcExecuteOperationEx
+----------------+------------------------------------------------------------------------------------------------------+
| Имя параметра | Возможные значения |
+================+======================================================================================================+
| SetterExecType | etUnknown, etEditBtn, etClearBtn, etManual, etSetVar, etExecOp,,etBulkUpdateпо умолчанияю: etEditBtn |
+----------------+------------------------------------------------------------------------------------------------------+
| ButtonName | 'LOOKUP#' - кнопка выбора значения (по умолчанию) |
| | |
| | 'OPENCARD#' - кнопка,открытия карточки |
+----------------+------------------------------------------------------------------------------------------------------+
| UserAction | uaUnknown, uaNextControlпо умолчанию: uaUnknown |
+----------------+------------------------------------------------------------------------------------------------------+
.. py:method:: SelectionLocate
Метод выполняет позиционирование на запись в указанной выборке по ключевому полю.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AFieldName: название поля позиционирования, или VarArray имён полей
:param Variant AFieldValue: значение поля позиционирования, или VarArray значений в порядке соответствующем заданному в **FieldName**.
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
:rtype: Integer
Примечания: CommandType = tcSelectionLocate
Возможные результаты, возвращаемые методом:
+-----+--------------------------------------+
| Код | Описание |
+=====+======================================+
| 1 | Позиционирование произведено успешно |
+-----+--------------------------------------+
| -1 | Выбока не найдена |
+-----+--------------------------------------+
| -2 | Выборка не активна |
+-----+--------------------------------------+
| -4 | Запись не найдена |
+-----+--------------------------------------+
.. py:method:: IsSelectionActive
Метод проверяет существование и активность выборки с указанным именем и отображением на текущей форме тестируемого приложения
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
:rtype: Integer
Возможные результаты, возвращаемые методом:
+-----+------------------------------+
| Код | Описание |
+=====+==============================+
| 1 | Выборка существует и активна |
+-----+------------------------------+
| -1 | Выбока не найдена |
+-----+------------------------------+
| -2 | Выборка не активна |
+-----+------------------------------+
.. py:method:: WaitSelection
Метод ожидает создания и открытия выборки с указанным именем. Если выборка не будет создана и открыта в течении указанного интервала времени, будет сгенерирована ошибка.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param Ineger ATimeout: Временной интервал ожидания
Примечания: Это не метод интерфейса, он реализован непосредственно на
уровне объекта TestApp. Выполняет в цикле проверку
:class:`TbtkScriptTesterObject.IsSelectionActive` с задержкой в 100 миллисекунд, если за
время работы ф-и выборка с такими характеристиками так и не появилась
- будет выброшена исключительная ситауция "Ожидание выборки
прекращено по таймауту". После каждого вызова IsSelectionActive так
же выполняется проверка на наличие ошибок в очереди сервера.
.. py:method:: SelectionSetVar
Метод устанавливает значение параметру в указанной выборке.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AVarName: Имя параметра
:param Variant AValue: Значение параметра
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания:
- CommandType = tcSetVar
- Если серверный сеттер решит вернуть сообщение об ошибке - оно уже
не попадёт в результат выполнения этого метода, т.к. SQL-Операция
выполняется асинхронно - исключение будет выбрано из очереди
следующим поддерживающим обработку ошибок сервера методом за этим.
.. py:method:: SelectionGetVar
Метод возвращает значение атрибута (параметра) указанной выборки.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AVarName: Имя параметра
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
:rtype: Variant
Примечания: CommandType = tcGetVar
.. py:method:: CloseActiveModalForm
Метод закрывает текущую активную модальную форму тестового приложения установкой форме соответствующего значения ModalResult. Определение активной модальной формы приложения производится в следующем порядке:
- Диалог (форма диалога должена быть активной)
- Модальная форма
Не модальные формы метод не закрывает.
:param TmodalResult AModalResult: Значение, которое будет присвоено свойству ModalResult формы.
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания: CommandType = tcUnknown
.. py:method:: CloseActiveForm
Метод закрывает текущую активную форму тестового приложения. Определение активной формы приложения производится в следующем порядке:
- Диалог (форма диалога должена быть активной)
- Модальная форма
- MDI форма
- Главное окно приложения
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания:
- CommandType = tcCloseActiveForm
- Просто закрывает активную форму серверного приложения,
аналогично **CloseActiveModalForm** (*mrCancel*), но
асинхронно: на CloseQuery может быть повешен модальный вызов - он
не должен остановить выполнение скрипта.
.. py:method:: WaitDialog
Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
:param Ineger ATimeout: Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Примечания:
- CommandType = tcUnknown
- Работает как WaitSelection, проверяет верхнее окно
Серверного приложения на **ClassName = 'TbtkMessageForm'** и
состояние **(fsModal in FormState)**
.. py:method:: CloseActiveModalWindow
Закрывает модальное окно
:deprecated: Устаревший
:param TModalResult AModalResult: результат модального выполнения
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean RaiseOnTerminate:
Примечания:
- CommandType = tcUnknown
- Находит верхнее окно(GetForegroundWindow) в целом, и, если оно
принадлежит Серверному приложению - присвавает ему результат
модального выполнения, что опосредованно должно привести к его
закрытию.
.. py:method:: CloseActiveWindow
Метод закрвыает окно
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания:
- CommandType = tcUnknown
- Находит верхнее окно, проверяет на принадлежность к Серверу(ищет
хендл среди компонентов) и посылает ему сообщение PostMessage WM_Quit.
.. py:method:: FocusOnFirstControl
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
.. py:method:: FocusOnFieldByName
Метод перемещает фокус ввода на контрол, являющийся редактором для указанного атрибута выборки. Для карточки, это будет редактор, для списка или дерева, колонка соответствующая указанному атрибуту.
:param String ASelectionName: Системное имя выборки
:param String ARepresentation: Отображение выборки
:param String AFieldName: Имя атрибута
:param Ineger ATimeout: Временной интервал ожидания
:param Boolean ADoRaise:
:param Boolean ARaiseOnTimeout:
Примечания: CommandType = tcFocusOnFieldByName
.. py:method:: WaitWindow
Метод ожидает отображения в тестируемом приложении окна указанного класса и с указанным текстом в загноловке. Если окно не будет отображено в течении указанного интервала времени, будет сгенерирована ошибка.
:param String AWindowClass: Класс окна Windows.
:param String AWindowCaption: Заголовок окна.
:param Integer ATimeout: Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
.. py:method:: WaitDialogA
Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
:param String ADialogCaption: Заголовок окна диалога.
:param Integer ATimeout: Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Примечания: то же самое что и WaitWindow, но ClassName фиксирован - "TbtkMessageForm".
.. py:method:: InputText
Метод эмулирует клавиатурный ввод текста в текущий контрол.
:param String AText: Текст, который будет введён в текущий контрол
.. py:method:: KeyPress
Метод эмулирует нажатие клавиши с указанным кодом.
:param Integer AKey: Код клавиши, нажатие которой должно быть эмулировано.
.. py:method:: KeyPressA
Метод эмулирует нажатие комбинации клавиш.
:param Integer AKey: Код клавиши, нажатие которой должно быть эмулировано.
:param Array AShiftState: Массив определяет, какие функциональные клавиши (Alt, Ctrl, Shift) были нажаты в дополнении к основной клавише. Допустимые значения элементов массива: ssAlt, ssCtrl, ssShift
.. py:attribute:: RecordingOperationName
Имя операции куда будут отправляться новые сгенерированные строки скрипта и результаты выполнения операций отправленных методом :class:`InternalLibrary.TbtkScriptTesterObject.AddRecorderManualOperation`.
:rtype: String
Входные параметры:
#. Текст новой строки скрипта или результат выполнения операции.
#. Имя операции чей результат вернулся. Если вызов был произведён не
в результате выполнения операции, а как результат непосредственной
записи пользовательских действий- пустая строка.
.. py:attribute:: AddRecorderManualOperation
:param String ASysName: Системное имя операции, которое ей будет присвоено.
:param String ACalption: поле DisplayLabel операции.
:param Integer AImageIndex: Номер пиктограммы в основном ImageList'е приложения.
:param String AScriptText: Текст Pascal-операции.
Примечания:
#. Метод должен вызываться в то время когда тестируемое приложение
находится в режиме записи скрипта, т.е. после выполнения
метода :class:`InternalLibrary.TbtkScriptTesterObject.EnableScriptRecording`.
#. После завершения записи (:class:`InternalLibrary.TbtkScriptTesterObject.DisableScriptRecording`) все операции
удаляются как и сам объект ручного управления записью скрипта.
TbtkScriptSelectionEventObject
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. py:class:: TbtkScriptSelectionEventObject
Класс события выборки. Экземпляр этого объекта автоматически создаётся для каждого события, и автоматически разрушается после обработки во всех обработчиках.
.. py:attribute:: EntityName(String)
системное имя выборки, из которой отправили сообщение. Присваивается автоматически
.. py:attribute:: Name(String)
системное имя события. Указывается при отсылке.
.. py:attribute:: Representation(String)
отображение выборки, из которой отправили сообщение. Присваивается автоматически.
.. py:attribute:: SelectionId(String)
ID выборки, из которой отправили сообщение. Присваивается автоматически.
.. py:attribute:: TopicName(String)
имя подписки. Используется для персонализации получателя. Указывается при отсылке.
.. py:attribute:: Args(TbtkNamedArg)
набор именованных аргументов данного события. Может быть указано при отсылке.
Тест C++ домена
==========================================
.. cpp:namespace:: InternalLibrary
Основная библиотека скриптовых методов.
.. cpp:var:: InternalLibrary::TbtkScriptSelectionObject Selection
Возвращает указатель на объект Selection.
.. cpp:class:: InternalLibrary::TbtkScriptSelectionObject
.. cpp:function:: void TbtkScriptSelectionObject::SetVar(string Name, variant Value)
Устанавливает значение атрибута/параметра.
.. cpp:function:: variant TbtkScriptSelectionObject::GetVar(string Name)
Возвращает значение атрибута (параметра) по имени атрибута Name