Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Barcodeleser mit TEdit Feld (https://www.delphipraxis.net/75237-barcodeleser-mit-tedit-feld.html)

Jerry 16. Aug 2006 13:52


Barcodeleser mit TEdit Feld
 
Hallo zusammen

folgende Frage:

Ich habe ein TEdit Feld dieses Feld wird an einen Barcodeleser angeschlossen. Dieser Barcodeleser soll nach dem Lesen des Barcodes eine Procedur ausführen.

In welchem Ereignis soll man das am besten platzieren?

Ich kann den Barcodeleser so programmieren, dass er am Schluss einen CR oder Tab sendet. Wie wird dies aber im entsprechenden Ereignis ermittelt?

Vielen Dank für Eure Input's!

Grüsse vom Bodensee, hoffentlich bald wieder mal schöneres Wetter.... :-((

3_of_8 16. Aug 2006 13:54

Re: Barcodeleser mit TEdit Feld
 
Das dürfte Delphi-Referenz durchsuchenTEdit.OnKeyDown sein.

Jerry 16. Aug 2006 14:00

Re: Barcodeleser mit TEdit Feld
 
danke.

wieso der onkeydown und nicht der keypress? Was ist da genau der Unterschied?

Vielen Dank!

3_of_8 16. Aug 2006 14:04

Re: Barcodeleser mit TEdit Feld
 
Dazwischen wird IMHO TranslateMessage aufgerufen.

Das heißt, aus der gedrückten Taste 65 (A) wird erstmal nachgeschaut ob Umschalt gedrückt ist, wenn ja kommt ein #65 ('A') raus, ansonsten ein #97 ('a'). Das heißt in OnKeyPress hat man den Char, der ins Edit kommen würde und in OnKeyDown den virtuellen Tastencode (nachzuschlagen unter Delphi-Referenz durchsuchenVirtuelle Tatencodes, ja, Tatencodes ohne s, zumindest in Delphi 7 bei mir. ;) )

Jerry 16. Aug 2006 14:07

Re: Barcodeleser mit TEdit Feld
 
danke vielmals. soeben probiert und passt.
habe eben noch nicht viel mit Tastaurabfragen gemacht!

Sidorion 16. Aug 2006 16:53

Re: Barcodeleser mit TEdit Feld
 
[OT]
Mich würd dabei interessieren, wie man ein Editfeld an einen Scanner anschließt :shock:
Zitat:

Wolle stecken linke Rand Editfelden an Scannergriff
[/OT]

DGL-luke 16. Aug 2006 20:47

Re: Barcodeleser mit TEdit Feld
 
ernste frage? wenn ja: der scanner schleift sich normalerweise in die tastatur rein ('Hook' auf die PS/2-Leitung ;) ) und gibt dir astreine tastatur-events, die dann im edit landen.

shmia 17. Aug 2006 19:57

Re: Barcodeleser mit TEdit Feld
 
Ich würde das mit dem Event OnExit machen.
Dies ist viel bequemer als mit OnKeyDown oder OnKeyPress.
Wenn der Scanner ein Tab sendet, wird das Feld ja automatisch verlassen und OnExit ausgelöst.
In diesem Event verarbeitest du die Daten und springt wieder ins Eingabefeld zurück
(aber nur, wenn im Feld ein Inhalt drin war!!).
Delphi-Quellcode:
procedure TForm1.Edit1OnExit(sender:TObject);
var
   scancode : string;
begin
   scancode := TEdit(Sender).Text;
   if scancode <>'' then
   begin
      VerarbeiteDaten(scancode);
      TEdit(Sender).SetFocus;  // zurück aufs Eingabefeld
   end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:24 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 by Thomas Breitkreuz