Hallo zusammen,
ich habe eine Funktion, die Felder in meinem Programm löscht bzw. überprüft, ob sie leer sind (vor dem Speichern).
Jetzt durchlaufe ich alle Felder und überprüfe, ob der Komponentennamen einen Teilstring enthält (Alle Komponenten(Name) auf dem Register Einstellungen enthalten zum Beispiel _Einstellung_).
Ich möchte das aber etwas beschleunigen. Meine Idee:
ich übergebe eine Komponente (zum Beispiel: TAdvOfficePager). Hier liegen jetzt Panel, Gridbox und so weiter drauf. Diese enthalten jetzt meine TEdit, Tcombobox usw.
In der Funktion möchte ich jetzt TAdvOfficePager übergeben + TEdit und ob es gelöscht oder überprüft werden soll. Es sollen aber alle Felder auf dem TAdvOfficePager gefunden werden.
Hat einer einen Tipp?
Danke und bleibt gesund
Maik
Delphi-Quellcode:
function Tf_menue.f_Felder_ueberpruefen(sRegister:string;boLöschen:boolean):Boolean;
begin
Result:= false;
//alle Felder durchlaufen und prüfen, ob das richtige Register erreicht ist
for iPuffer := 0 to ComponentCount-1 do
begin
if boLöschen = true then
begin
if Components[iPuffer] is TAdvEdit then
begin
if pos(sRegister,(Components[iPuffer] as TAdvEdit).Name) > 0 then
begin
(Components[iPuffer] as TAdvEdit).Text := '';
(Components[iPuffer] as TAdvEdit).Color := clWindow;
end;
end;
end
else
begin
if Components[iPuffer] is TAdvEdit then
begin
if pos(sRegister,(Components[iPuffer] as TAdvEdit).Name) > 0 then
begin
if (Components[iPuffer] as TAdvEdit).Text = '' then
begin
(Components[iPuffer] as TAdvEdit).Color := $00AFB0EB;
Result := true;
end
else
(Components[iPuffer] as TAdvEdit).Color := clWindow;
end;
end;
end;
end;