hu en es hu en en en hu hu de hu hu hu hu hu hu hu hu hu hu hu zh ru kn fr hu hu en hu ar en hu ar en hu ar en kn hu hu hu hu hu hu hu hu hu de hu hu hu hu en zh ru kn fr hu en ar en hu en ar en hu en ar en hu en ar en kn hu hu hu hu hu hu hu hu ar zh ru kn fr en en en ar en hu ar en en es en kn hu hu hu en zh ru kn fr en hu en hu en hu en kn hu hu hu hu hu en pt zh ru kn fr hu pt es pt hu en hu tr eo pt hu en hu pt eo pt hu en kn hu hu hu ja ru kn ru hu ar da ar zh ar ja kn hu en
Előző részben már használtunk szövegek eltárolására karakteres tömböket, most megvizsgálunk
egy némileg hatékonyabb módszert, a szöveges változókat. Az eltárolandó szöveget String-ekben
rakjuk és nevükre hivatkozva nyerjük vissza őket.
A stringeknél lehetőség van többféle szövegkezelő utasítás használatára, változók szöveggé
konvertálására, illetve szöveg számmá vagy karakter tömbbé alakítására is.
Néhány megjegyzés: - ha a sztring típusú változóba szöveget tárolunk akkor azt mindig idézőjelek
közé téve tehetjük meg.
Ha más típusból szeretnénk átkonvertálni ,akkor első lépésben létrehozzunk egy string változót String text;
második lépésben értéket adunk neki a következő módon : text = String('b');
ilyenkor a String utasítás jelzi hogy konvertálást kell végezni.
persze a két lépés egyben is leírható: String text = String('b');
A konvertálandó karaktert a String utasítás zárójelén belül aposztróf jelek közé kell tenni, a
számokat csak a zárójelek közé kell beírni.
A konvertálandó számokat többféle képen kiírathatjuk: decimális, bináris, és hexadecimális alakban. Az kiíratás módját a zárójelen belül a szám után beírt vesszővel elválasztott konstans érték adja meg. DEC – decimális, BIN – bináris, HEX – hexadecimális
A sztringek összefűzését általában egy '+' jelel megoldhatjuk, erre mutat példát a következő progi:
String text1 = "elso szoveg ";
String text2 = "masodik szoveg "; //szöveges változók deklarálása
String text3 = String();
// két szöveges változó összefűzése
text3 = text1 + text2;
//egy szöveges változó és egy konkrét szöveg összefűzése
text3 = text1 + "ami kiirhato";
//szöveges változó és egy szám összefűzése
text3 = text2 + 125765;
//szöveges változó és egy számlált (vagy mért) érték összefűzése
text3 = text2 + millis()
Az előbb beszéltünk a konvertálás szabályairól, most mégis első ránézésre mindenféle konvertáló utasítás nélkül végbe megy az átalakítás. Persze ez nem így van, ha jobban megnézzük a
következő sort akkor megérthetjük a mechanizmusát: String text3 = String();
Mint látható a text3 string értéke egy üres konvertáló utasítás, ez azt jelenti bármit beletölthetünk
a text3 változóba az konvertáltan, szövegként tárolódik el.
Megtehetjük azt is, hogy a két összefűzött string valamelyikébe tároljuk el a kapott értéket (hozzáfűzés az adott változóhoz). Kétféle képpen kivitelezhető, az egyik a += operátor használata,
a másik a concat() utasítás segítségével valósítható meg.
text1 = String("Minden ");
text2 = String(" ertek ");
A length() utasítás segítségével kaphatjuk meg az adott szövegünk hosszát (a szövegben levő
karakterek számát adja vissza).
text1 = "Arduino szovegmeret ";
Serial.println(text1 + text1.length()+" karakter hosszu");
// a szöveg végi üres kockák levágása
Serial.println(text1 + text1.length()+" karakter hosszu");
A trim() utasítás levágja a szöveg végéről az üres kockákat(szóközöket);
Karakter keresés egy szövegben
A keresett karakter helyének meghatározását két a String objektumoz fűzhető utasítás is segíti,
ez az indexOf() és a lastIndexOf(). Az első a szöveg elejétől keresi az adott karaktert és pozíciójának
értékével tér vissza, a második utasítás a szöveg végétől kezdi a keresést. A probléma mind két utasításnál az, hogy az első talált karakternél befejezi a keresést. Ha nekünk a második vagy harmadik ilyen karakter pozíciója kell akkor ezeket nem érhetjük el, illetve dehogyis nem erre az eshetőségre építettek be az utasításba még egy paramétert amivel a keresés kezdő pozícióját adhatjuk meg. Pl,: text1.indexOf( 'a' , 6 );
String text1 = " alabamai avatar";
int elso_kar,utolso_kar = 0;
//az első a betű helyének meghatározása
Serial.print(" az elso 'a' betu: ");
//az utolsó a betű helyének meghatározása
Serial.print(" az utolso 'a' betu: ");
//a második a betű helye
Serial.print("a kovetkezo 'a' betu a: ");
Nagy- és kisbetű váltó utasítások
A toUpperCase() utasítás a szövegben található minden kisbetűt naggyá alakít, a toLowerCase() az
ellentettje minden nagy betűt kicsivé alakít.
String text1 = " Nagy Ho Ho Ho Horgasz";
Homepage | contact | html | css | © 2007 Anyone | Design by www.mitchinson.net | This work is licensed under a Creative Commons Attribution 3.0 License