Page 27 - Enterpress Magazin - 2020. 3-6.
P. 27
2020. május – december 27. oldal
10.5. Formátumozott adatbevitel, rekord „ar” nevű mezőjének, tartalmát. (Az STR() konvertá-
adatmegjelenítés ló függvény a típusegyezés miatt kell, ennek második és
harmadik argumentuma a keletkező karakterlánc hosszát,
Egyik eddig ismertetett adatbeviteli parancs sem adott le- illetve a numerikus adatból az átalakítandó tizedesjegyek
hetősé arra, hogy az adatbeviteli képernyő megjelenési számát adja meg.) Ha egyetlen numerikus típusú kifejezés
formáját befolyásolhassuk. Az ún. formátumozott adatbe- érti szeretnénk megjeleníteni, nem kell használni a külön-
vitelt megvalósító parancsok használatával egy egyszerű böző konvertáló függvényeket, de amikor ezeket karakte-
APPEND parancs „semmitmondó megjelenési formáját res adattal keverve íratjuk akkor már igen.
is megváltoztathatjuk, ily módon a program „felhaszná-
ló-barátsága” nő. A képernyőn nem csupán a kurzor vagy A „GET” paraméter segítségével adatokat tudunk a bil-
az adatbázismezők puszta neve jeleníthető meg, hanem lentyűzetről bekérni. Mégpedig olyan kényelmes formá-
általunk meghatározott magyarázó és segítségnyújtó szö- ban, hogy a megadott változó jelenlegi értéke megjele-
vegek is. nik a képernyőn és - karakteres típusú adat esetén - azt
A formátumozott adatbevitel megvalósításához végered- a megszokott szerkesztőbillentyűkkel javíthatjuk olyanra,
ményben egyetlen parancs ismerete elegendő. A pa- amilyent tárolni szeretnénk. A „PICTURE” paraméter hasz-
rancs, amely a felhasználó által definiált formában fogadja nálatával bizonyos mértékben korlátozhatjuk a bevihető
billentyűzetről vagy jeleníti meg a képernyőn az adatokat, adat formáját és tartalmát. A „GET” paraméterben mega-
az adatbekérés vagy -megjelenítés pontos helyét is befo- dott változónév egyaránt lehet memóriaváltozó és adat-
lyása. A parancs teljes felépítése: bázismező neve. A szerepeltetett változónak léteznie kell,
ez memóriaváltozó esetében azt jelenti, hogy a beviteli
@ <oszlop>,<sor> [SAY <kifejezés> [USING <formá- parancs előtt valamilyen értékadó utasításban kell szere-
tum>]] peltetni, adatbázismező esetében pedig gondoskodnunk
@ <oszlop>,<sor> [SAY <kifejezés>] [GET <változó> [PI- kell a parancs kiadása előtt, hogy a rekordmutató az aktív
CTURE <formátum>]] adatbázisnak egy rekordjára mutasson (az EOF() függvény
ne legyen igaz értékű), és az adott táblázatban legyen
A „sor” és „oszlop” paraméterek a kurzort pozícionálják, olyan mező, melynek a megadott neve van.
a „SAY” paraméter megjeleníti a kifejezés értékét, a „GET” A „@ ... GET” parancs az adatbevitelt még csak előkészíti;
paraméter az adott változó tartalmát ajánlja fel módosí- definiálja, hogy hol és mely változókba szeretnénk ada-
tásra, a „PICTURE” paraméterrel lehet befolyásolni a meg- tot bekérni. A tényleges adatbevitel engedélyezését (vagy
jelenítendő vagy tárolandó adat formáját és tartalmát. ahogy másképpen szoktuk nevezni, a változók” aktivizálá-
A parancs összetettségére való tekintettel egyesével, pél- sát) egy másik parancs, a
dákkal illusztrálva tárgyaljuk a paramétereket; hogy ezek
közül melyek hagyhatók el, illetve melyek használhatók READ
együtt, azt a parancs szintaktikájából leolvashatjuk (a [] zá-
rójeleket figyelembe véve). Érdemes kipróbálni interaktív végzi. Hatására a kurzor megjelenik az első változó kezdő
módban a parancs formáit (közben néha le kell törölni a pozíciójában. A parancs az előtte szereplő összes olyan
teljes képernyőt az ERASE paranccsal). „get változót” aktivizálja, amelyeket egy előző READ pa-
rancs még nem olvasott be. Az „összes” nem értendő szó
A „sor” és „oszlop” paraméterek helyezik a kurzort a ké- szerint, ennek is van egy korlátja, mely számszerint 64. Ezt
pernyő megadott sorába, illetve oszlopába. Mindkét para- a 64 darab „get változót” célszerű egy oldalra zsúfolni, kü-
méter megadható numerikus változóval is, de ügyeljünk lönben egyesek magyarázó szövegei már letörlődtek, és
a korlátokra. A képernyőn 25 sorban és 80 oszlopban he- csak a puszta változó jelenik meg jelenlegi értékével. Az
lyezhetők el karakterek. Példa a pozícionálásra: adatbevitel akkor ér véget, ha az utolsó változót is kitöltöt-
tük, és leléptünk róla valamilyen módon (a kurzormozga-
@ 4,5 tó, illetve az ‚ENTER’ billentyű megnyomásával). Ameddig
a kurzor valamelyik változó „mezőjében” látható, a szer-
A „SAY” paraméter használatával egy kifejezés értékét tud- kesztőbillentyűkkel bármilyen irányban mozoghatunk,
juk megjeleníteni, esetleg más formában, mint ahogy a például egy előzőleg kitöltött változót javíthatunk.
kifejezésben található adatokat tároljuk (például a kisbetűs A READ parancs nélkül a „@ ... GET” parancsok hatására ugyan
szavakat megjeleníthet nagybetűsként, anélkül hogy va- megjelennek a változók a képernyőn, de a program tovább-
lójában módosítanánk a tárolt adatot). A kifejezésbe bár- fut, nem ad lehetőséget arra, hogy adatainkat begépeljük.
mely nyitott adatbázis mezője beírható, de ez csak aktuá- Numerikus változóba való adatbekérés esetén a dBASE
lis rekord mezőjét jelenti. Hangsúlyozzuk, hogy egyetlen csak számjegyeket, előjelet és/vagy tizedespontot fogad
kifejezés írható a paraméterbe, így több adat megjeleníté- el. Minden egyéb billentyű megnyomásakor figyelmez-
séhez különböző „trükkökre” lesz szükségünk. Példaként tető hangjelzést ad a rendszer, és képernyőre nem ír ki
tekintsük a következő parancsot: újabb karaktert. Példa két változó beolvasására:
@ 4,5 SAY ‚Az aru ara forintban: ‚+STR(ar,7,2) @ 2,2 SAY „Csaladnev:” GET CSNEV
@ 3,2 SAY „Keresztnev:” GET KNEV
Hatására a rendszer a megadott pozíciótól kezdve kiírja READ
a határolójelek közé tett szöveget, és mögéje az aktuális Folytatjuk!

