Azonosítók:
Általánosan:
Változók bárhol deklarálhatók a programban, egyszerűen azzal, hogy értéket adunk neki.
Egy változónak nincs fix típusa, ezért mindig olyan típusú, amilyen értéket utoljára kapott,
tehát egy változó típusa változhat a program futása közben.
dBase:
A dBase kétféle változót különböztet meg:
- Nyitott adatbázis összes mezője (kivéve a memo típusúakat)
Meződefiníció részei:
Mezőnév:
- legfeljebb 10 karakter hosszú
- betűvel kezdődik
- betűt, számjegyet és '_'-t tartalmazhat
- nincs más konvenció, így foglalt szavak sincsenek!
Mezőtípus: (a definiáláskor egyetlen betű)
- C = karakteres
- N = numerikus
- D = datum
- L = logikai
- M = "memo"
Mezőszélesség:
A mezőben tárolni kívánt karakterek vagy számjegyek száma.
Numerikus esetben a tizedespont és a tizedesjegyek is beleszámítandók, és
külön meg kell adni, hogy ebből hány karaktert is szánunk a tizedesjegyeknek.
a többi típus esetén a méret kötött, nem változtatható, így magadása sem kötelező.
- Memóriaváltozók:
Ha egy vátozó neve megegyezik egy, az aktuális adatbázis-állomány egy mezőjének nevével,
akkor e név beírása mindig a mezőre vonatkozik!
pl.: datum nevű változó és megyegyező nevű mező eseténesetén:
- datum: a mezőre hivatkozik
- m-> datum: a változóra hivatkozik.
Egyszerre legfeljebb 256 memóriaváltozó lehet, és
ezek összes tárigénye nem haladhatja meg a 6000 byte-ot!
Memóriaváltozók láthatósága:
- Lokális deklaráció:
PRIVATE < mem. vált.-lista> a program lefutása után autómatikusan megszűnnek
- Globális deklaráció:
PUBLIC < mem. vált.-lista > a program befejezése után is lekérdezhetőek!!
Memória változó megszüntetése:
Finomság:
PRIVATE ALL [LIKE |EXCEPT] < mem. vált nv >
A parancs hatására a megfelelő nevű váltázók mind lokálisan jönnek létre.
Ezáltal lokális tulajdonságúvá tehetünk egy felsőbb szinten már
lérehozott változót is ;)
Clipper:
A nyelv sok standard szót definiál, ezek használhatók
változónevekként is.
A változónevek nem kis-nagybetû érzékenyek.
Változót "deklarálhatok" a következõ utasításokkal:
- LOCAL: érvényességük arra az eljárásra, függvényre terjed ki,
amelyben deklarálva lettek. Ha ez a függvény vagy eljárás többször is meghívásra
kerül, minden alkalommal új LOCAL változók jönnek létre, még akkor is,
ha rekurzív módon a függvény önmagát hívja. A LOCAL változók a
deklaráció utáni elsõ hivatkozástól kezdve élnek.
- STATIC: érvényességük a deklarálás helye szerinti aktuális
eljárásra vagy függvényre, illetve az ebbõl meghívott összes eljárásra és
függvényre kiterjed.
Ha a STATIC változót a fõprogramban deklaráljuk, akkor a teljes programrendszerben érvényes.
Ha deklarálására egy alsóbb szintû eljárásban vagy függvényben került sor, akkor a felsõbb szintre
történõ visszatéréssel a változó elvész, kivéve ha a fordításhoz megadjuk a /N paramétert.
A STATIC változók deklarálásukkal azonnal létrejönnek, és ha nem adunk nekik azonnal értéket,
akkor a NIL értéket veszik fel.
- PRIVATE: a futás ideje alatt dinamikusan jönnek létre a PRIVATE
vagy a PARAMETERS utasítás hatására. Ha egy változót nem deklarálunk, akkor
automatikusan a PRIVATE deklarációt kapja. Érvényességük a deklaráció
helyétõl mindaddig terjed, amíg egy másik PRIVATE utasítással azonos
nevû változót nem deklarálunk, vagy a RELEASE paranccsal nem töröljük.
Kezdeti értékadás hiányában a NIL értéket veszik fel.
- PUBLIC: dinamikusan a futás ideje alatt jönnek létre.
Érvényességük a deklaráció helyétõl mindaddig terjed, amíg egy másik PUBLIC utasítással
azonos nevû változót nem deklarálunk, vagy egy RELEASE paranccsal nem
töröljük. Ha a program valamely részén a PUBLIC változóval azonos nevû
PRIVATE változót deklarálunk, akkor a PUBLIC változó érvényessége
felfüggesztõdik arra az idõre, amíg a PRIVATE változó érvényben van. A
deklarált, de kezdeti értékkel el nem látott PUBLIC változók
alapértelmezése a hamis (.F.) érték.
FoxPro:
Használhatók a Clipper lehetõségei, valamint bevezettek egy új deklarációt:
REGIONAL: Olyan változót deklarál melynek élettartama az adott
régió, tehát a régió végén megszûnik. (A régió egy eljárás egy része.)
Elválasztó jelek és megjegyzések
dBase:
Elválasztókarakter: a szóköz, illetve paraméterek esetén a veszző (olyankor a parancsban máshol vessző nem szerepelhet)
Komment jelölések:
NOTE vagy '* ' : |
egész soros komment |
&& : |
a sor további részének kikommentezése |
Clipper:
Komment jelölések:
* : |
egész soros komment |
// vagy && : |
a sor további részének kikommentezése |
/* és */ |
sorközi magyarázat |