Vytvoření skriptu události

Top  Previous  Next

Pokud událost ještě neexistuje nebo chcete začít editovat již existující událost poklepejte na místo v Property editoru vedle místa názvu události kterou si přejete editovat nebo vytvořit. Designer přepne na záložku "Kód".  U neexistující události se ve skriptu vytvoří záhlaví události (procedure) s příslušným názvem události a sekcí begin - end. Kurzor se nastaví na další řádek následující za begin

Pokud událost již ve skriptu existuje designer ji vyhledá a opět nastaví kurzor na první řádek za begin

 

Při vytváření nové události můžete poklepat na prázdné místo v property editoru, pak se vygeneruje "default" pojmenování události např. List1A10OnEnter pokud poklepete na buňku A10 a událost OnEnter na Listu1, pokud přepokládáte že budete přiřazovat stejnou událost více buňkám je vhodné nejprve událost v property editoru pojmenovat a potom nechat vygenerovat tělo události poklepem na takto vytvořený název.

 

Pro přiřazení jedné události více buňkám postupujeme tak, že událost vytvoříme pro jednu buňku, poté vybereme oblast buněk kterým chceme přiřadit stejnou událost a v property editoru pomocí rozbalovacího seznamu (combobox) vybereme-přiřadíme již existující událost ostatním buňkám

 

 

Odstranit událost lze smazáním názvu události v property editoru, tím docílíte toho, že pro danou buňku nebo výběr buněk se událost nebude vykonávat, ale takto smazaná událost je nesmaže ze skriptu, pokud již danou událost nebude potřeba pro žádnou buňku, lze patřičný kód události smazat.

 

Pokud jste nějakou událost ve skriptu napsali 'z ruky', tedy bez použití property editoru je nutné název takové události do property editoru zadat ručně. Uděláte to tak, že název příslušné procedury zkopírujete (napíšete) k události v property editoru u které chcete, aby byla vyvolána. Nezapomeňte že parametry procedury musí odpovídat parametrům události pro kterou ji chcete vyvolat. Proto je vždy výhodnější napsat název události (pokud nechcete použít 'default' název) do property editoru a poklepáním nechat vygenerovat tělo a parametry property editor)

 

Vytvoření skriptu události pro komponentu reportu

pro vytvoření události komponent zatím neexistuje vizuální nástroj a je třeba takovou událost vytvořit ručně. Vytvoření takové události se skládá ze dvou kroků

 

1.vytvoření vlastní události komponenty
2.přiřazení události komponentě v události OnPrepareSkript

 

(jak bude ukázáno dále lze události přiřadit i u dynamicky vytvářeného obsahu, potom není třeba událost OnPrepareSkript používat, viz. Jednoduchý horizontální drill)

 

Příklad

 

do buňky J10 vložíme komponentu TButton a vytvoříme skript události OnClick tohoto tlačítka:

 

1. vlastní událost komponenty

 

procedure ButtonOnClick( Sender : TObject );

begin                        

 OkBox('Click');                                    

end;

 

2. přiřazení události komponentě v události OnPrepareSkript

 

procedure OnPrepareScript(Sender : TReportProperty);  

begin

 If Sheet.GetCellProperty('J10').CellComponent<>nil then

 TButton(Sheet.GetCellProperty('J10').CellComponent).OnClick:=@ButtonOnClick;

end;

 

po stisku tlačítka na buňce J10 se objeví MessageBox s textem Click

 

Podobně postupujeme i u ostatních komponent  reportu a jejich událostí