Lista komponetów

0

Czy istnieje możliwość pobrania z formy lub innego komponetu maciezystego (ramki, panelu, PageControl-u itp.) listy komponetów danego rodzaju(lub wszytkich komponetow lacznie z ich rodzajem) np. Edit'ów ktore sie na nim znajduja [???] W programi ktory pisze wystepuje duża ilość kontrolek edycyjnych i czasem trzebaby je wszytkie "wyzerowac" podczas programu, rozwiazanie typu

...
edit1.Text := ' ';
edit2.Text := ' ';
edit3.Text := ' ';
...

wydaje mi sie rowiązaniem niezbyt ładnym i mozna przez przypadek pominac kilka komponetów. Z góry dziekuje za pomoc.

0

w FAQ masz petle do wszystkich komp. danego typu....

0
var
 i: integer;
begin
  for i := 0 to Panel1.ControlCount - 1 do  // do nazwy komponentu rodzica
    begin
      if Controls[i] is TEdit then
         Controls[i].Text := '';  // no i tutaj jesli komponent jest editem
    end;

// czemu mam takie duże odstepy między wierszami???

0

Jeżeli chodzi o ścisłość:

 for i := 0 to Panel1.ControlCount - 1 do
    begin
       if Panel1.Controls[i] is TEdit then
       (Panel1.Controls[i] as TEdit).Text := '';
    end;
0

A tak w ogóle to robił ktoś może listę wszystkich kontrolek formy? W ogólnym przypadku w Panelu może być następny Panel itd itd, wychodzi jakieś drzewo tylko ze kazdy Panel może mieć różną liczbę Paneli...

0

Skorzystaj z rekurencji. W gotowcach albo w artykułach (w każdym razie gdzieś w serwisie) masz wyświetlanie drzewa katalogów rekurencją.

0

Dzięki, może uda mi się to znaleźć

1 użytkowników online, w tym zalogowanych: 0, gości: 1