Objekt App: Porovnání verzí

Z K.A.P.
Skočit na navigaciSkočit na vyhledávání
m
m
Řádek 43: Řádek 43:
 
! Funkce !! Popis  
 
! Funkce !! Popis  
 
|-valign=top
 
|-valign=top
|''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 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).
 
|-valign=top
 
|-valign=top
|''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 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).
 
|-valign=top
 
|-valign=top
|''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 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).
 
|-valign=top
 
|-valign=top
|''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)
+
|''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).
 
|-valign=top
 
|-valign=top
 
|''constructor Create'' ||Konstruktor se nesmí volat přímo, je třeba využít již existující objekt App  
 
|''constructor Create'' ||Konstruktor se nesmí volat přímo, je třeba využít již existující objekt App  
Řádek 63: Řádek 63:
 
|''function ActiveWindowCaption: String'' ||Vrací text aktuálního nadpisu okna.
 
|''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).
 
 
{| border=1 style="background:#ddddff; color:black" class = "wikitable"
 
|-valign=top
 
! Funkce !! Popis
 
|-valign=top
 
|''function REMOTE_FileCopy  (FromAlias, FromDir, ToAlias, ToDir, FileName: String): Boolean ''||Kopíruje soubor mezi dvěma adresáři. 
 
|-valign=top
 
|''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.
 
|-valign=top
 
|''function REMOTE_FileRename (FromAlias, FromDir, FromFileName, ToFileName: String): Boolean ''||Soubor bude přejmenován.
 
|-valign=top
 
|''function REMOTE_FileDelete (FromAlias, FromDir, FromFileName: String): Boolean ''||Smaže soubor z disku.
 
|-valign=top
 
|''function REMOTE_DirCreate  (FromAlias, DirName: String): Boolean ''||Vytvoří nový adresář.
 
|-valign=top
 
|''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).
 

Verze z 4. 2. 2013, 11:24

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.