Advertisement
Guest User

Untitled

a guest
Oct 4th, 2013
25
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 10.14 KB | None | 0 0
  1. Public Class Form1
  2.     Dim befehle(,) As String '[x][0] = zustand |[x][1] = buchstabe |[x][2] = neuer Buchstabe |[x][3] = richtung |[x][4] = neuer zustand
  3.     Dim lastx As Integer = 0
  4.     Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)
  5.  
  6.     End Sub
  7.  
  8.     Private Sub TextBox1_TextChanged_1(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
  9.         For i = 0 To TextBox1.Text.Length - 1
  10.             Select Case TextBox1.Text(i).ToString
  11.                 Case "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "#"
  12.                 Case Else
  13.                     TextBox1.BackColor = Color.Red
  14.                     Exit Sub
  15.             End Select
  16.         Next
  17.         TextBox1.BackColor = Color.White
  18.     End Sub
  19.  
  20.     Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
  21.         If Not ComboBox1.BackColor = Color.White Then
  22.             MsgBox("Bitte Endzustand auswählen!")
  23.             Exit Sub
  24.         End If
  25.         If Not TextBox1.BackColor = Color.White Then
  26.             MsgBox("Bitte gültiges Band eingeben!")
  27.             Exit Sub
  28.         End If
  29.         If Not lastx > 0 Then
  30.             MsgBox("Bitte gültigen Befehl eingeben!")
  31.             Exit Sub
  32.         End If
  33.         Dim zustand As String = "1"
  34.         Dim zeichen As Integer = 0
  35.         TextBox1.Select(zeichen, 1)
  36.         Dim notfound As Boolean = False
  37.         While Not zustand = ComboBox1.Text
  38.             Threading.Thread.Sleep(500)
  39.             notfound = False
  40.             For i = 0 To lastx - 1
  41.                 If zeichen < 0 Or zeichen > TextBox1.Text.Length - 1 Then
  42.                     MsgBox("Da ist aber im Programm was falsch | Textende oder Textanfang wird überschritten")
  43.                     Exit Sub
  44.                 End If
  45.  
  46.                 If zustand = befehle(0, i) Then
  47.                     If Convert.ToString(TextBox1.Text(zeichen)) = befehle(1, i) Then
  48.                         Dim aString As String
  49.                         Dim bString As String
  50.                         Dim cstring As String = TextBox1.Text
  51.                         aString = cstring.Substring(0, zeichen)
  52.                         bString = cstring.Substring(zeichen + 1)
  53.                         TextBox1.Text = aString + befehle(2, i) + bString
  54.                         Select Case befehle(3, i)
  55.                             Case "r" : zeichen += 1
  56.                             Case "l" : zeichen -= 1
  57.                             Case "n"
  58.                         End Select
  59.                         zustand = befehle(4, i)
  60.                         TextBox1.Focus()
  61.                         TextBox1.Select(zeichen, 1)
  62.                         notfound = False
  63.                         Exit For
  64.                     Else : notfound = True
  65.                     End If
  66.                 End If
  67.             Next
  68.             If notfound = True Then
  69.                 MsgBox("Da ist aber im Programm was falsch | keinen Befehl gefunden")
  70.                 Exit While
  71.             End If
  72.         End While
  73.     End Sub
  74.  
  75.     Private Sub ComboBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.TextChanged
  76.  
  77.         For i = 0 To ComboBox1.Text.Length - 1
  78.             Select Case ComboBox1.Text(i).ToString
  79.                 Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
  80.                 Case Else
  81.                     ComboBox1.BackColor = Color.Red
  82.                     Exit Sub
  83.             End Select
  84.  
  85.         Next
  86.         Dim gefunden As Boolean = False
  87.         For i = 0 To ComboBox1.Items.Count - 1
  88.             If ComboBox1.Text = ComboBox1.Items(i).ToString Then
  89.                 gefunden = True
  90.             End If
  91.         Next
  92.         If gefunden = False Then
  93.             ComboBox1.BackColor = Color.Red
  94.             Exit Sub
  95.         End If
  96.         ComboBox1.BackColor = Color.White
  97.     End Sub
  98.  
  99.     Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
  100.         lastx = 0
  101.         ReDim befehle(5, 0)
  102.         RefreshBefehle()
  103.     End Sub
  104.  
  105.     Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
  106.         If Not TextBox2.BackColor = Color.White Then
  107.             MsgBox("Bitte Zustand auswählen!")
  108.             Exit Sub
  109.         End If
  110.         If Not TextBox3.BackColor = Color.White Then
  111.             MsgBox("Bitte Endzustand auswählen!")
  112.             Exit Sub
  113.         End If
  114.         If Not ComboBox2.BackColor = Color.White Then
  115.             MsgBox("Bitte Buchstaben auswählen!")
  116.             Exit Sub
  117.         End If
  118.         If Not ComboBox3.BackColor = Color.White Then
  119.             MsgBox("Bitte Neuen Buchstaben auswählen!")
  120.             Exit Sub
  121.         End If
  122.         If Not ComboBox4.BackColor = Color.White Then
  123.             MsgBox("Bitte Richtung auswählen!")
  124.             Exit Sub
  125.         End If
  126.         ReDim Preserve befehle(5, lastx + 1)
  127.         befehle(0, lastx) = TextBox2.Text
  128.         befehle(1, lastx) = ComboBox2.Text
  129.         befehle(2, lastx) = ComboBox3.Text
  130.         befehle(3, lastx) = ComboBox4.Text
  131.         befehle(4, lastx) = TextBox3.Text
  132.         lastx += 1
  133.         RefreshBefehle()
  134.     End Sub
  135.  
  136.     Private Sub RefreshBefehle()
  137.         ListBox1.Items.Clear()
  138.         ComboBox1.Items.Clear()
  139.         For i = 0 To lastx - 1
  140.             ListBox1.Items.Add(befehle(0, i) + " " + befehle(1, i) + " " + befehle(2, i) + " " + befehle(3, i) + " " + befehle(4, i))
  141.             Dim gefunden As Boolean = False
  142.             For j = 0 To ComboBox1.Items.Count - 1
  143.                 If ComboBox1.Items(j).ToString = befehle(0, i) Then
  144.                     gefunden = True
  145.                 End If
  146.             Next
  147.             If gefunden = False Then ComboBox1.Items.Add(befehle(0, i))
  148.             gefunden = False
  149.             For j = 0 To ComboBox1.Items.Count - 1
  150.                 If ComboBox1.Items(j).ToString = befehle(4, i) Then
  151.                     gefunden = True
  152.                 End If
  153.             Next
  154.             If gefunden = False Then ComboBox1.Items.Add(befehle(4, i))
  155.             If ComboBox1.Items.Count < 1 Then
  156.                 ComboBox1.Items.Add(befehle(0, i))
  157.             End If
  158.         Next
  159.     End Sub
  160.  
  161.     Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  162.         lastx = 9
  163.         ReDim befehle(5, 9)
  164.         befehle(0, 0) = "1"
  165.         befehle(1, 0) = "#"
  166.         befehle(2, 0) = "#"
  167.         befehle(3, 0) = "r"
  168.         befehle(4, 0) = "1"
  169.         befehle(0, 1) = "1"
  170.         befehle(1, 1) = "i"
  171.         befehle(2, 1) = "a"
  172.         befehle(3, 1) = "r"
  173.         befehle(4, 1) = "2"
  174.         befehle(0, 2) = "2"
  175.         befehle(1, 2) = "i"
  176.         befehle(2, 2) = "i"
  177.         befehle(3, 2) = "r"
  178.         befehle(4, 2) = "2"
  179.         befehle(0, 3) = "2"
  180.         befehle(1, 3) = "#"
  181.         befehle(2, 3) = "#"
  182.         befehle(3, 3) = "l"
  183.         befehle(4, 3) = "3"
  184.         befehle(0, 4) = "3"
  185.         befehle(1, 4) = "i"
  186.         befehle(2, 4) = "#"
  187.         befehle(3, 4) = "l"
  188.         befehle(4, 4) = "4"
  189.         befehle(0, 5) = "4"
  190.         befehle(1, 5) = "i"
  191.         befehle(2, 5) = "i"
  192.         befehle(3, 5) = "l"
  193.         befehle(4, 5) = "5"
  194.         befehle(0, 6) = "4"
  195.         befehle(1, 6) = "a"
  196.         befehle(2, 6) = "a"
  197.         befehle(3, 6) = "n"
  198.         befehle(4, 6) = "6"
  199.         befehle(0, 7) = "5"
  200.         befehle(1, 7) = "i"
  201.         befehle(2, 7) = "i"
  202.         befehle(3, 7) = "l"
  203.         befehle(4, 7) = "5"
  204.         befehle(0, 8) = "5"
  205.         befehle(1, 8) = "a"
  206.         befehle(2, 8) = "a"
  207.         befehle(3, 8) = "r"
  208.         befehle(4, 8) = "1"
  209.         RefreshBefehle()
  210.  
  211.         SaveFileDialog1.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*"
  212.         SaveFileDialog1.FilterIndex = 1
  213.         SaveFileDialog1.RestoreDirectory = True
  214.  
  215.     End Sub
  216.  
  217.     Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
  218.         If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
  219.             Dim enc As New System.Text.UnicodeEncoding
  220.             Dim XMLobj As Xml.XmlTextWriter = New Xml.XmlTextWriter(SaveFileDialog1.OpenFile(), enc)
  221.             With XMLobj
  222.                 .WriteStartDocument()
  223.                 .WriteStartElement("befehle")
  224.                 For i = 0 To lastx - 1
  225.                     .WriteStartElement("befehl")
  226.                     .WriteAttributeString("zustand", befehle(0, i))
  227.                     .WriteAttributeString("zeichen", befehle(1, i))
  228.                     .WriteAttributeString("newZeichen", befehle(2, i))
  229.                     .WriteAttributeString("richtung", befehle(3, i))
  230.                     .WriteAttributeString("nextZustand", befehle(4, i))
  231.                     .WriteEndElement()
  232.                 Next
  233.                 .WriteEndElement()
  234.                 .Close()
  235.             End With
  236.  
  237.         End If
  238.     End Sub
  239.  
  240.     Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
  241.         lastx = 0
  242.         ReDim befehle(5, 0)
  243.         If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
  244.             Dim XMLobj As Xml.XmlReader = New Xml.XmlTextReader(OpenFileDialog1.OpenFile())
  245.             With XMLobj
  246.                 Do While .Read
  247.                     Select Case .NodeType
  248.                         Case Xml.XmlNodeType.Element
  249.                             If .AttributeCount > 0 Then
  250.                                 lastx += 1
  251.                                 ReDim Preserve befehle(5, lastx)
  252.                                 befehle(0, lastx - 1) = .GetAttribute("zustand")
  253.                                 befehle(1, lastx - 1) = .GetAttribute("zeichen")
  254.                                 befehle(2, lastx - 1) = .GetAttribute("newZeichen")
  255.                                 befehle(3, lastx - 1) = .GetAttribute("richtung")
  256.                                 befehle(4, lastx - 1) = .GetAttribute("nextZustand")
  257.                             End If
  258.                     End Select
  259.                 Loop
  260.                 .Close()
  261.             End With
  262.  
  263.         End If
  264.         RefreshBefehle()
  265.     End Sub
  266. End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement