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. Parametrem obslužné procedury je objekt typu TKAPAppControlMenuInfo, který může obsahovat dodatečné informace o menu. Objekt může být ale i nulový (nil). |
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. Parametrem obslužné procedury je objekt typu TKAPAppControlInputDlgInfo, který může obsahovat dodatečné informace o vstupním dialogu. Objekt může být ale i nulový (nil). |
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. Parametrem obslužné procedury je objekt typu TKAPAppControlViewDlgInfo, který může obsahovat dodatečné informace o seznamu. Objekt může být ale i nulový (nil). |
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). Parametrem obslužné procedury je objekt typu TKAPAppControlWaitForKeyInfo, který může obsahovat dodatečné informace o aktuálním stavu programu. Objekt může být ale i nulový (nil). |
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. |