Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class Form1
- Dim befehle(,) As String '[x][0] = zustand |[x][1] = buchstabe |[x][2] = neuer Buchstabe |[x][3] = richtung |[x][4] = neuer zustand
- Dim lastx As Integer = 0
- Private Sub TextBox1_TextChanged(sender As System.Object, e As System.EventArgs)
- End Sub
- Private Sub TextBox1_TextChanged_1(sender As System.Object, e As System.EventArgs) Handles TextBox1.TextChanged
- For i = 0 To TextBox1.Text.Length - 1
- Select Case TextBox1.Text(i).ToString
- 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", "#"
- Case Else
- TextBox1.BackColor = Color.Red
- Exit Sub
- End Select
- Next
- TextBox1.BackColor = Color.White
- End Sub
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- If Not ComboBox1.BackColor = Color.White Then
- MsgBox("Bitte Endzustand auswählen!")
- Exit Sub
- End If
- If Not TextBox1.BackColor = Color.White Then
- MsgBox("Bitte gültiges Band eingeben!")
- Exit Sub
- End If
- If Not lastx > 0 Then
- MsgBox("Bitte gültigen Befehl eingeben!")
- Exit Sub
- End If
- Dim zustand As String = "1"
- Dim zeichen As Integer = 0
- TextBox1.Select(zeichen, 1)
- Dim notfound As Boolean = False
- While Not zustand = ComboBox1.Text
- Threading.Thread.Sleep(500)
- notfound = False
- For i = 0 To lastx - 1
- If zeichen < 0 Or zeichen > TextBox1.Text.Length - 1 Then
- MsgBox("Da ist aber im Programm was falsch | Textende oder Textanfang wird überschritten")
- Exit Sub
- End If
- If zustand = befehle(0, i) Then
- If Convert.ToString(TextBox1.Text(zeichen)) = befehle(1, i) Then
- Dim aString As String
- Dim bString As String
- Dim cstring As String = TextBox1.Text
- aString = cstring.Substring(0, zeichen)
- bString = cstring.Substring(zeichen + 1)
- TextBox1.Text = aString + befehle(2, i) + bString
- Select Case befehle(3, i)
- Case "r" : zeichen += 1
- Case "l" : zeichen -= 1
- Case "n"
- End Select
- zustand = befehle(4, i)
- TextBox1.Focus()
- TextBox1.Select(zeichen, 1)
- notfound = False
- Exit For
- Else : notfound = True
- End If
- End If
- Next
- If notfound = True Then
- MsgBox("Da ist aber im Programm was falsch | keinen Befehl gefunden")
- Exit While
- End If
- End While
- End Sub
- Private Sub ComboBox1_TextChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.TextChanged
- For i = 0 To ComboBox1.Text.Length - 1
- Select Case ComboBox1.Text(i).ToString
- Case "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"
- Case Else
- ComboBox1.BackColor = Color.Red
- Exit Sub
- End Select
- Next
- Dim gefunden As Boolean = False
- For i = 0 To ComboBox1.Items.Count - 1
- If ComboBox1.Text = ComboBox1.Items(i).ToString Then
- gefunden = True
- End If
- Next
- If gefunden = False Then
- ComboBox1.BackColor = Color.Red
- Exit Sub
- End If
- ComboBox1.BackColor = Color.White
- End Sub
- Private Sub Button5_Click(sender As System.Object, e As System.EventArgs) Handles Button5.Click
- lastx = 0
- ReDim befehle(5, 0)
- RefreshBefehle()
- End Sub
- Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
- If Not TextBox2.BackColor = Color.White Then
- MsgBox("Bitte Zustand auswählen!")
- Exit Sub
- End If
- If Not TextBox3.BackColor = Color.White Then
- MsgBox("Bitte Endzustand auswählen!")
- Exit Sub
- End If
- If Not ComboBox2.BackColor = Color.White Then
- MsgBox("Bitte Buchstaben auswählen!")
- Exit Sub
- End If
- If Not ComboBox3.BackColor = Color.White Then
- MsgBox("Bitte Neuen Buchstaben auswählen!")
- Exit Sub
- End If
- If Not ComboBox4.BackColor = Color.White Then
- MsgBox("Bitte Richtung auswählen!")
- Exit Sub
- End If
- ReDim Preserve befehle(5, lastx + 1)
- befehle(0, lastx) = TextBox2.Text
- befehle(1, lastx) = ComboBox2.Text
- befehle(2, lastx) = ComboBox3.Text
- befehle(3, lastx) = ComboBox4.Text
- befehle(4, lastx) = TextBox3.Text
- lastx += 1
- RefreshBefehle()
- End Sub
- Private Sub RefreshBefehle()
- ListBox1.Items.Clear()
- ComboBox1.Items.Clear()
- For i = 0 To lastx - 1
- ListBox1.Items.Add(befehle(0, i) + " " + befehle(1, i) + " " + befehle(2, i) + " " + befehle(3, i) + " " + befehle(4, i))
- Dim gefunden As Boolean = False
- For j = 0 To ComboBox1.Items.Count - 1
- If ComboBox1.Items(j).ToString = befehle(0, i) Then
- gefunden = True
- End If
- Next
- If gefunden = False Then ComboBox1.Items.Add(befehle(0, i))
- gefunden = False
- For j = 0 To ComboBox1.Items.Count - 1
- If ComboBox1.Items(j).ToString = befehle(4, i) Then
- gefunden = True
- End If
- Next
- If gefunden = False Then ComboBox1.Items.Add(befehle(4, i))
- If ComboBox1.Items.Count < 1 Then
- ComboBox1.Items.Add(befehle(0, i))
- End If
- Next
- End Sub
- Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
- lastx = 9
- ReDim befehle(5, 9)
- befehle(0, 0) = "1"
- befehle(1, 0) = "#"
- befehle(2, 0) = "#"
- befehle(3, 0) = "r"
- befehle(4, 0) = "1"
- befehle(0, 1) = "1"
- befehle(1, 1) = "i"
- befehle(2, 1) = "a"
- befehle(3, 1) = "r"
- befehle(4, 1) = "2"
- befehle(0, 2) = "2"
- befehle(1, 2) = "i"
- befehle(2, 2) = "i"
- befehle(3, 2) = "r"
- befehle(4, 2) = "2"
- befehle(0, 3) = "2"
- befehle(1, 3) = "#"
- befehle(2, 3) = "#"
- befehle(3, 3) = "l"
- befehle(4, 3) = "3"
- befehle(0, 4) = "3"
- befehle(1, 4) = "i"
- befehle(2, 4) = "#"
- befehle(3, 4) = "l"
- befehle(4, 4) = "4"
- befehle(0, 5) = "4"
- befehle(1, 5) = "i"
- befehle(2, 5) = "i"
- befehle(3, 5) = "l"
- befehle(4, 5) = "5"
- befehle(0, 6) = "4"
- befehle(1, 6) = "a"
- befehle(2, 6) = "a"
- befehle(3, 6) = "n"
- befehle(4, 6) = "6"
- befehle(0, 7) = "5"
- befehle(1, 7) = "i"
- befehle(2, 7) = "i"
- befehle(3, 7) = "l"
- befehle(4, 7) = "5"
- befehle(0, 8) = "5"
- befehle(1, 8) = "a"
- befehle(2, 8) = "a"
- befehle(3, 8) = "r"
- befehle(4, 8) = "1"
- RefreshBefehle()
- SaveFileDialog1.Filter = "xml files (*.xml)|*.xml|All files (*.*)|*.*"
- SaveFileDialog1.FilterIndex = 1
- SaveFileDialog1.RestoreDirectory = True
- End Sub
- Private Sub Button6_Click(sender As System.Object, e As System.EventArgs) Handles Button6.Click
- If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
- Dim enc As New System.Text.UnicodeEncoding
- Dim XMLobj As Xml.XmlTextWriter = New Xml.XmlTextWriter(SaveFileDialog1.OpenFile(), enc)
- With XMLobj
- .WriteStartDocument()
- .WriteStartElement("befehle")
- For i = 0 To lastx - 1
- .WriteStartElement("befehl")
- .WriteAttributeString("zustand", befehle(0, i))
- .WriteAttributeString("zeichen", befehle(1, i))
- .WriteAttributeString("newZeichen", befehle(2, i))
- .WriteAttributeString("richtung", befehle(3, i))
- .WriteAttributeString("nextZustand", befehle(4, i))
- .WriteEndElement()
- Next
- .WriteEndElement()
- .Close()
- End With
- End If
- End Sub
- Private Sub Button4_Click(sender As System.Object, e As System.EventArgs) Handles Button4.Click
- lastx = 0
- ReDim befehle(5, 0)
- If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
- Dim XMLobj As Xml.XmlReader = New Xml.XmlTextReader(OpenFileDialog1.OpenFile())
- With XMLobj
- Do While .Read
- Select Case .NodeType
- Case Xml.XmlNodeType.Element
- If .AttributeCount > 0 Then
- lastx += 1
- ReDim Preserve befehle(5, lastx)
- befehle(0, lastx - 1) = .GetAttribute("zustand")
- befehle(1, lastx - 1) = .GetAttribute("zeichen")
- befehle(2, lastx - 1) = .GetAttribute("newZeichen")
- befehle(3, lastx - 1) = .GetAttribute("richtung")
- befehle(4, lastx - 1) = .GetAttribute("nextZustand")
- End If
- End Select
- Loop
- .Close()
- End With
- End If
- RefreshBefehle()
- End Sub
- End Class
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement