AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Button erst klickbar wenn Editfelder ausgefüllt
Thema durchsuchen
Ansicht
Themen-Optionen

Button erst klickbar wenn Editfelder ausgefüllt

Ein Thema von Delphi_gn7 · begonnen am 13. Sep 2011 · letzter Beitrag vom 13. Sep 2011
Antwort Antwort
Seite 1 von 2  1 2      
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 19:48
Hi,

ich habe in meinem Programm eine Dialogbox mit mehreren LabelEdits und einem OK-Button. In 2 LabelEdits soll mindestens 1 Buchstabe eingetragen werden und in ein weiteres eine (genau) 4-stellige Zahl, bis OKButton.Enabled auf TRUE gesetzt wird und somit anklickbar ist. Wie realisiere ich das?

Ich habe mit den OnChange und OnKeyPress-Ereignissen des ersten LabelEdits testweise erst mal folgendes versucht:

if length(text) >= 1 then OKBtn.Enabled:=TRUE else OKBtn.Enabled:=FALSE; ,

aber anscheinend werden die Ereignisse nicht ausgelöst wenn die Backspace-Taste gedrückt wird - ich kann also zunächst einen Buchstaben ins LabelEdit eintragen und anschließend wieder löschen, ohne dass der OK-Button wieder ausgegraut wird, was aber nicht sein sollte.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 19:51
Delphi-Quellcode:
procedure TForm1.LabeledEdit1Change(Sender: TObject);
begin
  btnOk.Enabled := (TLabeledEdit(Sender).Text <> '');
end;
Es gibt auch das Event OnChange, welches wohl das passende für dich sein dürfte.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#3

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 19:55
Delphi-Quellcode:
procedure TForm1.LabeledEdit1Change(Sender: TObject);
begin
  btnOk.Enabled := (TLabeledEdit(Sender).Text <> '');
end;
Es gibt auch das Event OnChange, welches wohl das passende für dich sein dürfte.
das habe ich ja wie oben erwähnt auch versucht - oder ist mein Befehl einfach nur unwirksam?
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:04
Oha, habe das OnChange komplett übersehen, sorry -- Asche auf mein Haupt

Bei mir klappt mein Code im OnChange-Ereignis jedenfalls.

Btw. Hast du den Code im OnChange UND im KeyPress-Ereignis?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#5

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:07
nein nur jeweils in einem... deiner klappt, ja, aber ich wüsste gerne wo in meiner zeile der logische fehler ist
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:08
Was ist denn denn text? Zeit mal die ganze Methode her.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#7

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:13
naja text ist einfach der Parameter des LabelEdits, das was man dort einträgt

Habe auch self.text (also LabelEdit1.text ) versucht, hat nichts geändert
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:17
Zeig mal bitte die komplette Methode her!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:18
Also folgendes funktioniert definitiv, der OnChange wird ausgelöst und der jeweilige Text des Edits in ein Label geschrieben.
Delphi-Quellcode:
procedure TForm1.LabeledEdit1Event(Sender: TObject);
begin
   label1.Caption := TLabeledEdit(Sender).Text+'|';
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#10

AW: Button erst klickbar wenn Editfelder ausgefüllt

  Alt 13. Sep 2011, 20:24
Habe gerade nachgeschaut, und was war genau das was ich dachte... Es liegt an dem Aufruf von Text. TForm hat auch die Eigenschaft Text und genau auf diese greifst du zu. Du greifst nicht auf die LabeledEdit1.Text-Eigenschaft zu.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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