How to use a loop to catch edit control values (Views: 101)
I want to check if the user has filled all required DBEdit controls on a notebook, before enabling a button on the form.
If you dropped the controls onto the notebook at design time, their Owner will be the form not the notebook. This means that it will not belong to the Components array of the notebook, but of the form. The Notebook's Controls array will be all the controls it parents and that is probably the array you want to loop through.
fldEmpty := False;
with Notebook do
for I := 0 to ControlCount - 1 do
fld := Controls[i];
if (fld is TDBEdit) then
fldEmpty := TDBEdit(fld).GetTextLen = 0;
if fldEmpty then
AddfrmNextBtn.Enabled := not fldEmpty;
if fldName is TCustomEdit then
fldEmpty := TCustomEdit(fldName).GetTextLen = 0;
<< Back to main page