![]() |
Button freigeben wenn Felder gefüllt sind?
Guten Morgen,
ich hoffe jeder von euch hat daran gedacht seine uhr um eine stunde ZURÜCK zustellen :zwinker: So nun aber zu meiner Frage. Ein Form mit mehreren TEdits und einem Button. der button soll erst aktiviert werden, wenn alle felder einen Eintrag haben. Wie setze ich das um? |
Re: Button freigeben wenn Felder gefüllt sind?
Hai Leon de Bar,
am einfachsten machst Du das im .OnChange-Ereigniss der TEdits. Ich habe mal eine Beispiel in dem ich alle Edits der Form durchlaufe und prüfe ob sie ohne Inhalt sind.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var ndx : Integer; begin Button1.Enabled := False; for ndx := 0 to ComponentCount - 1 do // Alle Komponenten der Form durchgehen begin if (Components[ndx] is TEdit) then // Handelt es sich um ein Edit? begin TEdit(Components[ndx]).Clear // Inhalt aller Edits löschen TEdit(Components[ndx]).OnChange := AllEditChange; // Alle Edits das selbe OnChange zuweisen. end; end; end; procedure TForm1.AllEditChange(Sender: TObject); var ndx : Integer; foo : Boolean; begin foo := True; for ndx := 0 to ComponentCount - 1 do // Alle Komponenten der Form durchgehen begin if (Components[ndx] is TEdit) then // Handelt es sich um ein Edit? begin if (TEdit(Components[ndx]).Text = '') then // Edit ist leer. begin foo := False; // Button wird deaktiviert Break; // Schleife verlassen end; end; end; Button1.Enabled := foo; end; |
Re: Button freigeben wenn Felder gefüllt sind?
Hi Sharky,
ich habe dein skript mal übernommen. DANKE dafür. Leider funzt es nicht. er sagt mir, dass ein Simikolon oder Operator fehlt - hinter dem TEdit. Lege ich einfach eine Procedure an für das AllEditChange an oder wie? im OI kann ich das doch nciht machen, da ist doch immer nur für ein EDIT-Feld...??? Oder... :?: |
Re: Button freigeben wenn Felder gefüllt sind?
Delphi-Quellcode:
Nach dem Clear fehlt das Semikolon.
TEdit(Components[ndx]).Clear //...
In seiner ersten Prozedur wird doch das OnChange Ereigniss für die Editfelder festgelegt. |
Re: Button freigeben wenn Felder gefüllt sind?
Zitat:
|
Re: Button freigeben wenn Felder gefüllt sind?
:wall: DANKE. Ich habe es verbessert und dann funzte es nicht. Dann habe ich es wieder weg gemacht und es funzte nicht. Nun schreibst du mir, daß ich das so machen muss und nun funzt es... :wall:
JETZT löft es wunderbar. :thumb: :thumb: :thumb: [Edit] Peinliche Wiederholung entfernt [/Edit] |
Re: Button freigeben wenn Felder gefüllt sind?
Zitat:
mache mal ein neues Projekt auf. Plaziere doch mehrere TEdits. Jetzt hast Du zwei möglichkeiten: Markiere alle Edits, gehe im OI auf OnChange und mache einen Doppelklick. Jetzt ist bei allen markierten Edits die selbe OnChange Methode eingetragen. Oder: Du hast für ein TEdit schon eine OnChnage Methode geschrieben; dann kannst Du diese im OI auch noch weiteren Edits zuweisen. Dafür einfach die Methode in der ComboBox von .OnChange auswählen. |
Re: Button freigeben wenn Felder gefüllt sind?
KLASSE :bounce1:
Das ist einfach super dieses Board. Dank dir Sharky. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:42 Uhr. |
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