Sorry, LuK-As, das ich jetzt erst mich wieder melde. War etwas beschäftigt in der letzten Zeit.
Zu deinem Programm:
Mach mal ein debug.print von tmpdata1. Dann kannst du im direktfenster erstmal sehen, ob der String komplett ankommt. Ich glaube nämlich das die ;-Zeichen da Probleme machen.
Also ungefähr so:
Code:
Private Sub MSComm1_OnComm()
dim TmpData1 as string <----- Sonst hast du ein Variant und das kann vieles darstellen
TmpData1 = MSComm1.Input
Debug.Print TmpData1 <----- im Einzelschritt wird dir dann im Direktfenster der String komplett ausgegeben.
Select Case MSComm1.CommEvent
Case comRxOver: MsgBox "Datenverlust"
Case comEvReceive: Me.ComInput = Me.ComInput + TmpData1
End Select
ComInput.SelStart = Len(ComInput.Text)
On Error Resume Next
If Left(TmpData1, 2) = "xx" Then
Text1.Text = Mid(TmpData1, 4, 3)
Text2.Text = Mid(TmpData1, 8, 3) <---fängst schon in der 8. SPalte an ;)
End If
End Sub
Sonst müsste der Code die beiden Werte richtig liefern.
[/code]
Lesezeichen