Einzelnen Beitrag anzeigen

Daniel B
(Gast)

n/a Beiträge
 
#1

Ich bleib im Case hängen

  Alt 2. Mär 2003, 10:03
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
  Mit Zitat antworten Zitat