Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi TEdit-Feld MUSS einen Wert enthalten!! (https://www.delphipraxis.net/840-tedit-feld-muss-einen-wert-enthalten.html)

Hansa 18. Sep 2002 11:11

Hallo City Light,

Es soll in einer Schleife laufen :

1. Eingabe Art.Nr. (das ist das besagte Feld)
2. Editieren der anderen Felder
3. wieder bei 1. anfangen

Damit ich hier keine Endlosschleife produziere ist die Ende-Bedingung halt mein Ende-Button. Da ich keinen Preis ändern kann, sofern die Art.Nr. noch gar nicht bekannt ist, darf das Feld nicht leer sein. NUR in einem Fall : ich will etwas anderes machen ! Z.B. weil ich die Nr. gar nicht weiß.

Code:
procedure TKGeingabe.Edit1Exit(Sender: TObject);
begin
  IF StrVorhanden (Edit1.Text) THEN BEGIN
    Edit1.Enabled := false; // KG-Nr. nicht editierbar
    WITH DataModule2.KGdatenSatz DO BEGIN
                             // hier wird der Datensatz gesucht usw.
    END;
    DBedit2.SetFocus;       // Focus auf erstes DB-Feld
  END
  ELSE
    Edit1.SetFocus;
end;

Wie man sieht, wird Edit1.SetFocus immer aufgerufen, falls Edit1.text leer ist und jemand versucht, das Feld trotzdem zu verlassen. Dadurch erreiche ich einerseits, daß die Felder erst benutzt werden können, sofern ein Datensatz verfügbar ist, aber an den Ende Button komme ich so auch nicht dran. Das SetFocus funktioniert zwar, aber es ist in diesem Fall zu "streng".

Gruß
Hansa

@Admin : obiger Quelltext ließ sich bei mir nicht in ein Code - Fenster bringen. ?????

Syntax hinzugefügt&UBBCode entdeaktiviert :mrgreen: - FuckRacism

RomanK 18. Sep 2002 11:20

Du hattest den UBBCode deaktiviert!!!!

Code machst du mit
Code:
 dein Code

Hansa 18. Sep 2002 11:46

@FuckRacism : Aha. Prompte Antwort.

City Light 18. Sep 2002 14:35

Hi Hansa!

Ich sitze noch immer dran!! was ich bisher erreicht ist das hier

Code:
procedure TForm1.Edit1Exit(Sender: TObject);
begin
  if Edit1.Text = '' Then
  if MessageDlg('Es wurden keine Eingaben gemacht'#13#10#13#10'Eingabe fortzetzen?', mtConfirmation, [mbYes, mbNo], 0) = mrNo then
   begin
     Edit1.Enabled := False;
     Edit1.Color := ClBtnFace;
     Button1.SetFocus;
   end
   else
     Edit1.SetFocus;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 Uhr.
Seite 3 von 3     123   

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