SZÖVEGDOBOZ! lista
ahol
a lista egy következő formátumú lista [kulcsszó1 érték1 kulcsszó2 érték2... ], ahol az összes kulcsszó a következő szavak közül választható: SIZE, TITLE, BG, FRAME, FROM, PP, OFFSET, MARGIN és EDIT
A szövegdobozok több tulajdonságának beállítására van lehetőségünk, ilyenek a méret, a címsor, a háttérszín, a kerettípus, korlát a változók elfogadható értékére (a numerikus értékek esetén), az értékek kijelzésének stílusa a doboz belsejében, az offset, a margó és a szerkesztés megengedése, illetve letiltása. Figyeljük meg, hogy a Comenius Logo jelen verziójában a szövegdobozok tulajdonságait csak a Logo alapszavainak alkalmazásával adhatjuk meg, erre menüpont nem szolgál.
A SZÖVEGDOBOZ! utasítással az összes aktív szövegdobozteknőc megfelelő tulajdonságait állíthatjuk be. A fenti kulcsszavak érvényes értékei és jelentésük a következőkben olvasható:
A Méret beállítása: Az aktív szövegdobozteknőcök méretének beállításához használjuk a SZÖVEGDOBOZ! [SIZE [O S]] utasítást, ahol az [O S] két egész számból álló lista. Az alapbeállítás [ ] vagy az ezzel megegyező [0 0], melyek esetén a Logo a szövegdobozban megjelenő változó aktuális értékének megfelelő méretűre állítja a szövegdobozt. (Ha nem adtuk meg a szövegdoboz méretét, akkor a SZÖVEGDOBOZ függvény eredményeként megkaphatjuk aktuális méretét.)
Ha szerepel az utasítás paraméterében a SIZE kulcsszó, akkor mindkét adott számnak egésznek, és 1-nél nagyobbnak kell lennie. Az O a szövegdoboz oszlopainak számát adja meg, értéke legfeljebb 80 lehet. Az S a szövegdoboz sorainak számát határozza meg, értéke legfeljebb 25 lehet.
Ha a szövegdoboz egy slider, akkor ennek mindig egysorosnak (vízszintes slider) vagy egyoszloposnak (függőleges slider) kell lennie. Ezért a slider méretének megadása esetén a rendszer az O és S értékek közül csak a nagyobbat fogja figyelembe venni. Ez a slider a vízszintes méretét határozza meg, ha O S, illetve a függőleges méretét, ha O < S.
A Címsor beállítása: A TITLE kulcsszó alapértéke 1, melynek jelentése az, hogy a megfelelő szövegdoboz (ami valójában egy ablak) rendelkezik címsorral, melyben a dobozhoz rendelt változó neve olvasható. Ha a kulcsszó értékét 0-ra állítjuk, akkor a címsor nem jelenik meg. A függőleges slider mindig címsor nélkül látható.
A Háttérszín beállítása: A háttér színe a SZÖVEGDOBOZ! [BG szín] utasítás kiadásával állítható be az egyik alapszínre, illetve a 1 érték használatával átlátszó hátteret adhatunk szövegdobozunknak. Az alapértelmezés szerint a háttér színe fehér, tehát az érték 15 (illetve sliderek esetén 7). Jegyezzük meg, hogy ha a képernyőn látható szövegdobozok némelyike átlátszó háttérszínű, akkor a Logo működése lelassulhat.
A Keret beállítása: Alapértelmezésben a FRAME kulcsszó értéke 1, melynek jelentése az, hogy a megfelelő szövegdoboz (ami valójában egy ablak) kerettel rendelkezik. Ha a kulcsszó értékét 0-ra állítjuk be, akkor a rendszer nem jelzi ki a keretet.
A Változó értékhalmazának beállítása: Ha a szövegdobozban megjelenő X változó elfogadható értékeit egy [A, B] zárt intervallumra szeretnénk korlátozni, melynek mindkét határa egész szám, akkor ez a SZÖVEGDOBOZ! [FROM [A B]] utasítással megtehető. Az alapbeállítás [ ], vagy az ezzel megegyező [0 0], melyek jelentése szerint az X értékeire semmiféle kikötést nem teszünk (még az sem feltétel, hogy numerikus értékű változó legyen).
Ha a FROM [A B] (ahol A < B) utasítással megadunk egy intervallumot, akkor A és B értéke csak egész szám lehet. Ezután abban az esetben, ha a szövegdobozhoz tartozó X változónak (ha már létezik) nem megfelelő értéket próbál adni a felhasználó, a változó az A értékét veszi fel. Ez alól a szabály alól egyetlen kivétel van, ha egy B értékénél nagyobb számot próbálunk megadni, akkor a változó a B értékét veszi fel. Ha a szövegdobozteknőcöt hozzuk létre első lépésként a változó értékének megfelelő korlátozásával, majd ezután készítjük el a hozzá tartozó változót, hibás értéket adva ennek, akkor szintén a fenti szabályt alkalmazza a rendszer:
? ÚJTEKNŐC "Z [LÁTHATÓ]
? FIGYELJ "Z
? SZÖVEGDOBOZMÓD! "IGAZ
? SZÖVEGDOBOZ! [FROM [1 100]]
? NÉV "Z "HELLO
? KI :Z
1
Az elfogadható érték beállításához megadott intervallumnak legalább 2 különböző számot kell tartalmaznia, emiatt a SZÖVEGDOBOZ! [FROM ...] utasítás számára nem szerepelhet érvényes bemenetként az [A, A] típusú intervallum.
A Stílus beállítása (szép kiírás): Az opció alkalmazásával megadhatjuk a szövegdobozban megjelenő tartalom kijelzésének módját. A PP kulcsszó értéke 1 és 6 közötti egész szám lehet, melyek közül az 1 az alapérték. Ha a beállított érték:
1 akkor a szövegdoboz tartalma a Memóriaablak ellenőrző ablakában megjelenő módon lesz látható,
2 akkor a szövegdoboz tartalma úgy jelenik meg, ahogy a KIÍRJEL utasítás hatására jelenne meg az írólapon, tehát egyetlen hosszú sorban,
3 akkor a szövegdoboz tartalma egy sorban, egyetlen hosszú szóként jelenik meg,
4 akkor a szövegdoboz tartalma úgy jeleneik meg, ahogy a KIÍRSOR utasítás hatására jelenne meg az írólapon, tehát listákat tartalmazó lista esetén a belső listák külön sorokba kerülnek,
5 akkor a hatás a 4 értékkel megegyező, a különbség az, hogy a szövegdoboz belsejében megjelenő szöveg színét is megadhatjuk. Ha a sorba beszúrunk egy listát, mely egy 0 és 15 közötti egész számot tartalmaz, a 16 alapszín egyikének számát, akkor az ezt a listát követő szöveg a sor végéig, illetve egy másik színmegadásig az adott színnel kiírva jelenik meg,
6 akkor a szövegdoboz sliderré válik, tehát ezt az értéket csak abban az esetben alkalmazhatjuk, ha a hozzá tartozó változó értéke egész szám. A slider segítségével a változó aktuális értéke a görgető doboz helyzetével mutatható meg. Slider esetén mindig meg kell adnunk az elfogadható értékek intervallumát a FROM kulcsszóval. Ha ezt mégsem tennénk meg, akkor a rendszer az [1 10] alapbeállítást használja. A SIZE kulcsszó értékétől függően a slider függőleges, illetve vízszintes lehet.
Az Offset beállítása: Az OFFSET kulcsszó értéke -999 és 999 közé eső tetszőleges egész szám lehet, az alapérték 1. Ha a szövegdobozhoz tartozó X változó értéke többsoros szöveg (tehát ha az X teknőc PP opcióját 1, 4 vagy 5 értékűre állítjuk be), akkor előfordulhat, hogy a szövegdobozban csak a szöveg egy része fér el. Az OFFSET kulcsszó beállításával megadhatjuk, hogy mely részt szeretnénk a szövegdobozban látni.
Az OFFSET 1 beállítás esetén a szövegdoboz legfelső sorában az aktuális szöveg első sora jelenik meg. Ha a beállítás OFFSET 2, akkor a szövegdoboz legfelső sorában az aktuális szöveg második sora látható stb. Az OFFSET -1 érték azt jelenti, hogy a szövegdoboz legalsó sorában az aktuális szöveg utolsó sorát láthatjuk. Ha az OFFSET -2 adjuk meg, akkor a szövegdoboz legutolsó sorában az aktuális szöveg utolsó előtti sora jelenik meg stb. Az OFFSET lehetőség hatása csak abban az esetben észlelhető, ha maga a szöveg nagyobb, mint amekkora a szövegdobozban elférne.
A Margó beállítása: A MARGIN kulcsszó értéke a -99 és 99 közé eső tetszőleges egész szám lehet, az alapérték 0. A MARGIN 1 beállítás esetén a szövegdoboz első oszlopa üres marad, és ennek megfelelően a teljes szöveg egy karakterrel jobbra tolódik el. Tetszőleges más pozitív szám alkalmazása esetén az adott számnak megfelelő számú oszloppal tolódik el a szöveg jobbra. Ha negatív számot adunk meg, akkor a szöveg elmozdítása bal felé történik.
A Szerkesztés beállítása: Az EDIT kulcsszó értéke 0 vagy 1 lehet, az alapérték 1 (kivéve a sliders esetén, ugyanis ekkor az alapérték 0). Ha egy X szövegdobozteknőc esetén az EDIT opciót 1 értékre állítjuk (vagy egyáltalán nem használjuk), akkor a szövegdoboz szerkeszthető lesz, s ezzel módosíthatjuk a megfelelő változó aktuális tartalmát, méghozzá a következőképpen:
vagy dupla egérkattintással a szövegdobozra akár a program futása alatt is. Ekkor az OLVASKÓD függvény eredményeként -3 értéket kapunk (de CSAK akkor, ha a szövegdoboz tartalmát módosítottuk is!), a RÁKATTINTOTT függvény eredménye a megfelelő teknőcváltozó neve lesz, és az EGÉRHELY függvény a szövegdoboz aktuális pozícióját adja értékül. Az OLVASKÓD függvény eredménye -3 lesz abban az esetben is, ha vontatjuk a slider görgető dobozát,
vagy az EDIT ":X parancs kiadásával akár a program futása alatt is.
A SZÖVEGDOBOZ! [EDIT 0] parancs használata esetén letiltjuk a szövegdoboz tartalmának szerkesztését.