Buchempfehlung
MySQL kurz & gut
MySQL kurz & gut
Das preiswerte Taschen- buch stellt MySQL-rele- vante Inhalte systematisch und knapp dar, sodass es sich optimal zum Nach- schlagen beim Pro- grammieren eignet. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Umlaute richtig darstellen

Uploader:Mitgliedtype
Datum/Zeit:21.07.2010 12:43:03

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