Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#11

AW: Componenten in Forms und Frames finden

  Alt 6. Dez 2016, 19:09
Du hast die Lösung doch schon geschrieben und genutzt.

Du fragst ab, ob irgendwas is tIrgendwas, wenn ja mach was.

Du übergibst halt als Parameter einen Vorfahrentyp, der bei allen gleich ist.

Da Du in der Schleife Components abfragst und damit nach allen Komponenten suchst, übergibst Du der Prozedure halt die Komponente, bei der Du alle Komponenten abfragst, die sie in Components enthält.
Delphi-Quellcode:
procedure WieSuchenNachKomponenten(a : TComponent);
var
  i : Integer;
begin
  if a is TForm then begin
    for i := 0 to a.Componentcount - 1 do begin
      if a.Components[i] is TWasweissIch then begin
        // TustduwasweissIch
      end else
      if a.Components[i] is TKannwasAnderesSein then begin
        // TustduKannwasAnderesSein
      end;
    end;
  end else
  if a is TFrame then begin
     // Wenn es was ganz anderes sein soll
  end else
  ...

end;
Ist es egal, ob nun ein TForm oder ein TFrame reinkommt, dann geht's auch ohne die Abfrage nach TForm bzw. TFrame.

Du willst ja schließlich was mit den Komponenten machen, die in Components enthalten sind. Dabei dürfte es (fast) egal sein, ob das Teil, dass Du in die Prozedur reingibst nun ein TFrom oder ein TFrame oder ein TPanel oder TEinWasWeissIch ist, dessen Komponenten aus Components "verarbeitet" werden sollen.

Geändert von nahpets ( 6. Dez 2016 um 19:12 Uhr) Grund: Schreibfehler, wie immer :-(
  Mit Zitat antworten Zitat