Szerző Téma: Ékezetes szöveg kisbetûssé alakítása  (Megtekintve 477 alkalommal)

Ékezetes szöveg kisbetûssé alakítása
« Dátum: 2013. Augusztus 21. - 02:35:54 »
0 Show voters
Van a luxadminba ez az egysoros kód code ami egy adott string karakterét kisbetûsre cseréli.
 
#define UpperToLower(%1) for(new ToLowerChar; ToLowerChar < strlen( %1 ); ToLowerChar ++ ) if ( %1[ ToLowerChar ]> 64 && %1[ ToLowerChar ] < 91 ) %1[ ToLowerChar ] += 32

 
Csak van egy kis baj vele, hogy ékezeteknél nem mûködik.
Most én szeretném átalakítani, úgy, hogy ékezettel mûködjön de sehogy se jön össze.
Kezdésnek kihoztam egy ilyen formát.
Addig értettem meg, hogy a karaktereket tartalmazó tömb minden elemét végignézi, és hozzáad +32-t.
Gondolom ez a rész tolja el kisbetûsre.
 
for(new ToLowerChar; ToLowerChar < strlen(text); ToLowerChar ++ )
{
if ( text[ToLowerChar]> 64 && text[ ToLowerChar ] < 91 )
{
text[ToLowerChar] += 32;
}
}

Ékezetes szöveg kisbetûssé alakítása
« Válasz #1 Dátum: 2013. Augusztus 21. - 12:15:15 »
+1 Show voters
Ez egy érdekes dolog egyébként, az egész az írásjelek/betûk értékén alapul.
Nézd meg az ascii táblázatot:
\"asciifull.gif\"
Látni fogod miért is 32-t kell hozzá adni.
65 A
97 a
Ha megnézed a második táblát akkor látni fogod miért nem mûködik az ékezetes karaktereknél.
\"extend.gif\"

Ékezetes szöveg kisbetûssé alakítása
« Válasz #2 Dátum: 2013. Augusztus 21. - 13:18:26 »
0 Show voters
Így már értem, miért nem megy ékezetekkel, köszönöm a segítságedet ɐʞzssǝlosz ment a plussz. :)
Ryan_Adam itt nem a parancsfeldolgozóról van szó. :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal