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;