Hallo,
Delphi-Quellcode:
var
sCom, sByte: String;
iFor: Integer;
begin
{ ComPort1.ReadStr(sCom, 2);
sByte := '';
Delay;
sByte := IntToStr(Byte(sCom[2]));
ShowMessage('Daten: ' + sByte); }
for iFor := 1 to ComPort1.InputCount do
begin
ComPort1.ReadStr(sCom, 1);
sByte := '';
begin
case sCom[1] of
#0 : begin
ShowMessage(IntToStr(Ord(sCom[1]))); ***
ShowMessage(IntToStr(Ord(sCom[2])));
end;
#1 : begin
// ShowMessage(IntToStr(Ord(sByte)));
// ShowMessage(IntToStr(Ord(sByte])));
end;
end; //case
end; //begin
end; //for
end;
Mit folgendem Code, lese ich Daten von der Seriellen. Geht auch im Prinzip. Als erstes kommt auch #0, d.h., ich komme auch in die Zeile mit den drei Sternchen, diese wird jedoch nicht mehr ausgeführt. Irgendwie bleibe ich total in der Schleife hängen, mehr passiert nicht, ich kann nur noch das Programm schliessen. Es sieht so aus als wenn ich gar keine Daten erhalten würde. Wenn ich aber Debuge und der Cursor in der Zeile mit *** ist, dann steht in sCom auch #0 drin.
Grüsse, Daniel