Parametry
viewdef | specifikace formulß°e, kter² mß b²t otev°en |
base | otev°en² kurzor nebo konstanta NO_REDIR |
flags | viz Parametry otev°enφ formulß°e |
limit | maximßlnφ poΦet vybran²ch zßznam∙ (Φφslo v∞tÜφ nebo rovno 1) |
bindl | pole slo₧ek typu trecnum (viz popis nφ₧e) |
reserved | procedura vyhrazenß pro budoucφ pou₧itφ, zadejte NULL resp. NIL; |
hParent | identifikace (handle) formulß°e, kter² mß b²t v₧dy pod otevφran²m formulß°em, nebo nula |
hView | vracφ identifikaci (handle) otev°enΘho formulß°e |
Popis
Funkce Select_records
slou₧φ k v²b∞ru zßznamu nebo mno₧iny zßznam∙ z tabulky nebo kurzoru. Procedura otev°e na obrazovce formulß° specifikovan² parametrem viewdef p°φpadn∞ p°esm∞rovan² na kurzor zadan² parametrem base (pokud tento nenφ roven NO_REDIR) a umo₧nφ u₧ivateli, aby vybral urΦitΘ zßznamy. Zßznamy se vybφrajφ stejn²m zp∙sobem jako p°i p°ivazovßnφ zßznam∙ k ukazateli (tj. stiskem tlaΦφtka, kterΘ se objevφ v levΘ Φßsti formulß°e). Program se pak m∙₧e dozv∞d∞t absolutnφ Φφsla t∞chto vybran²ch zßznam∙.
VybranΘ zßznamy se zaznamenajφ v poli bindl. PoΦet slo₧ek pole bindl musφ b²t bezpodmφneΦn∞ alespo≥ o 1 v∞tÜφ, ne₧ je hodnota parametru limit. Prvnφ slo₧ka pole bindl obsahuje poΦet vybran²ch zßznam∙, dalÜφ slo₧ky pak obsahujφ Φφsla vybran²ch zßznam∙. ╚φsla vybran²ch zßznam∙ v poli bindl jsou absolutnφmi Φφsly zßznam∙ v kurzoru (tabulce), do n∞ho₧ formulß° vede. P°φpadn² QBE dotaz p°i vybφrßnφ zßznam∙ nemß vliv na hodnotu v poli bindl. ╚φsla zßznam∙ se v tomto p°φpad∞ automaticky p°epoΦφtajφ na p∙vodnφ kurzor.
Obsah pole bindl mß v²znam nejen po, ale i p°ed volßnφm Select_records
. Program m∙₧e do pole bindl zapsat Φφsla n∞jak²ch öp°edemö vybran²ch zßznam∙, a musφ do prvnφ slo₧ky pole zapsat jejich poΦet. Pokud ₧ßdnΘ zßznamy nemajφ b²t vybrßny p°edem, je nutno p°ed volßnφm Select_records
do prvnφ slo₧ky pole bindl zapsat nulu.
Parametr hParent mß hodnotu jinou ne₧ nula pouze tehdy, pokud si p°ejeme, aby se otevφran² formulß° nemohl ocitnout nikdy pod (d°φve otev°en²m) formulß°em hParent.
Parametrem hView m∙₧e b²t bu∩ konstanta NULL (NIL ve vnit°nφm jazyce, NULL_WINDOW_ID v Pascalu), nebo prom∞nnß. V druhΘm p°φpad∞ funkce zapφÜe do tΘto prom∞nnΘ identifikaci otev°enΘho formulß°e a tuto prom∞nnou si zapamatuje. Jakmile bude formulß° uzav°en, WinBase602 zapφÜe do tΘto prom∞nnΘ nulu. Dφky tomu m∙₧e program snadno zjistit, ₧e u₧ivatel uzav°el n∞kter² formulß°.
Hodnota funkce
Pokud se poda°φ formulß° otev°φt, funkce vracφ jeho identifikaci nebo hodnotu 1, jde-li o modßlnφ formulß°. P°i chyb∞ vracφ nulu.
P°φklad
var pole : array[0..10] of trecnum; id : window_id; i : short; cursor CURS; begin Open_cursor(CURS); pole[0]:=0; if Select_records('*FORM1', CURS, NO_INSERT+NO_DELETE, 10, pole, 0, id) <> 0 then while (id!=0) do Peek_message(MSG) ; {
Φekßnφ, a₧ u₧ivatel sßm zav°e formulß°
} for i := 1 to pole[0] do CURS[pole[i]].plat := CURS[pole[i]].plat + 1000; {
ruΦn∞ vybran²m zam∞stnanc∙m se zv²Üφ plat
} Close_cursor(CURS); end.