Guest User

Morse - .Shebang

a guest
Feb 26th, 2014
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 3.92 KB | None | 0 0
  1. Option Strict On
  2.  
  3. Imports System.Text
  4.  
  5. Public Class MainForm
  6.  
  7.     Dim Dictionary As New List(Of MorseDict)
  8.     Dim OutputBuilder As New StringBuilder()
  9.  
  10.     Public Sub New()
  11.         Dictionary.Add(New MorseDict("A", ".-"))
  12.         Dictionary.Add(New MorseDict("B", "-..."))
  13.         Dictionary.Add(New MorseDict("C", "-.-."))
  14.         Dictionary.Add(New MorseDict("D", "-.."))
  15.         Dictionary.Add(New MorseDict("E", "."))
  16.         Dictionary.Add(New MorseDict("F", "..-."))
  17.         Dictionary.Add(New MorseDict("G", "--."))
  18.         Dictionary.Add(New MorseDict("H", "...."))
  19.         Dictionary.Add(New MorseDict("I", ".."))
  20.         Dictionary.Add(New MorseDict("J", ".---"))
  21.         Dictionary.Add(New MorseDict("K", "-.-"))
  22.         Dictionary.Add(New MorseDict("L", ".-.."))
  23.         Dictionary.Add(New MorseDict("M", "--"))
  24.         Dictionary.Add(New MorseDict("N", "-."))
  25.         Dictionary.Add(New MorseDict("O", "---"))
  26.         Dictionary.Add(New MorseDict("P", ".--."))
  27.         Dictionary.Add(New MorseDict("Q", "--.-"))
  28.         Dictionary.Add(New MorseDict("R", ".-."))
  29.         Dictionary.Add(New MorseDict("S", "..."))
  30.         Dictionary.Add(New MorseDict("T", "-"))
  31.         Dictionary.Add(New MorseDict("U", "..-"))
  32.         Dictionary.Add(New MorseDict("V", "...-"))
  33.         Dictionary.Add(New MorseDict("W", ".--"))
  34.         Dictionary.Add(New MorseDict("X", "-..-"))
  35.         Dictionary.Add(New MorseDict("Y", "-.--"))
  36.         Dictionary.Add(New MorseDict("Z", "--.."))
  37.         Dictionary.Add(New MorseDict("0", "-----"))
  38.         Dictionary.Add(New MorseDict("1", ".----"))
  39.         Dictionary.Add(New MorseDict("2", "..---"))
  40.         Dictionary.Add(New MorseDict("3", "...--"))
  41.         Dictionary.Add(New MorseDict("4", "....-"))
  42.         Dictionary.Add(New MorseDict("5", "....."))
  43.         Dictionary.Add(New MorseDict("6", "-...."))
  44.         Dictionary.Add(New MorseDict("7", "--..."))
  45.         Dictionary.Add(New MorseDict("8", "---.."))
  46.         Dictionary.Add(New MorseDict("9", "----."))
  47.         InitializeComponent()
  48.     End Sub
  49.  
  50.     Private Function ToMorse(ByVal ToChange As String) As String
  51.         Dim Letters As Char() = ToChange.ToCharArray()
  52.         OutputBuilder.Clear()
  53.         For Each C As Char In Letters
  54.             If Char.IsLetterOrDigit(C) Then
  55.                 For Each M As MorseDict In Dictionary
  56.                     If C.ToString() = M.NormalText
  57.                         OutputBuilder.Append(String.Concat(M.MorseText, " "))
  58.                         Exit For
  59.                     End If
  60.                 Next
  61.             ElseIf C = " "c
  62.                 OutputBuilder.Append("       ")
  63.             End If
  64.         Next
  65.         Return OutputBuilder.ToString()
  66.     End Function
  67.  
  68.     Private Function FromMorse(ByVal ToChange As String) As String
  69.         Dim Words As String() = Split(ToChange, "       ")
  70.         Dim Letters As String()
  71.         OutputBuilder.Clear()
  72.         For Each S As String In Words
  73.             Letters = S.Split(" "c)
  74.             For Each X As String In Letters
  75.                 For Each M As MorseDict In Dictionary
  76.                     If X = M.MorseText
  77.                         OutputBuilder.Append(M.NormalText)
  78.                         Exit For
  79.                     End If
  80.                 Next
  81.             Next
  82.             OutputBuilder.Append(" ")
  83.         Next
  84.         Return OutputBuilder.ToString()
  85.     End Function
  86.  
  87.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
  88.         TextBox2.Text = ToMorse(TextBox1.Text.ToUpper)
  89.     End Sub
  90.  
  91.     Private Sub Button2_Click( sender As Object,  e As EventArgs) Handles Button2.Click
  92.         TextBox2.Text = FromMorse(TextBox1.Text)
  93.     End Sub
  94. End Class
  95.  
  96. Public Class MorseDict
  97.  
  98.     Property NormalText As String = ""
  99.     Property MorseText As String = ""
  100.  
  101.     Public Sub New(ByVal N As String, ByVal M As String)
  102.         NormalText = N
  103.         MorseText = M
  104.     End Sub
  105.  
  106. End Class
Advertisement
Add Comment
Please, Sign In to add comment