Morse: code
- Als de ingetikte tekst verandert, roepen we de
functie op. We kunnen niet opeenvolgende letters in morse zetten, omdat de
gebruiker op Backspace kan drukken, of een stuk tekst kan plakken.
Private Sub txtTekst_TextChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles txtTekst.TextChanged
Try
lblMorse.Text = Morse(txtTekst.Text)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
- We gebruiken twee functies: de eerste geeft letter per
letter door en bouwt het resultaat op, de tweede zet letter per letter om.
Function morse(ByVal tekst As String) As String
Dim letter As String
Dim positie As Integer
For positie = 1 To tekst.Length
letter = Mid(tekst, positie, 1)
morse = morse & " " & morseletter(letter)
Next
End Function
Function morseletter(ByVal letter As String) As String
Select Case LCase(letter)
Case "a"
morseletter = ".-"
Case "b"
morseletter = "-..."
Case "c"
morseletter = "-.-."
Case "d"
morseletter = "-.."
Case "e"
morseletter = "."
Case "f"
morseletter = "..-."
Case "g"
morseletter = "--."
Case "h"
morseletter = "...."
Case "i"
morseletter = ".."
Case "j"
morseletter = ".---"
Case "k"
morseletter = "-.-"
Case "l"
morseletter = ".-.."
Case "m"
morseletter = "--"
Case "n"
morseletter = "-."
Case "o"
morseletter = "---"
Case "p"
morseletter = ".--."
Case "q"
morseletter = "--.-"
Case "r"
morseletter = ".-."
Case "s"
morseletter = "..."
Case "t"
morseletter = "-"
Case "u"
morseletter = "..-"
Case "v"
morseletter = "...-"
Case "w"
morseletter = ".--"
Case "x"
morseletter = "-..-"
Case "y"
morseletter = "-.--"
Case "z"
morseletter = "--.."
Case "0"
morseletter = "-----"
Case "1"
morseletter = ".----"
Case "2"
morseletter = "..---"
Case "3"
morseletter = "...--"
Case "4"
morseletter = "....-"
Case "5"
morseletter = "....."
Case "6"
morseletter = "-...."
Case "7"
morseletter = "--..."
Case "8"
morseletter = "---.."
Case "9"
morseletter = "----."
End Select
End Function
Om het programma af te sluiten:
Private Sub mnuClose_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuClose.Click
Application.Exit()
End Sub
Om de morse op het klembord te zetten:
Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles mnuCopy.Click
Clipboard.SetDataObject(lblMorse.Text, True)
End Sub
End Class
- Terug naar het programma.
[VB Web] - [hlrnet]
- [copyright]