Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Tastatur-Barcode-Scanner (https://www.delphipraxis.net/79328-tastatur-barcode-scanner.html)

DP-Maintenance 20. Okt 2006 13:11

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Neuen Beitrag zur Code-Library hinzufügen" nach "Sonstige Fragen zu Delphi" verschoben.
Du willst das in die Codelibrary hinzufügen? Sorry, aber das ist kein Code der in die Library gehört. Genau genommen ist da gar kein Code...

Union 20. Okt 2006 13:33

Re: Tastatur-Barcode-Scanner
 
Für "normale" Zeichen ist auch eher OnKeyPress zuständig. Dabei muss Dir klar sein, dass jedes Zeichen einzeln reinkommt. Du brauchst also einen "Speicher" für die bereits empfangenen Zeichen an den Du dann anhängst. Beispiel:

Delphi-Quellcode:
//------------------------------------------------------------------------
procedure TfrmLSchein.dbgLsPosKeyPress(Sender: TObject; var Key: Char);
//------------------------------------------------------------------------
// Für die Eingabe der EPos-Nummer über Barcode
//------------------------------------------------------------------------
begin
   // wenn nicht innerhalb einer Sekunde alles kommt, handelt es sich um eine manuelle Eingabe...
   if SecondsBetween(now, dtEposInputStart) > 1 then
   begin
      // ... also löschen
      sEposNr := '';
      dtEposInputStart := now;
   end;
   case key of // Gültige Zeichen, anhängen
      '0'..'9'   : sEposNr := sEposNr+Key;
   else        
      sEposNr := '';
   end;
end;
Die Variablen sEposNr und dtEposInputStart sind im private Teil des Formulares enthalten:
Delphi-Quellcode:
  private
    { Private-Deklarationen }
    sEposNr : string;
    dtEposInputStart : TDateTime;
Iregdnwann kommt ja (auch vom Scanner) ein Return, und dann kannst Du die gesammelte Zeichenfolge weiterverarbeiten.

juezi 20. Okt 2006 13:52

Re: Tastatur-Barcode-Scanner
 
Hallo,

vielen Dank für den Code, ich hätte aber noch eine Frage zu

if SecondsBetween(now, dtEposInputStart) > 1 then

now entspricht der aktuellen Systemzeit
dtEposInputStart entspricht der Zeit wann der Eingabe erfolgt

Was liefert mir SecondsBetween zurück?

Vielen Dank

Union 20. Okt 2006 13:55

Re: Tastatur-Barcode-Scanner
 
Die Sekunden zwischen zwei Werten, siehe Delphi-Referenz durchsuchenSecondsBetween.

juezi 20. Okt 2006 14:06

Re: Tastatur-Barcode-Scanner
 
Hallo,

ich habe vergessen die DateUtils im uses anzugeben.
Mit dem Quellcode den Du mir gegeben hast denke ich werde ich zurechtkommen und ihn auch nutzen.
Ich möchte mich recht herzlich bei Dir bedanken für Deine Schnelle, gute und kompetente Hilfe.
Wenn ich vielleicht auch mal soweit bin kann ich auch weiterhelfen.

Nochmal Danke für die gute Hilfe


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr.
Seite 2 von 2     12   

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