Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi editfeld - onchange - problem (https://www.delphipraxis.net/128725-editfeld-onchange-problem.html)

AlexanderBrade 4. Feb 2009 22:44


editfeld - onchange - problem
 
Hallo an alle,
geht so was:
Delphi-Quellcode:
if not edit1.Text='' then button1.enabled:=true;
Im prinzip soll der OK Button des FOrmulars immer nur dann aktiv sein, wenn etwas im editFeld steht um Komplikationen zu vermeiden, aber das scheint nicht ganz hinzuhauen!

pilic 4. Feb 2009 22:53

Re: editfeld - onchange - problem
 
Natürlich geht das, nur musst du den Button auch wieder deaktivieren, wenn es leer ist.

AlexanderBrade 4. Feb 2009 22:55

Re: editfeld - onchange - problem
 
Ja, aber, seine Standardantwort lautet beim Compilieren:
[Fehler] Unit12.pas(31): E2015 Operator ist auf diesen Operandentyp nicht anwendbar!!!!!!!!!!!

BullsEye 4. Feb 2009 22:56

Re: editfeld - onchange - problem
 
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  IF (edit1.Text <> '') THEN BEGIN
  Button1.Enabled := true;
  END ELSE BEGIN
  Button1.Enabled := false;
  END;
end;
So funktioniert das.

Musst nur den Button von Anfang an Disablen:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Enabled := false;
end;

Meflin 4. Feb 2009 22:58

Re: editfeld - onchange - problem
 
Oder einfacher :stupid:
Delphi-Quellcode:
Button1.Enabled := Edit1.Text <> '';

AlexanderBrade 4. Feb 2009 23:07

Re: editfeld - onchange - problem
 
Noch mal kurz eine andere Sache:
Wie schaffe ich es, dass ich die editbox nicht noch einmal anklicken muss und sofort nach dem Formularaufruf eingeben kann?
Geht das über den OI?

P.S. Das andere klappt dankt eurer Hilfe!

himitsu 4. Feb 2009 23:13

Re: editfeld - onchange - problem
 
nur eine Frage pro Thread :warn:

pssst: Edit in Tabulatorreinfolge an Platz 1 setzen oder Form.ActiveControl das Edit zuweisen (notfalls im Form.OnCreate)

Zitat:

Delphi-Quellcode:
if not edit1.Text='' then

und warum das nicht geht ... NOT hat Vorrang vor Vergleichen, also übersetzt Delphi das so:
Delphi-Quellcode:
if (not edit1.Text) = '' then
ein String kann nicht negiert werden,
aber das Gegenteil von = ist <> :zwinker:

Meflin 4. Feb 2009 23:13

Re: editfeld - onchange - problem
 
im OnDisplay deines Formulars:
Edit1.SetFocus
und am besten gleich noch
Delphi-Quellcode:
Edit1.SetFocus;
Edit1.SelectAll;


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:32 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