Objekt App
Pomocí připraveného objektu App lze spouštět libovolnou funkci dané aplikace, která je dostupná z hlavního menu programu. Je tak možné automatizovaně spouštět třeba různé výpočty, převody, exporty či importy dat.
K dispozici je sada objektů, které jsou dostupné v různých standardních částech aplikace (při práci s menu, seznamy, ve vstupních dialozích apod.).
Objekt TKAPCustomAppControl
TKAPCustomAppControl = class property OnMenu: TfsDoMenuEvent; property OnInputDlg: TfsDoInptuDlgEvent; property OnViewDlg: TfsDoViewDlgEvent; property OnWaitForKey: TfsDoWaitForKeyEvent; end;
TKAPAppControl = class (TKAPCustomAppControl) constructor Create; procedure RunMenu(KodMenu1, KodMenu2, PristPravo: byte; Keys: string); procedure PressKeys(Keys: String); procedure PressChars(Keys: String); procedure PressFnKeys(Keys: String); function ActiveWindowCaption: String; end;
TKAPAppControlCustomInfo = class property Caption: string; end;
TKAPAppControlMenuInfo = class(TKAPAppControlCustomInfo) end;
TKAPAppControlInputDlgInfo = class(TKAPAppControlCustomInfo) end;
TKAPAppControlViewDlgInfo = class(TKAPAppControlCustomInfo) end;
TKAPAppControlWaitForKeyInfo = class(TKAPAppControlCustomInfo) end;
Žádný z těchto objektů se nesmí vytvářet přímo. Třída TKAPAppControl je dostupná prostřednictvím již vytvořené instance objektu App a tento objekt je možné přímo používat. Je také možné připravit obslužné procedury, které se musí prostřednictvím vlastností OnMenu, OnInputDlg, OnViewDlg, OnWaitForKey objektu App. Tyto obslužné procedury se volají v okamžiku, kdy aplikace je v dané situaci (tj. v menu, ve vstupním dialogu, při listování v seznamu) a čeká na vstupní klávesu. Úkolem obslužné procedury je podle aktuální situace zareagovat "stisknutím" odpovídající klávesy.
Funkce | Popis |
---|---|
property OnMenu | Určuje jméno obslužné procedury volané v okamžiku, kdy je program v menu a čeká na vstup klávesy |
property OnInputDlg | Určuje jméno obslužné procedury volané v okamžiku, kdy je program ve vstupním dialogu a čeká na vstup klávesy |
property OnViewDlg | Určuje jméno obslužné procedury volané v okamžiku, kdy je program v seznamu (např. v databázovém seznamu) a čeká na vstup klávesy |
property OnWaitForKey | Určuje jméno obslužné procedury volané v okamžiku, kdy program čeká na vstup klávesy (jde o obecné volání, které se volá i po OnMenu, OnInputDlg, OnViewDlg) |
constructor Create | Konstruktor se nesmí volat přímo, je třeba využít již existující objekt App |
procedure RunMenu(KodMenu1, KodMenu2, PristPravo: byte; Keys: string) | Spustí funkci z hlavního menu aplikace s určeným kódem menu a danou úrovní přístupových práv (0..9). Funkce může obsahovat seznam kláves, které se mají "stisknout" po vyvolání této funkce |
procedure PressChars(Keys: String) | Funkce "stiskne" znaky předané prostřednictvím parametru Keys. Znak s kódem #13 se převede na Enter. Znaky s kódem #1 až #26 se převedou na Ctrl+A až Ctrl+Z. Ostatní klávesy se chápou jako znaky. |
procedure PressFnKeys(Keys: String) | Funkce "stiskne" funkční klávesy. Text poslaný v parametru Keys musí obsahovat seznam funkčních kláves oddělený mezerami (např. PressFnKeys('Tab F2 Down Enter ESC') |
procedure PressKeys(Keys: String) | Kombinace funkcí PressChars a PressFnKeys. Písmena, které je třeba stisknout se mohou psát do uvozovek - pak je program nebude zkoušet překládat jako funkční klávesu. Jinak ale vše, co nelze přeložit jako funkční klávesa, pošle jako znak - kromě mezer, uvozovek a znaků pod #32 |
function ActiveWindowCaption: String | Vrací text aktuálního nadpisu okna. |
Skupina funkcí začínající REMOTE_... pracuje se soubory na serveru a není určena pro přenos mezi klientem a serverem. Využívá se nastavení aliasů v souboru MaximObjServer.xml na serveru (včetně nastavení přístupových práv pro uživatelské role pro jednotlivé aliasy).
Funkce | Popis |
---|---|
function REMOTE_FileCopy (FromAlias, FromDir, ToAlias, ToDir, FileName: String): Boolean | Kopíruje soubor mezi dvěma adresáři. |
function REMOTE_FileMove (FromAlias, FromDir, ToAlias, ToDir, FileName: String): Boolean | Přesune soubor mezi dvěma adresáři. To znamená, že původní soubor bude smazán. |
function REMOTE_FileRename (FromAlias, FromDir, FromFileName, ToFileName: String): Boolean | Soubor bude přejmenován. |
function REMOTE_FileDelete (FromAlias, FromDir, FromFileName: String): Boolean | Smaže soubor z disku. |
function REMOTE_DirCreate (FromAlias, DirName: String): Boolean | Vytvoří nový adresář. |
function REMOTE_DirDelete (FromAlias, DirName: String): Boolean | Smaže prázdný adresář. Pokud adresář nebude prázdný tak mazání skončí chybou. |
Starší verze podporují režim bez předchozího připojení, tj. po Create je možné ihned zavolat funkci pro komunikaci (ta zajistí připojení, komunikaci i odpojení). Pro přenos jednotlivého souboru tedy doporučujeme použít tento druhý postup. Funkce začínající REMOTE jsou určené pro manipulaci s dokumenty na vzdáleném serveru (aliasy se definují v konfiguračním XML souboru na serveru).