Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Editfeld nach 5. Zeichen wechseln (https://www.delphipraxis.net/50222-editfeld-nach-5-zeichen-wechseln.html)

Seven 22. Jul 2005 08:25


Editfeld nach 5. Zeichen wechseln
 
Hallo zusammen,

ich habe folgendes Problem. In meiner Firma haben wir einen Barcodescanner dieser gibt einen neunstelligen Zahlencode aus. Klappt auch soweit. Jetzt möchte ich mit Delphi 2 Editfelder nehmen und diesen Code aufteilen. Editfeld1 soll 5 Zeichen habe und Editfeld2 4 Zeichen, damit ich diese beiden Werte in der Datenbank getrennt speichern kann. 1. Feld definiert eine Bestell-Nr und das zweite Feld die Position. Ich habe jetzt den einzelnen Felder mit MaxLength die maximale Zeichenlänge vorgeben, das Programm soll aber automatisch nach dem 5. Zeichen in das 2. Editfeld springen.

Ich hoffe ich habe mir einigermaßen klar ausgedrückt und hoffe auf Hilfe Eurerseits.
Danke im voraus

barf00s 22. Jul 2005 08:28

Re: Editfeld nach 5. Zeichen wechseln
 
emm wie bekommst du denn den barcode? liest du ihn als ganzes ein? oder zeichenweise? Oo?

les den komplett innen string ein, den kannst dann mit Copy() in deine Edit controls aufsplitten

jensw_2000 22. Jul 2005 08:34

Re: Editfeld nach 5. Zeichen wechseln
 
Konfiguriere den Scanner so, das er mit RETURN abschliest und nimm MaxLength=5 bei Edit1 wieder weg.

Dann in Edit1.onKeyPress..

Delphi-Quellcode:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
  var s: String;
begin
  if key=#13 then
  begin
    key:=#0;
    // Prüfen ob edit1.text > 5 Zeichen ist
    s:=edit1.Text;
    if length(s) > 5 then
    begin
       edit1.Text:=Copy(s,1,5);
       edit2.text:=Copy(s,6,length(s));
       edit2.SetFocus;
    end;
  end;
end;

Seven 22. Jul 2005 08:40

Re: Editfeld nach 5. Zeichen wechseln
 
Danke jensw_2000

sieht gut aus. Ich wurschtel mich dann erstmal weiter, bis zum nächsten Problem.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:49 Uhr.

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