Forum: VB.NET |
Thema:
Re: ComPort Daten werden beim lesen abgeschnitten |
Von:
mirmi li (
19.03.2005 11:33) |
Wen's interressiert, hier kommt die Lösung:
:)
Beim empfangen wird der Output Buffer an eine Prozdur übergeben:
strOutput = strOutput & comcom.Input
IncomeData(strOutput)
Die Prozedur stellt die Position des ersten ControlChars.Cr fest und gibt die Zeichen bis zum ersten ControlChars.Cr an die Prozedur weiter, die dann die Antworten für das Prog verabeitet (zB. belegen von Variablen)
Sieht so aus:
Private Sub IncomeData(ByVal data As String)
'Buffer füllen
IncomeBuffer &= data
'Sehen ob Buffer voll genug ist.
If IncomeBuffer.IndexOf(ControlChars.Cr) > -1 Then
Do
Dim IncomePos As Integer = IncomeBuffer.IndexOf(ControlChars.Cr)
'Gibte es kompletten Token?
If IncomePos > -1 Then
EvalData(IncomeBuffer.Substring(0, IncomePos))
IncomeBuffer = IncomeBuffer.Substring(IncomePos + 1)
Else
'alle Tokens abgearbeitet.
Exit Do
End If
Loop
End If
End Sub
Das passiert solange, bis der Buffer abgeabeitet ist.
Grüße
mirmi
Betreff |
Von |
Datum |
|
|
Raphael
Crivelli
|
20.03.2005 10:52 |
|
|
Antworten
Vorsicht bei der Eingabe: Die Zeichen ' oder -- sind nicht erlaubt!