Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#25

Re: Variable zur Laufzeit erstellen

  Alt 20. Nov 2005, 19:10
Zitat von Scorpion:
*g* wie dumm, jetzt hab ichs...

Sagt mal, eine ObjectList kann man nicht 2 Spaltig machen ?

Bzw. mein Problem liegt auch darin, woher weiss ich denn, wenn ich eine Komponente ansprechen will, das wievielte Element es der Liste ist ?
Nun ja, du speicherst einfach nur die Referenz auf ein Objekt. Da musst du nichts zweispaltig machen (kann man natürlich auch). Du hast natürlich auch alle Eigenschaften der gespeicherten Objekte. D.h. du kannst auch folgendes tun:

Delphi-Quellcode:
var list : TObjectList;
    buffer : TImage;
    i : Integer;
begin
  list := TObjectList.Create;
  buffer := TImage.Create(nil);
  buffer.name := ...;
  list.add(buffer);
  ...
  ...
  if list.Count > 0 then
    begin
      for i := 0 to buffer.Count - 1 do
        begin
          if TImage(buffer.Items[i]).name = .... then
            begin
              // tu was du möchtest
              break;
            end;
        end;
    end;
end;
Mit dem Weg kannst du natürlich nach einer beliebigen Eigenschaft suchen (Name ist halt meistens eher unwichtig, wenn man erst zur Laufzeit erstellt).
Aber wenn es nur um den Namen geht, kannst du auch so nach dem Element suchen
Delphi-Quellcode:
var list : ComponentList;
    i : Integer;
begin
  ...
  ...
  if list.Count > 0 then
    begin
      for i := 0 to list.Count - 1 do
        begin
          if list.Items[i].name = .... then
            begin
              // mach was du willst
              break;
            end;
        end;
    end;
end;
  Mit Zitat antworten Zitat