Ins_Browser
( NumWind : Byte;
NumObj : Word;
X1, Y1,
X2, Y2 : Byte;
Attr : Word;
DBT : Byte;
KeyNr : Word;
Lab_GetText ;
Lab_Select ;
Lab_Filter )
Vložení databázového browseru interní databáze do okna. 'NumWind'
je číslo okna, do kterého se bude objekt vkládat, 'NumObj'
je číslo objektu v rámci okna. Objekty jsou vkládány v
přirozeném pořadí. Atribut 'Attr'
definuje chování objektu. Dvojice čísel [X1, Y1] a [X2, Y2] tvoří
souřadnice objektu. 'DBT' je číslo databáze,
jejíž položky budou zobrazeny. 'KeyNr' určuje položku, podle které budou věty
seřazeny v seznamu. Použít lze pouze takovou položku, které je indexována.
-
'Lab_GetText'je podprogram, který vrací znění aktuální věty v browseru. Návrat
hodnoty se provede nastavením globální proměnné SetResult. Při volání tohoto
podprogramu je v paměti nahrána platná věta zobrazované databáze.
-
'Lab_Select' je podprogram, který je volán při vybrání věty browseru dvojitým
stiskem myši nebo /mezerníkem/.
* Nechcete-li výběr použít, pište 0.
* V podprogramu výběru nelze hledat jinou větu vybrané databáze!
* Po ukončení podprogramu výběru systém sám kontroluje platnost věty voláním
podprogramu 'Lab_Filter'. Je-li věta platná, volá systém podprogram pro
zobrazení řádky 'Lab_GetText'. Není-li věta platná, pokusí se systém posunout
kurzor na jinou větu v okolí věty původní a znovu browser překreslí.
* V rámci tohoto podprogramu nelze samozřejmě zrušit rodičovské okno procedurou
WDone! Pokud se tak přesto stane, hlásí program chybu.
-
'Lab_Filter' je podprogram, který je volán před zobrazením každé věty.
Podprogram musí rozhodnout, zda bude věta platná či nikoli. Rozhodnutí vrací
browseru pomocí SetIResult(1):
- SetIResult(1, True) věta je platná
- SetIResult(1, False) věta není platná
* Nechcete-li filtr použít, pište 0.
* Před voláním podprogramu 'Lab_Filter' ukládá systém procedurou
SetLIResult(1) umístění věty v databázi. Větu je v případě potřeby
možné nahrát funkcí _GetRec.
* V mnoha případech stačí pro rozhodnutí o platnosti věty klíč. Proto lze
pomocí funkce _GetResult zjistit znění klíče
vyšetřované věty.
* V podprogramu filtru nelze hledat jinou větu filtrované databáze!
-
Datový obraz objektu je LongInt - Ident na vybranou větu.
-
Pozor ! Použitím objektu Ins_Browser se nahraje do paměti věta, která bude
zobrazena ve spodní části prostoru pro Ins_Browser vyhrazeného. Proto jestliže
obsluha stiskne /ESC/ a nic si nechce vybrat, nestačí pouze WDone,
ale je potřeba nahrát větu, která byla před tím v paměti. To platí samozřejmě
pouze tam, kde by tento stav mohl být na závadu.
Podívejte se na: Objekty