Public Class Form1
Private Sub btnCoderen_Click(sender As Object, e As EventArgs) Handles btnCoderen.Click
'MsgBox(txtInvoer.Text)
txtUitvoer.Text = MorseCode(txtInvoer.Text)
End Sub
Function MorseCode(Target As String) As String
Dim i As Integer
Dim tmp As String
'De gebruikte punt is een middle dot (Ascii 183)
'Een heel woord
Select Case UCase(Target)
Case "FULLSTOP", "FULL STOP" : tmp = "·-·-·-"
Case "COMMA" : tmp = "--··--"
Case "QUERY" : tmp = "··--··"
End Select
'Letters per woord
If tmp = "" Then
For i = 1 To Len(Target)
tmp = tmp & Morse_Code(Mid(Target, i, 1))
Next i
End If
MorseCode = tmp
End Function
Private Function Morse_Code(Letter As String) As String
Dim tmp As String
tmp = ""
Select Case UCase(Letter)
Case "A" : tmp = "·-"
Case "B" : tmp = "-···"
Case "C" : tmp = "-·-·"
Case "D" : tmp = "-··"
Case "E" : tmp = "·"
Case "F" : tmp = "··-·"
Case "G" : tmp = "--·"
Case "H" : tmp = "····"
Case "I" : tmp = "··"
Case "J" : tmp = "·---"
Case "K" : tmp = "-·-"
Case "L" : tmp = "·-··"
Case "M" : tmp = "--"
Case "N" : tmp = "-·"
Case "O" : tmp = "---"
Case "P" : tmp = "·--·"
Case "Q" : tmp = "--·-"
Case "R" : tmp = "·-·"
Case "S" : tmp = "···"
Case "T" : tmp = "-"
Case "U" : tmp = "··-"
Case "V" : tmp = "···-"
Case "W" : tmp = "·--"
Case "X" : tmp = "-··-"
Case "Y" : tmp = "-·--"
Case "Z" : tmp = "--··"
Case "0" : tmp = "-----"
Case "1" : tmp = "·----"
Case "2" : tmp = "··---"
Case "3" : tmp = "···--"
Case "4" : tmp = "····-"
Case "5" : tmp = "·····"
Case "6" : tmp = "-····"
Case "7" : tmp = "--···"
Case "8" : tmp = "---··"
Case "9" : tmp = "----·"
Case " " : tmp = " " 'Ruimte tussen woorden is 7 units
'Hier dus 6 spaties, de laatste komt er hier onder nog bij
End Select
Morse_Code = tmp & " " 'Ruimte tussen letters is 1 unit
End Function
End Class