Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [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!

Code-Beispiel

Code-Beispiele Stringfunktionen

Auch Umlaute in Groß und klein umwandeln

Lizenz:Erster Autor:Letzte Bearbeitung:
k. A.Redakteurytwinky 08.10.2010

Die Funktionen von FB versagen, wenn es darum geht, die deutschen Umlaute auch mit umzuwandeln. Hier kommt Transumlaut ins Spiel. Es benutzt erst die normalen lcase/UCase-Funktionen und prüft dann, ob noch Umlaute da sind(und ganz ohne Mid()..):

'+-----------------------------------------------------------------------------------+
'|    Header: Bestimmen der bergabeparameter                                        |
'|    AnzeigeCheck:|Il1 sind Alt-0124, Groes i, kleines L, Eins ߎę֚񱸩|
Const Author="TransUmlaut.Bas v017f 2007 by ytwinky, MD"'                           |
'|           (Tastenkombination: keine)                                              |
'|                                                                                   |
'|    Zweck : Schablone fr neue Dateien                                             |
'+-----------------------------------------------------------------------------------+
'(Anmerkung zu den Sonderzeichen: zuerst steht das DOS-Zeichen, danach das Windowszeichen)
Const Lf=!"\n"
Declare Function LCaseUml(byVal Msg As String) As String
Declare Function UCaseUml(byVal Msg As String) As String
Dim i As Integer
Dim z As String
Print __FB_Signature__
Print "Das Original: Jrg Zhlke, MD, aka ytwinky" &Lf
z="nderung(): Jrg Zhlke, MD"
Print "Text:" &z
Print "Gro:" &UCaseUml(z) &Lf
Print "Text :" &z
Print "Klein:" &LCaseUml(z) &Lf
Print "Text :" &z &Lf
z="Lwenbru.."

Print "Und nun:" &z
Print UcaseUml("Grossgeschrieben:" &z)
Print LCaseUml("Kleingeschrieben:" &z);
Print "Eniki..";
Sleep

Function UCaseUml(byVal Msg As String) As String
  Dim As String s=UCase(Msg), AsciiUmlKl="", AsciiUmlGr=""
  Dim As Integer Found
  For i As Integer=0 to 2
    Do
      Found=Instr(Found+1, s, Chr(AsciiUmlKl[i]))
      s[Found-1]=AsciiUmlGr[i] 'Achtung: Found benutzt InStr()! 1-basiert..
    Loop Until Found=0
  Next
  Return s
End Function

Function LCaseUml(byVal Msg As String) As String
  Dim As String s=LCase(Msg), AsciiUmlKl="", AsciiUmlGr=""
  Dim As Integer Found
  For i As Integer=0 to 2
    Do
      Found=Instr(s, Chr(AsciiUmlGr[i]))
      s[Found-1]=AsciiUmlKl[i] 'Achtung: Found benutzt InStr()! 1-basiert..
    Loop Until Found=0
  Next
  Return s
End Function
End

..fröhliches Umformen^^
Gruß
ytwinky


Zustzliche Informationen und Funktionen
  • Das Code-Beispiel wurde am 22.08.2007 von Redakteurytwinky angelegt.
  • Die aktuellste Version wurde am 08.10.2010 von Redakteurytwinky gespeichert.
  Bearbeiten Bearbeiten  

  Versionen Versionen