FreePascal nem találja az ékezetes karaktereket, hogyan lehetne "beírni" őket?
Hello az a lényeg, hogy FreePascal ban van egy bazihoszzú szöveg, és abban vannak ö meg ü meg ä meg hasonlós speckó betűk, de ha kia akarok keresni őket, egyerüen nem ismeri fel:
For h:=1 to length(szoveg) do
Begin
if szoveg[h] = 'ö' then .....
Nem talál semmit, pedig kiírja, és ott benne vannak előtte is és utána is
probaltam chr()-el is de úgy is semmi
Valaki tudna segíteni?
Valószínűleg azért, mert a szövegszerkesztő, amivel a forráskódot szerkeszted, más kódolással megy, mint amivel az adott szöveg lett begépelve.
Legegyszerűbb, ha a szövegben megnézed a speckó karakterek konkrét kódját, és úgy, kód szerint keresel rá a progiban.
Pl:
if ord(szoveg[h]) = 160 then .....
Köszönöm, ez úgy tűnik megoldja, de az a baj, hogy valamiért váltogatja a számokat a program, mert pl.
az ö-nek egyszer 148 a kódja, más szor meg 246, ezt nem tudni miért van ?
"váltogatja a számokat a program"
Ezt nem értem. Két külön ö-ről van szó, vagy ugyanazon karakterre ahányszor futtatod, mindig másnak látja?
Próbáld ki, bár szerintem az a forráskód kódolását adja meg. Ezért lenne jó tudni, a feldolgozandó szöveg milyen kódolású.
A másik, hogy ha beállítod a forráskód kódolását, attól még nem lesz olyan. Ha UTF-8 nak állítod be, akkor valóban úgy is kell kódolni a szövegszerkesztővel, amivel beírod.
Milyen operációs rendszer alatt használod? A Free Pascal saját IDE-jében szerkeszted a fájlokat? Egyértelműen karakterkódolási probléma.
Ha a Lazarust használnád több lehetőséged lenne a probléma megoldására ( [link] )
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!