Egy xBase-kompatibilis (FoxPro) program felépítése
Láthatóság, érvényesség, eljárások és függvények forrásállományai
Az xBase kompatibilis adatkezelő nyelv. Minden nyelvnek van utasításkészlete. Magas szintű, többféle módon is használható utasítások a relációs adatmodell műveleteihez.
Utasítás: hatékony a sztringkezelő műveletek, magas szintű utasítások, hatékony dátumkezelő műveletek.
Felépítése
A változók deklarálása típus és érték szerint szabadon, bárhol lehet. Tömböt a DIMENSION és a DECLARE utasítással hozunk létre. Az egyes elemek típusai tetszőlegesek lehetnek. Ha @ jelet írunk a változó elé, akkor az értékátadás cím szerinti lesz. Speciális utasítások léteznek az adatbázis tartalmának memóriába, illetve tömbökbe való másolására. A paraméterátadás cím és érték szerint lehetséges (SET UDF). Valamennyi memóriaváltozó, kivéve a tömböket, eljáráshíváskor az eljárásnak érték szerint adódik át. A tömbök viszont cím szerint adódnak át. Ha a PRIVATE parancs nincs vonatkoztatva a paraméterre, az eljárásban elvégzett módosítások a tömbben az eljárás végrehajtódása után is megmarad.
Eljárások és függvények
Minden eljárás függvény, és minden függvény eljárás. Egy eljárás vagy függvény addig hajtódik végre, míg nem találkozik egy RETURN utasítással, vagy míg egy másik eljárás vagy függvény nem kezdődik. A PASCAL-lal ellentétben a nyelv nem támogatja a strukturális programozást. Erről nekünk kell gondoskodni, mivel az eljárások nem ágyazhatók egymásba. Minden eljárásnak vagy függvénynek Van visszatérési értéke. Ha ezt külön nem határozzuk meg, a visszatérési érték logikai TRUE lesz, egyébként bármi lehet. Fontos megemlíteni, hogy saját függvényeinkre, memóriaváltozóinkra hivatkozhatunk index kifejezéseinkben is.
Eljárás vagy függvény hívása
do függvénynév with paraméterlista
if függvény (…)
= függvény (…)
Láthatóság kérdése
Ha nincs PRIVATE parancs, akkor nem rejti el, kivéve, ha az eljárás által hívott paraméter megegyezik a hívó program változójával. A SET PROCEDURE TO eljar.prg az eljar.prg forráslistába megadott eljárások globális eljárásokká válnak. Egyszerre csak egy hatásos. A memóriaváltozó globálissá tétele a PUBLIC paranccsal történik. A PUBLIC ARRAY kifejezetten hasznos a rövid törzstáblázatok memóriában tartásához.
A forrásállományok .prg kiterjesztésű text file-ok. A program gyakorlatilag eljárás vagy függvény hívások sorozatából tevődik össze. Egy programon belül valamennyi függvény globális, azaz a futtatáskor bárhonnan elérhető, hasonlóan a C nyelvhez.