Rubrik: Variablen/Strings · Sonstiges | VB-Versionen: VB5, VB6 | 13.02.07 |
Text im Buchstabieralphabet Eine Funktion, die einen Text nach den Regeln der Deutschen Buchstabiertafel umwandelt. | ||
Autor: Michael Chrobok | Bewertung: | Views: 28.396 |
www.urban-mobility.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Die Buchstabiertafel (oder Buchstabieralphabet, Funkalphabet, Fliegeralphabet) erleichtert die Übermittlung schwer verständlicher oder seltener Wörter (Fremdwörter, Fachausdrücke und Eigennamen) im Telefon- und Sprechfunk-Verkehr, sowie bei Diktaten.
Nachfolgende Funktion wandelt den übergebenen Text entsprechend um:
' Text im Buchstabieralphabet Public Function translateGerman(ByVal strMsg As String) As String Dim strWords As Variant Dim i As Long Dim strOut As String Dim nAsc As Integer Dim sChar As String strWords = Array("Anton", "Berta", "Cäsar", "Dora", _ "Emil", "Friedrich", "Gustav", "Heinrich", _ "Ida", "Hulius", "Kaufmann", "Ludwig", _ "Marta", "Nordpol", "Otto", "Paula", _ "Quelle", "Richard", "Samuel", "Theodor", _ "Ulrich", "Viktor", "Wilhelm", "Xanthippe", _ "Ypsilon", "Zacharias") If Len(strMsg) > 0 Then For i = 1 To Len(strMsg) sChar = Mid$(strMsg, i, 1) nAsc = Asc(LCase$(sChar)) ' Buchstaben If (nAsc >= 97 And nAsc <= 122) Then strOut = strOut & "-" & strWords(nAsc - 97) ' Zahlen ElseIf IsNumeric(sChar) Then strOut = strOut & "-" & Mid(strMsg, i, 1) ' Umlaute ElseIf nAsc = 228 Then strOut = strOut & "-" & "Ärger" ElseIf nAsc = 246 Then strOut = strOut & "-" & "Ökonom" ElseIf nAsc = 223 Then strOut = strOut & "-" & "Eszett" ElseIf nAsc = 252 Then strOut = strOut & "-" & "Übermut" ' Leerzeichen ElseIf nAsc = 32 Then strOut = strOut & vbNewLine Else strOut = strOut & "-???-" End If Next i translateGerman = strOut End If End Function