Hallo,

ich habe in den Ferien mir überlegt wie ich meinen Roboter verbessern kann. Da bin ich auf die Idee gekommen ihm einfach die alte Com-Port Maus zur besseren Nafiagtion unter dran zu bauen. Nun habe ich dann doch ein Problem bekommen. Wie zeige ich die Daten auf dem Monitor an? Ok ein kleines Terminal Programm gesucht und gefunden und die Maus mal in alle Himmelsrichtungen bewegt. Da kammen die Daten nur so gelflogen auf den Bildschirm. Hab dan überlegt welche der Daten nur für die eine Richtung sind und welche für die Anderen. Hab das Programm umgeschrieben und getestet. Maus gerade aus bewegt und es zeigete auf den Bildschirm eiene Schräge lineie nach unten an. Also mal die Maus geöffnet. Das Rädchen welches für dei Bewegung nach oben zustäandig ist gedreht. Nur das kein anderes (Kugel ist ausgebaut). Und die Linie ging immernoch nach untern rechts. Na gut umprogrammiert wieder getestet aber es geht nicht. Das ganze in VIsual Basic.

Nun meine Frage:
Hat jemand schon so ein Programm geschriegen welches ich verwenden kann? Oder kann mir jemand tipps geben wie ich es machen muss.

Code:
Dim n
Dim Y1, Y2, X1, X2


Private Sub Check1_Click()
  If Check1.Value Then DTR 1 Else DTR 0
End Sub

Private Sub Check2_Click()
  If Check2.Value Then RTS 1 Else RTS 0
End Sub

Private Sub Command1_Click()
  CLOSECOM
  OPENCOM Text1.Text
  DTR 0
  Check1.Value = False
  RTS 0
  Check2.Value = False
End Sub

Private Sub Command2_Click()
 Text2.Text = ""
 Text3.Text = ""
 Text4.Text = ""
 Text5.Text = ""
End Sub

Private Sub Form_Load()
  OPENCOM "COM2:1200,N,8,1"
  DTR 0
  Check1.Value = False
  RTS 0
  Check2.Value = False
  Y2 = 50
  X2 = 50
End Sub
Private Sub Form_Unload(Cancel As Integer)
  CLOSECOM
End Sub
Private Sub Text2_Change()
  If Text2.Text > "" Then Char = Asc(Right$(Text2.Text, 1))
  If Char = 10 Then
    Byt$ = (Right$(Text2.Text, 5))
    dat = Val(Byt$)
    dat = dat And 255
    SENDBYTE dat
  End If
End Sub

Private Sub Text4_KeyPress(KeyAscii As Integer)
  SENDBYTE KeyAscii
End Sub

Private Sub Timer1_Timer()
  Y1 = Y2
  X1 = X2
  Do
    dat = READBYTE
    If dat > -1 Then
      Text3.Text = Text3.Text + Str$(dat) + " "
       n = n + 1
       If n = 8 Then n = 0: Text3.Text = Text3.Text + Chr(13) + Chr(10)
       Text3.Refresh
    End If
    If Str$(dat) = 204 Then Y2 = Y1 + 1    'Daten der Maus
    If Str$(dat) = 192 Then Y2 = Y1 - 1    '    -"-
    If Str$(dat) = 192 Then X2 = X1 + 1    '    -"-
    If Str$(dat) = 195 Then X2 = X1 - 1    '    -"-
    'runter 204 hoch 192 rechts  195 links  192
    Picture1.Line (X1, Y1)-(X2, Y2)
    If (dat > -1) And (dat <> 13) And (dat <> 19) Then
      Text5.Text = Text5.Text + Chr$(dat)
    End If
    If dat = 13 Then
      Text5.Text = Text5.Text + Chr$(13) + Chr$(10)
      Text5.Refresh
    End If
  Loop Until dat = -1
  If CTS = 1 Then Check3.Value = 1 Else Check3.Value = 0
  If DSR = 1 Then Check4.Value = 1 Else Check4.Value = 0
  If DCD = 1 Then Check5.Value = 1 Else Check5.Value = 0
  If RI = 1 Then Check6.Value = 1 Else Check6.Value = 0
End Sub
Hier noch das Progamm in Visual Basic.

mfg
Michael