====== Karakterláncok feldolgozása ====== ===== Szöveges adattípusok ===== var karakter : char; karakterlanc : string; ===== Karakterláncok ===== A ''string'' karakterláncok alap esetben 255 karakter hosszúságúak. A karakterláncok hossza korlátozható. var nev : string[25]; postai_cim : string[40]; ===== Értékadás szöveges adatoknál ===== karakter := 'A'; {értékadás char típusnál} ch := '+'; nev := 'Kelep Elek'; {értékadás string típusnál} postai_cim :='90262, Beregszász, Kossuth tér 6.'; karakter := postai_cim[1]; {hivatkozás a string elemére, a karakter értéke a '9' karakter lesz} ===== Karakterláncok összefűzése ===== A karakterláncok összefűzése a ''+'' operátorral történik. program karakterlanc_osszefuzes; var szoveg1, szoveg2, szoveg: string; begin szoveg1 :='Rákóczi'; szoveg2 :=' Ferenc'; szoveg := ' II. ' + szoveg1 + szoveg2; end. ===== Karakterláncokat feldolgozó függvények ===== ^ Formátum ^ Leírás ^ | ''Concat(s1, s2, …)'' |Összekapcsolja ''s1'', ''s2'', … stb. szöveges változókat. | | ''Copy(s, i, n)'' |Az ''s'' karakterlánc ''i''-edik karakterétől számítva ''n'' darab karaktert ad vissza. | | ''Delete(s, i, n)'' |Az ''s'' karakterlánc ''i''-edik karakterétől számítva ''n'' darab karaktert töröl.| | ''Insert(s1, s2, i)'' |Az ''s1'' karakterláncot beszúrja ''s2''-be, az ''s2'' ''i''-edik karakterétől kezdve. | | ''Length(s)'' |Az ''s'' karakterlánc hosszát adja meg. | | ''Pos(s1, s2)'' |Az ''s1'' karakterláncot keresi ''s2''-ben, és annak kezdő pozíciójával tér vissza. | | ''Str(x, s)'' |Az ''x'' egész típusú kifejezés értékét konvertálja az ''s'' stringbe. | | ''Val(s, x, i)'' |Az ''s'' karakterláncot konvertálja az ''x'' numerikus típusba. | | ''UpCase(ch)'' |A ''ch'' kisbetűs karaktert nagybetűssé alakítja. | Itt használhatók még ''pred(ch)'', ''succ(ch)'', ''ord(ch)'', ''chr(i)'' függvények is. program szovegek; var kod,c1,kod2,ch: char; cim: string; nev: string[25]; lakcim : string[40]; s1,s2,szoveg: string; x,i:integer; begin {karakterek deklarációja} kod:='A'; {értékadás char típusnál} c1:='+'; {szöveges (karakterlánc) adattípus deklarálása} nev:='Aranyos Imre'; {értékadás string típusnál} lakcim:='Dunaújváros'; kod2:=lakcim[1]; {hivatkozás string elemére, a kod2 értéke a 'D' betű lesz} writeln('kod=',kod,' c1=',c1,' nev=',nev,' lakcim=',lakcim,' kod2=',kod2); {szövegegyesítés} s1:='Repul'; s2:=' a nehez ko...'; szoveg:=s1+s2+' (Arany Janos)'; writeln('s1=',s1,' s2=',s2,' szoveg=',szoveg); {szövegegyesítés} szoveg:=concat(s1,s2); writeln('szoveg=',szoveg); {szövegrész kimásolása} szoveg:=copy(s2,4,5); writeln('szoveg=',szoveg); {szövegrész törlése} delete(szoveg,1,3); writeln('szoveg=',szoveg); {szöveg beillesztése} insert('res',szoveg,2); writeln('szoveg=',szoveg); {a szöveg hossza} x:=length(szoveg); writeln('szoveg hossza, x=',x); {szövegrészlet pozíciójának megállapítása} x:=pos('nehez',s2); writeln('a nehez pozicioja az s2-ben, x=',x); {szám átalakítása szöveggé} x:=25; str(x,s1); writeln('az s1, mint szoveg az = ',s1,', s1+''2'' = ',s1+'2'); {szöveg átalakítása számmá} s1:='25'; val(s1,x,i); writeln('az x, mint szam az = ',x,', x+2 = ',x+2); {egy karakter átalakítása nagybetűssé} ch:='d'; writeln('kezdetben a ch = ',ch); ch:=upcase(ch); writeln('atalakitva nagybetusse a ch = ',ch); {a következő karakter} ch:='d'; writeln('kezdetben a ch = ',ch); ch:=succ(ch); writeln('a ch-t koveto karakter az = ',ch); {az előző karakter} ch:='d'; writeln('kezdetben a ch = ',ch); ch:=pred(ch); writeln('a ch-t megelozo karakter az = ',ch); {a karakter kódja} x:=ord(ch); writeln('a ',ch,' kodja az x=',x); {a megadott kódú karakter meghatározása} x:=97; ch:=chr(x); writeln('a ',x,' kodu karakter az ch=',ch); writeln('',#9,'',#10,#13,''); writeln('a hexadecimalis 45 tizesben sz ',$45, ' a hexa 45 kodu karakter az ',#$45); readln; end. [[https://ideone.com/rJWQ9R | A forráskódjának futtatása online ]]