Hallo! Ich arbeite (schon länger) mit folgendem Code (etwas abgeändert) in VB6...erfolgreich. Einfach mal kopieren und schauen ob`s klappt ;)
:
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
On Error Resume Next
Dim strData As String
Winsock1.GetData strData
FMSEingang strData
End Sub
Public Sub FMSEingang(ByVal strData As String)
Dim strMultiString() As String
Dim strSimple() As String
Dim I As Integer
If strData <> "" Then
strMultiString = Split(strData, Chr$(13) & Chr$(10)) 'Warum? Falls 2 Telegramme auf einmal gesendet werden, wird keins "verschluckt"!
For I = 0 To UBound(strMultiString)
If strMultiString(I) <> "" Then
strSimple = Split(strMultiString(I), Chr$(9))
Select Case strSimple(0)
Case "FMSTlg"
MsgBox strSimple(1) & "_" & strSimple(6) & "_" & strSimple(8) 'Hier würde FMS-Kennung_Status_Richtung stehen!
Case "POC"
MsgBox strSimple(1) 'Hier würde der RIC stehen!
Case "ZVEI"
MsgBox strSimple(1) 'Hier würde die 5-Tonfolge stehen
End Select
End If
Next I
End If
End Sub