Page 26 - Enterpress Magazin - 2020. 3-6.
P. 26
26. oldal 2020. május – december
sú adatok határolójelek között gépelve értékelődnek ki Az ismertetett három parancs egyike sem ad lehetőséget
helyesen. arra, hogy adatbevitel képi formáját befolyásoljuk, ennek
Próbaként gépeljük be a következő parancsot: módjaira a „Formátumozott adatbevitel” című fejezetben
térünk ki.
INPUT „Kerek begepelni egy szot: „ TO szoveg
10.4.2. Adatbázismezők tartalmának módosítása prog-
Hatására a képernyő következő sorában megjelenik az, ál- ramból
talunk megadott üzenet, és mögötte a kurzor; ide gépel- Ha nem is hangsúlyoztuk, eddigi példáinkból érezhető,
hetjük be például „PITE” szócskát mint karakteres adatot hogy, az adatbázismezők és a memóriaváltozók egy lé-
(idézőjelekkel együtt). A kifejezés begépelését az ‚ENTER’ nyeges tevékenység szempontjából nagyon különböznek
billentyű megnyomásával kell befejezni. Egy egyszerű ka- egymástól. Ez pedig az értékadás. Ahhoz, hogy program-
rakterlánc-állandó helyett begépelhető kifejezést is: jainkban tudjuk módosítani a mezők tattalmát, mégpedig
INPUT ‚Kerek egy kifejezest:’ to szoveg2 anélkül, hogy a felhasználó kezébe helyeznénk minden
Kerek egy kifejezest:”ALMAS”+szoveg ellenőrzési lehetőséget az EDIT, BROWSE vagy hasonló
? szoveg2 ALMASPITE parancs segítségével, szükségünk lesz egy olyan utasítás-
ra, amely valamilyen változó vagy kifejezés értékét tudja
Kifejezetten csak karakteres adatok bevitelére alkalmas az elhelyezni egy adott mezőben. Ezt valósítja meg a követ-
kező parancs:
ACCEPT [<üzenet>] TO <memóriaváltozó>
REPLACE [<érvényességi kör>] <mezőnév> WITH <kife-
parancs. Míg az INPUT parancs által létrehozott memó- jezés> [,<mezőnév2> WITH <kifejezés2> ...] [WHILE <fel-
riaváltozóról csak futási időben dől el, hogy milyen típusú, tétel>] (FOR <feltétel>]
addig az ACCEPT parancs a memóriaváltozót minden-
képpen karakteres típusúként hozza létre, és begépelt Ez a parancs az érvényességi körébe eső rekordok (alap-
karaktereket „betű szerint” helyezi el benne. Működési értelmezés szerint az aktuális rekord) megadott mezőinek
módja miatt nem kell határolójeleket használni a begé- tartalmát cseréli ki a megadott kifejezések értékével. Az
peléskor, illetve ha mégis kiírjuk ezeket, akkor a szöveg összetartozó mezők és kifejezések típusának egyezni kell.
határolójelekkel együtt kerül a változóba. Mezőnévként bármely nyitott adatbázis mezőjét megad-
Mindkét parancs a végrehajtáskor egy új memóriaváltozót hatjuk. Indexelt állományban az indexállomány minden
hoz létre, illetve ha előzőleg már létezett ilyen nevű me- egyes rekordon elvégzett módosítás után aktualizálódik.
móriaváltozó, akkor azt felülírja. A memóriaváltozó a típu- Ezért az indexkulcs mezőjében történő módosítás alkal-
sát, hosszát, értékét mind az utasítás végrehajtásakor kap- mával a FOR és WHILE paraméter használata nem ajánla-
ja. Az adat, illetve kifejezés begépelésének végét mindkét tos, mert az azonnali átrendeződés miatt bizonyos rekor-
parancs esetén az ‚ENTER’ billentyű kell jeleznünk. Amíg dok kimaradhatnak a műveletből.
ez nem történt meg, a program „áll”.
Ha ezzel a paranccsal egy új rekordot szeretnénk kitöl-
A következő parancs is adatbevitelt valósít meg, de spe- teni, akkor azt a rekordot előzőleg létre kell hozni. Erre
ciálisan egyetlen billentyű megnyomására vár, és amikor szolgál az
ezt megtettük, azonnal engedi tovább a program futását:
APPEND BLANK
WAIT [TO <memóriaváltozó>]
parancs, mely az adatbázishoz fűz egy új rekordot, és a
Paraméter nélkül használva a parancs felfüggeszti a prog- rekordmutatót erre állítja, ezért az ezt követően kiadott
ramvégrehajtást (a képernyőn erről a WAITING felirat REPLACE parancs, érvényességi kör nélkül megadva, en-
tájékoztat), amíg a felhasználó egy tetszőleges billentyű nek mezőit tudja módosítani.
megnyomásával nem jelzi, hogy folytatható az utasítá-
sok kiértékelése. A folytatáshoz a vezérlőbillentyűk (pl. a Lehetőségünk van arra is, hogy egy teljes adatbázist aktu-
‚SHIFT’ ) kivételével bármelyik billentyűt megnyomhatjuk. alizáljunk másik, adatbázis-állomány segítségével, felhasz-
Ha beírjuk a parancsba a „TO <memóriaváltozó>” para- nálva a két állomány azonos tartalmú mezőit. A kulcs sze-
métert is, a lenyomott billentyűnek megfelelő karakter rint megegyező rekordokban történik meg a módosítás. A
bekerül a megadott nevű, egy byte hosszúságú memória- parancsot az alábbi formában kel megadni:
változóba. Ha ezt a paramétert nem használjuk, a karakter
nem tárolódik, utólag nem lehet lekérdezni, hogy milyen UPDATE FROM <adat-állomány> ON <kulcsmező>
billentyű hatására folytatja a dBASE a programvégrehaj- ADD <mezőlista> vagy REPLACE <mezőlista>
tást.
Még egyszer hangsúlyozzuk, hogy míg az előző két pa- Az adatbázis-állományok mezői is mint változók alkalma-
rancs végrehajtásakor az ‚ENTER’ billentyű megnyomása sak a felhasználói adat fogadására, erre azonban csak a
jelzi az adatbevitel befejezését, addig a WAIT parancsát az formátumozott adatbevitelt megvalósító parancs hasz-
első leütött billentyű hatására már befejeződik az utasítás nálható (az „interaktív” APPEND, BROWSE és társaiktól
végrehajtása. eltekintve), ennek alkalmazását ismertetjük` következő
fejezetben.

