GeoGet

Complete geocaching solutions

User Tools

Site Tools


user:skripty:forms

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
user:skripty:forms [2011/06/07 17:05] mikromuser:skripty:forms [Unknown date] (current) – external edit (Unknown date) 127.0.0.1
Line 13: Line 13:
   * **Inspector** (vlevo) je nástroj, kde vidíte a měníte vlastnosti právě označeného prvku na Designeru.   * **Inspector** (vlevo) je nástroj, kde vidíte a měníte vlastnosti právě označeného prvku na Designeru.
  
-Kazdý prvek na formuláři má své jméno, které vidíte v Inspectoru jako vlastnost 'Name'. Toto je klíčová vlastnost, protože přes toto jméno se posléze ze skriptu na prvek odkazujete. Nesmí tedy být v rámci formuláře duplicitní! I samotný formulář má své jméno. Ve skriptu nelze použít více formulářů se stejným jménem! Začněte tedy tím, že svůj formulář vhodně pojmenujte.+Každý prvek na formuláři má své jméno, které vidíte v Inspectoru jako vlastnost 'Name'. Toto je klíčová vlastnost, protože přes toto jméno se posléze ze skriptu na prvek odkazujete. Nesmí tedy být v rámci formuláře duplicitní! I samotný formulář má své jméno. Ve skriptu nelze použít více formulářů se stejným jménem! Začněte tedy tím, že svůj formulář vhodně pojmenujte.
  
 Nové prvky se umísťují na formulář tak, ze na Paletě kliknete na požadovaný prvek, a posléze kliknete do Designeru. Nový prvek se objeví v místě kliknutí. Pak si upravíte jeho velikost a vlastnosti. Některé prvky lze upravovat i přes specielní akce v menu na pravém tlačítku. Nové prvky se umísťují na formulář tak, ze na Paletě kliknete na požadovaný prvek, a posléze kliknete do Designeru. Nový prvek se objeví v místě kliknutí. Pak si upravíte jeho velikost a vlastnosti. Některé prvky lze upravovat i přes specielní akce v menu na pravém tlačítku.
Line 22: Line 22:
 Skript může začínat sekcí //uses//, ve které je vyjmenovaný seznam použitých modulů. Moduly mohou být dvojího druhu: Skript může začínat sekcí //uses//, ve které je vyjmenovaný seznam použitých modulů. Moduly mohou být dvojího druhu:
   * **Unita** je programový modul, třeba knihovna funkci. Obsahuje libovolné množství funkcí, procedur, nebo definici objektových tříd.   * **Unita** je programový modul, třeba knihovna funkci. Obsahuje libovolné množství funkcí, procedur, nebo definici objektových tříd.
-  * **Formulář** je definice předem připraveného formuláře. Formulář se zavede do paměti a vyrobí se instance jednotlivých ovládacích prvků, které se ve skriptu budou jevit jako specielně pojmenované proměnné.+  * **Formulář** je definice předem připraveného formuláře. Formulář se zavede do paměti a vyrobí se instance jednotlivých ovládacích prvků, které se ve skriptu budou jevit jako speciálně pojmenované proměnné.
  
 Moduly se specifikují //jménem bez přípony//! Geoget se nejprve snaží najít unitu s příponou PAS, a když neuspěje, pokusí se vyhledat formulář s příponou GFM. Moduly se specifikují //jménem bez přípony//! Geoget se nejprve snaží najít unitu s příponou PAS, a když neuspěje, pokusí se vyhledat formulář s příponou GFM.
Line 30: Line 30:
   unit1, unit2, myform;</code>   unit1, unit2, myform;</code>
  
-Po zavedení formuláře se automaticky vytvoří několik proměnných, každá pro jeden prvek na formuláři. I samotný formulář je prezentovaný jako proměnná s názvem formuláře a je typu //TForm//. Názvy jednotlivých prvků jsou prefixovány názvem formuláře, aby se zabránilo duplicitám při použití více různých formulářů. Takže pokud jste meli na formuláři prvek //Button1// a formulář se jmenuje //MyForm//, proměnná symbolizující tento prvek se bude jmenovat //MyForm_Button1//.+Po zavedení formuláře se automaticky vytvoří několik proměnných, každá pro jeden prvek na formuláři. I samotný formulář je prezentovaný jako proměnná s názvem formuláře a je typu //TForm//. Názvy jednotlivých prvků jsou prefixovány názvem formuláře, aby se zabránilo duplicitám při použití více různých formulářů. Takže pokud jste měli na formuláři prvek //Button1// a formulář se jmenuje //MyForm//, proměnná symbolizující tento prvek se bude jmenovat //MyForm_Button1//.
  
 Přes tyto proměnné lze přistupovat k vlastnostem jednotlivých prvků a lze přes ně volat jejich metody. Lze také v kódu skriptu přivěsit obslužné rutiny na události prvku. Přes tyto proměnné lze přistupovat k vlastnostem jednotlivých prvků a lze přes ně volat jejich metody. Lze také v kódu skriptu přivěsit obslužné rutiny na události prvku.
Line 38: Line 38:
 procedure Kliknuti(Sender: TObject); procedure Kliknuti(Sender: TObject);
 begin begin
-  Showmessage('Kliknuto!');+  ShowMessage('Kliknuto!');
 end; end;
  
Line 46: Line 46:
   testform_button1.OnClick := @Kliknuti;   testform_button1.OnClick := @Kliknuti;
   if TestForm.Showmodal = 1 then   if TestForm.Showmodal = 1 then
-    Showmessage(testform_Edit1.text);+    ShowMessage(testform_Edit1.text);
 end; end;
 </code> </code>
  
-:?: Některé prvky, jako třeba tlačítka, mají vlastnost //ModalResult//. Pokud je hodnota v této vlastnosti nenulová, kliknutí na takovýto ovládací prvek způsobí uzavření formuláře a hodnota ze vlastnosti //ModalResult// bude předána jako výsledek metody //ShowModal//.+<WRAP center round info 80%> 
 +Některé prvky, jako třeba tlačítka, mají vlastnost //ModalResult//. Pokud je hodnota v této vlastnosti nenulová, kliknutí na takovýto ovládací prvek způsobí (po vykonání obslužných funkcí) uzavření formuláře a hodnota ze vlastnosti //ModalResult// bude předána jako výsledek metody //ShowModal//. 
 +</WRAP>
  
 Jako názornou ukázku možností formulářů a jejich obsluhy si prohlédněte makro PQDivide, které je součástí distribuce Geogetu. Jako názornou ukázku možností formulářů a jejich obsluhy si prohlédněte makro PQDivide, které je součástí distribuce Geogetu.
- 
 ===== Dokumentace ===== ===== Dokumentace =====
-Jako dokumentaci k použitelným formulářovým prvkům můžete použít [[pascaldoc|dokumentaci od Delphi]]. Hledejte v nápovědě k VCL název prvku (TButton, TLabel, atd.) a dostanete se na seznam a popis jednotlivýchvlastností, metod i událostí.+Jako dokumentaci k použitelným formulářovým prvkům můžete použít [[pascaldoc|dokumentaci od Delphi]]. Hledejte v nápovědě k VCL název prvku (TButton, TLabel, atd.) a dostanete se na seznam a popis jednotlivých vlastností, metod i událostí.
  
 FIXME ''THtmlViewer'' -> http://geoget.klfree.net/ticket/318 FIXME ''THtmlViewer'' -> http://geoget.klfree.net/ticket/318
user/skripty/forms.1307459128.txt.gz · Last modified: 2011/06/07 00:00 (external edit)