Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Strings über ComPort senden (https://www.delphipraxis.net/91243-strings-ueber-comport-senden.html)

drschubi 2. Mai 2007 08:58


Strings über ComPort senden
 
Guten Morgen,

ich habe ein kleines Verständnisproblem.

Ich sende Strings über die Comschnittstelle an einen Barcodescanner.
Geb ich die Strings von Hand in ein Eiditfeld ein und sende sie nacheinander gibt es kein Problem. Sobald ich die Strings mittels Button nacheinander senden will, wird nur der erste String quittiert, mit Pause dazwischen auch noch der zweite, der dritte wird dann aber nicht mehr gesendet.

Delphi-Quellcode:
procedure TForm1.btnSendStringClick(Sender: TObject);
var a,b,c,SendStr: string;
begin
a:= '$+$*' + #$0D#$0A; //Restore Default
b:= '$+CP0$-' + #$0D#$0A; // Set RS232
c:= '$+AC110155$-' + #$0D#$0A; //Set Codetype

  SendStr := a; //Restore Default
  SerialPort.SendString(SendStr);
  sleep(10000);
  Sendstr := b; // Set RS232
  SerialPort.SendString(SendStr);
  sleep(10000);
   Sendstr := c; //Set Codetype
  SerialPort.SendString(SendStr);
end;

Muss ich noch etwas beachten?

Vielen Dank Schubi

Gruber_Hans_12345 2. Mai 2007 09:01

Re: Strings über ComPort senden
 
wahrscheinlich wird dir der bardcodescanner nach jedem befhel eine antwort schicken, diese würde ich abwarten (einfach einlesen) und dann den nächsten schicken.

wenn du einfach wild drauf losschickst, dauerts erstens viel länger, da du jedesmal große pausen einlegen mußt, und diese pausen wahrscheinlich auch immer abhängig vom befehel davor sind, wielange diese zum ausführen brauchen

drschubi 2. Mai 2007 09:43

Re: Strings über ComPort senden
 
Hallo Hans,

vielen Dank. Der Scanner quittiert den Befehl mit einem doppelten Piepston sendet aber nix zurück.
Viele Grüße Schubi

drschubi 2. Mai 2007 10:00

Re: Strings über ComPort senden
 
So gelöst.
Der Befehl "Set RS232" war überflüssig, da ich ich ja von Anfang an schon über die RS232 kommuniziert habe.
Sorry, Denkfehler.

Gruß Schubi


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz