AGK Tier1 alapok 12. rész – szöveg bevitel

Az előző leckében a külső forrásfájlokról beszéltünk, ebben a leckében pedig a szöveg bevitelről fogunk beszélni.

Az eddigi leckékben többnyire csak előre megadott információkkal dolgoztunk ám módunkban áll a programunkba használat közben bevinni információt amit a programunk felhasználhat. Ennek vagyunk tanúi amikor például egy játékban megadjuk a nevünket.

Az AGK-ben alapvetően 2 módon vihetünk be információt, szöveg bevitelt használva és “szerkesztő dobozt”. A szöveg bevitel akkor lehet hasznos amikor a programunk szöveg alapú, nincs grafikus kezelő felület vagy teljesen mindegy hol visszük be az információt, a “doboz” pedig akkor hasznos ha a programunk rendelkezik grafikus kezelő felülettel és egy adott helyen kívánjuk az információt bevinni. Ebben a leckében a szöveg bevitelt fogom bemutatni és egy másik leckében fogunk foglalkozni a dobozzal.

StartTextInput()

do
	
	Sync()
loop

A StartTextInput() utasítással közöljük a programunkkal hogy szeretnénk szöveget bevinni. Ha lefuttatjuk, a programunk akkor megnyit számunkra egy kis szöveg mezőt a képernyő közepén amibe gépelhetünk és ha lenyomjuk az ENTER billentyűt akkor azt bezárjuk. Most lássunk egy példát arra hogyan is használhatjuk fel a bevitt információt.

informacio as string
StartTextInput()

do
	If GetTextInputState() = 0 then informacio = GetTextInput()
	If GetTextInputState() = 1 then Print(informacio)
	Sync()
loop

Ahogy láthatjuk először is létrehoztunk egy string változót informacio, hogy ebben tároljuk az információt amit beviszünk. Majd a StartTextInput() utasítással elindítjuk az szöveg bevitelt. A do-loop ciklusban pedig leellenőrizzük hogy a bevitel véget ért-e vagy még tart a GetTextInputState() utasírással. Ha az értéke 0 akkor az azt jelenti hogy a bevitel még tart és ekkor a korábban létrehozott változónkba eltároljuk az addig bevitt szöveget a GetTextInput() utasítással. Ha viszont az információ bevitelnek vége vagyis az értéke 1, akkor kiíratjuk a képernyőre a bevitt információt a változót felhasználva amiben eltároltuk az addig bevitt szöveget.

Természetesen előfordulhat hogy szeretnénk szabályozni hogy ne azonnal a programunk elején kezdjük a szöveg bevitelt, hanem mondjuk később amikor lenyomunk egy billentyűt.

#include "keys.agc"
informacio as string

do
	If GetRawKeyReleased(KEY_SPACE)
		If GetTextInputState() = 1 then StartTextInput()
	Endif
	
	If GetTextInputState() = 0 then informacio = GetTextInput()
	If GetTextInputState() = 1 then Print(informacio)
	Sync()
loop

Ahogy láthatjuk, itt először is behívtam a “keys.agc” fájlt amit a korábbi leckében készítettünk és a programunk lényegében annyiban változott hogy most már akkor indítjuk el a szöveg bevitelt ha a szóköz (SPACE) billentyűt felengedtük, ezt a GetRawKeyReleased() utasítással ellenőrizzük. Majd ha felengedtük a billentyűt azt ellenőrizzük hogy a szöveg bevitel aktív-e. Ha nem, (az értéke 1) akkor aktiváljuk.

Természetesen akár le is állíthatjuk manuálisan a szöveg bevitelt a StopTextInput() utasítással amikor csak szeretnénk, nem kell megvárni hogy a felhasználó az ENTER billentyűt lenyomja és korlátozhatjuk is a bevihető karakterek számát a SetTextInputMaxChars() utasítással.

Feltűnhet hogy az AGK-ben az utasítások értelmes angol szavak, ezért a tanulásunkat jelentősen megkönnyítheti ha valamennyit tudunk angolul mivel nagyon sok utasítás magától értetődő hogy mire való és a dokumentációban pedig leírják hogyan is működik.

A következő leckében hogy hasznát vegyük mind annak amit eddig tanultunk, írni fogunk egy egyszerű kis programot.

Ajánlott:

Chemotherapy is ordinarily a basic cialis 20 mg http://djpaulkom.tv/dating-might-seem-become-aggravating-to-females-2/ option, since it is getting active. Anabol discount online viagra is today, and has historically been, the most commonly used and also the cheapest material is latex. Some people are well informed generic levitra online about ill effects of particular drugs especially antidepressant drugs adversely affect sexual functionality. click content order generic viagra Other natural heartburn cures are as follows.