Morse code functions

Convert text or single character to and from Morse code.
TexttoMorse, MorsetoText, ChartoMorse and MorsetoChar

CodeFunctionName
What is this?

Public

Not Tested

Imported

Function TexttoMorse(Tex)
    Tex = Replace(Tex, ".", " . ")
    Tex = Replace(Tex, "-", " - ")
    TextNum = Len(Tex) ' Get the number of characters in the word.
    prg1.Max = TextNum
    For i = 0 To TextNum
        Temp = Left(Tex, Len(Tex) - Len(Right(Tex, Len(Tex) - (i + 1))))
        Hold = Right(Temp, Len(Temp) - i)
        Temp2 = ChartoMorse(Hold)
        FullText = FullText & Temp2 & " "
        prg1.Value = i
    Next i
    TexttoMorse = FullText
End Function
Function MorsetoText(Mors)
    Source() = Split(Mors, "    ") ' Bring in the entire phrase into an array split on 3 spaces.
    For n = 0 To UBound(Source()) ' Loop through morses from 0 to the final entry in the array.
        source2() = Split(Source(n), " ") ' Bring in the entire phrase into an array split on a space.
        For i = 0 To UBound(source2()) ' Loop through morses from 0 to the final entry in the array.
            Temp = source2(i) ' Take the characters and save it to a temporary variable.
            Hold = MorsetoChar(Temp) ' Convert morse code to characters
            FullText = FullText & Hold ' add to the full text
        Next i
        FullText = FullText & " "
    Next n
    MorsetoText = FullText
End Function

Function ChartoMorse(Ch)
    Select Case Ch
    Case "A", "a"
        ChartoMorse = ".-"
    Case "B", "b"
        ChartoMorse = "-..."
    Case "C", "c"
        ChartoMorse = "-.-."
    Case "D", "d"
        ChartoMorse = "-.."
    Case "E", "e"
        ChartoMorse = "."
    Case "F", "f"
        ChartoMorse = "..-."
    Case "G", "g"
        ChartoMorse = "--."
    Case "H", "h"
        ChartoMorse = "...."
    Case "I", "i"
        ChartoMorse = ".."
    Case "J", "j"
        ChartoMorse = ".---"
    Case "K", "k"
        ChartoMorse = "-.-"
    Case "L", "l"
        ChartoMorse = ".-.."
    Case "M", "m"
        ChartoMorse = "--"
    Case "N", "n"
        ChartoMorse = "-."
    Case "O", "o"
        ChartoMorse = "---"
    Case "P", "p"
        ChartoMorse = ".--."
    Case "Q", "q"
        ChartoMorse = "--.-"
    Case "R", "r"
        ChartoMorse = ".-."
    Case "S", "s"
        ChartoMorse = "..."
    Case "T", "t"
        ChartoMorse = "-"
    Case "U", "u"
        ChartoMorse = "..-"
    Case "V", "v"
        ChartoMorse = "...-"
    Case "W", "w"
        ChartoMorse = ".--"
    Case "X", "x"
        ChartoMorse = "-..-"
    Case "Y", "y"
        ChartoMorse = "-.--"
    Case "Z", "z"
        ChartoMorse = "--.."
    Case "1"
        ChartoMorse = ".----"
    Case "2"
        ChartoMorse = "..---"
    Case "3"
        ChartoMorse = "...--"
    Case "4"
        ChartoMorse = "....-"
    Case "5"
        ChartoMorse = "....."
    Case "6"
        ChartoMorse = "-...."
    Case "7"
        ChartoMorse = "--..."
    Case "8"
        ChartoMorse = "---.."
    Case "9"
        ChartoMorse = "----."
    Case "0"
        ChartoMorse = "-----"
    Case " "
        ChartoMorse = "    "
    Case "."
        ChartoMorse = "^"
    Case "-"
        ChartoMorse = "~"
    Case Else
        ChartoMorse = Ch
    End Select
End Function
Function MorsetoChar(Ch)
    Select Case Ch
    Case ".-"
        MorsetoChar = "a"
    Case "-..."
        MorsetoChar = "b"
    Case "-.-."
        MorsetoChar = "c"
    Case "-.."
        MorsetoChar = "d"
    Case "."
        MorsetoChar = "e"
    Case "..-."
        MorsetoChar = "f"
    Case "--."
        MorsetoChar = "g"
    Case "...."
        MorsetoChar = "h"
    Case ".."
        MorsetoChar = "i"
    Case ".---"
        MorsetoChar = "j"
    Case "-.-"
        MorsetoChar = "k"
    Case ".-.."
        MorsetoChar = "l"
    Case "--"
        MorsetoChar = "m"
    Case "-."
        MorsetoChar = "n"
    Case "---"
        MorsetoChar = "o"
    Case ".--."
        MorsetoChar = "p"
    Case "--.-"
        MorsetoChar = "q"
    Case ".-."
        MorsetoChar = "r"
    Case "..."
        MorsetoChar = "s"
    Case "-"
        MorsetoChar = "t"
    Case "..-"
        MorsetoChar = "u"
    Case "...-"
        MorsetoChar = "v"
    Case ".--"
        MorsetoChar = "w"
    Case "-..-"
        MorsetoChar = "x"
    Case "-.--"
        MorsetoChar = "y"
    Case "--.."
        MorsetoChar = "z"
    Case ".----"
        MorsetoChar = "1"
    Case "..---"
        MorsetoChar = "2"
    Case "...--"
        MorsetoChar = "3"
    Case "....-"
        MorsetoChar = "4"
    Case "....."
        MorsetoChar = "5"
    Case "-...."
        MorsetoChar = "6"
    Case "--..."
        MorsetoChar = "7"
    Case "---.."
        MorsetoChar = "8"
    Case "----."
        MorsetoChar = "9"
    Case "-----"
        MorsetoChar = "0"
    Case "    "
        MorsetoChar = " "
    Case "^"
        MorsetoChar = "."
    Case "~"
        MorsetoChar = "-"
    Case Else
        MorsetoChar = Ch
    End Select
End Function


Tex, Mors or Ch

Views 519

Downloads 130

CodeID
DB ID