fb:porticula NoPaste
Umlaute richtig darstellen
Uploader: | type |
Datum/Zeit: | 21.07.2010 12:41:05 |
declare function ansi2ascii (text as string) as string
screen 12
dim test as string = "Hallo, mein Name ist Type Ä - ups, da ist mir doch glatt ein Umlaut dazwischengäkommen. Oha, jetzt verschreib ich mich sogar noch. So ein Scheiß!
'Data-Feld mit den ASCII-Codes auselsen und in einem Datenfeld speichern
dim shared as integer ascii(22,1)
restore ansi2ascii_code_table
for a as integer = 0 to 22
read ascii(a,0),ascii(a,1)
next a
'Hauptprogramm
write ansi2ascii(test)
getkey
'Funktion zur "Übersetzung"
function ansi2ascii (text as string) as string
dim as string new_text
dim as integer a,b
for a = 0 to len(text)-1
'Zeichencode des jeweiligen Zeichens auslesen
'195 ist das Steuerzeichen, welches vor allen Umlauten u.ä. kommt
if text[a] = 195 then
'Abgleich des _darauffolgenden_ Zeichens im Text, mit der ASCII-Liste im Datenfeld
for b = 0 to 22
'Wenn ein Zeichen gefunden wurde, den neuen Code in 'new_text' schreiben, schleife verlassen
if text[a+1] = ascii(b,0) then
new_text += chr(ascii(b,1))
a+=1
exit for
end if
next b
else
'Wenn kein Steuerzeichen kommt (also nicht 195), dann den ascii-code in 'new_text' schreiben
new_text += chr(text[a])
end if
next a
return new_text
end function
ansi2ascii_code_table:
data 182,148
data 164,132
data 188,129
data 150,153
data 132,142
data 156,154
data 161,160
data 169,130
data 173,161
data 179,162
data 186,163
data 160,133
data 168,138
data 172,141
data 178,149
data 185,151
data 137,144
data 152,131
data 170,136
data 174,140
data 180,147
data 187,150
data 159,225