|
![]() | Vstup a v²stup ve standardnφch oknech | ![]() | Programovßnφ uživatelskΘho rozhranφ | Tisk sestav | ![]() |
Zßkladnφ jednotkou komunikace mezi u₧ivatelem na jednΘ stran∞ a programem nebo obsahem databßze na stran∞ druhΘ je formulß°. Existuje n∞kolik alternativnφch cest, jak programov∞ manipulovat s formulß°i. Tyto cesty lze kombinovat.
602SQL nabφzφ °adu standardnφch funkcφ vnit°nφho programovacφho jazyka, kterΘ dovolujφ otev°φt formulß°, manipulovat s nφm a s jeho obsahem a zav°φt jej. Ka₧d² otev°en² formulß° je identifikovßn Φφslem typu window_id, kterΘmu °φkßme handle formulß°e. Funkce otevφrajφcφ formulß° vracφ jeho handle. Funkce, kterΘ s formulß°em manipulujφ, dostßvajφ handle jako vstupnφ parametr. V p°φkazech, kterΘ jsou souΦßstφ formulß°e, lze mφsto jeho handle pou₧φt symbol !!
.
Pro tento zp∙sob prßce je charakteristickΘ, ₧e formulß° existuje prßv∞ tehdy, kdy₧ je otev°eno jeho okno na obrazovce.
P°φklad:
Open_view("*Init_form",-1,0,0,0,id_init_form);
Reset_view(id_init_form,-1,RESET_CONTROLS);
Close_view(id_init_form);
Prßce s formulß°i deklarovan²mi jako objekty v programu
Objekty typu formulß° deklarovanΘ v programu nabφzejφ nejsiln∞jÜφ a zßrove≥ nejjemn∞jÜφ zp∙sob prßce. Formulß° se v programu deklaruje takto:
VAR
identifikßtor_formulß°e
: FORM
jmΘno_nßvrhu_formulß°e
;
Tato deklarace zavßdφ nov² objekt oznaΦen² identifikßtorem_formulß°e, vytvo°en² podle nßvrhu ulo₧enΘho v databßzi pod jmΘnem_nßvrhu_formulß°e.
Objekt typu formulß° (formulß°ov² objekt) lze deklarovat bu∩ na ·rovni programu nebo jako lokßlnφ v podprogramu, anebo jej lze vytvß°et dynamicky procedurou New
.
Vlastnosti a metody
Formulß°ov² objekt lze ovlßdat pomocφ jeho metod a vlastnostφ. Vlastnost je hodnota sdru₧enß s formulß°em. Hodnotu vlastnosti lze p°eΦφst a do vlastnosti lze takΘ zapsat hodnotu novou. Metoda je podprogram sdru₧en² s formulß°em. M∙₧e mφt parametry a m∙₧e vracet hodnotu. Vlastnosti a metody se oznaΦujφ tak, ₧e za identifikßtorem formulß°e se uvede teΦka a jmΘno vlastnosti Φi metody.
Existence a otev°enφ
P°i prßci s objekty typu formulß° je odd∞lena existence formulß°e od jeho otev°enφ v okn∞ na obrazovce. V existujφcφm objektu lze nastavit r∙znΘ vlastnosti, nap°φklad rozm∞ry okna, vybran² zßznam atd., a a₧ pak jej otev°φt. Formulß° lze zav°φt tedy odstranit z obrazovky, ani₧ by se ztratily jeho nastavenΘ vlastnosti, a pozd∞ji jej op∞t otev°φt. P°i ukonΦenφ programu tyto objekty nezanikajφ a jejich okna se neuzavφrajφ. Objekt definitivn∞ zanikß a₧ p°i zav°enφ projektu (pro objekty deklarovanΘ v hlavnφm program), p°i opuÜt∞nφ podprogramu (pro objekty deklarovanΘ jako lokßlnφ v podprogramu) nebo p°i provedenφ procedury Dispose (pro dynamicky alokovanΘ objekty).
NespecifikovanΘ formulß°e
Formulß°ovΘ objekty nelze mezi sebou p°i°azovat, do podprogramu je lze p°edßvat pouze referencφ. Pokud deklarujete referenΦnφ parametr podprogramu nebo ukazatel typu formulß°ov² objekt, pak lze jmΘno nßvrhu formulß°e z deklarace vypustit. Ukazateli nebo referenΦnφmu parametru deklarovanΘmu bez jmΘna nßvrhu formulß°e lze p°i°adit libovoln² formulß°, ukazateli nebo referenΦnφmu parametru deklarovanΘmu se jmΘnem nßvrhu formulß°e lze p°i°adit pouze formulß° se stejn²m nßvrhem.
Prßce s nedeklarovan²mi formulß°ov²mi objekty
S formulß°ov²mi objekty lze pracovat i zjednoduÜen²m zp∙sobem, bez jejich deklarace v programu. V takovΘ p°φpad∞ objekt nemß vlastnφ identifikßtor a mφsto n∞j se pou₧φvß jmΘno, pod nim₧ je navr₧en² formulß° ulo₧en v databßzi jakou souΦßst aplikace.
Tato cesta nevy₧aduje deklarovßnφ objekt∙, mß vÜak jistß omezenφ:
nelze souΦasn∞ otev°φt vφce instancφ formulß°e podle stejnΘho nßvrhu;
nelze manipulovat s formulß°em p°edtφm, ne₧ je zobrazen na obrazovce, proto₧e jakmile se pokusφte odkßzat na neotev°en² formulß°, automaticky se otev°e.
Odkazovßnφ na sebe sama
P°φkazy, kterΘ jsou souΦßstφ nßvrhu formulß°e, mohou odkazovat na tento formulß° pomocφ klφΦovΘho slova THISFORM. Toto slovo nahrazuje identifikßtor objektu nebo jmΘno nßvrhu a hraje podobnou roli, jako symbol !! p°i manipulaci prost°ednictvφm standardnφch funkcφ.
Seznam subsekcφ:
![]() | Vstup a v²stup ve standardnφch oknech | ![]() | Programovßnφ uživatelskΘho rozhranφ | Tisk sestav | ![]() |