Delphi: Komponenten über ihren Namen ansprechen
Tipp von Delphianer | Letztes Update am 29.01.2023 | Erstellt am 14.07.2012
In diesem Tipp möchte ich euch zeigen, wie ihr auf Komponenten nur über deren Namen zugreifen könnt. Das Verfahren bietet sich vor allem dann an, wenn ihr bei vielen Komponenten eine Eigenschaft ändern möchtet, die im besten Falle auch noch durchnummeriert sind.
Unsere Funktion der Wahl heißt FindComponent und wird benutzen sie folgendermaßen:
(FindComponent('label1') as TLabel).color := clGreen;
Hier setzen wir die Farbe von "label1" auf "clgreen". Wichtig ist dabei, dass wir immer den richtigen Typen der Komponente (hier "TLabel") hinter "as" angeben, sonst kommt es zu einer Fehlermeldung. Ansonsten können wir hinter FindComponent einfach einen String mit dem Namen der Komponente angeben, wenn wir wollen auch über Variablen.
Beispiel
In diesem Beispiel möchten wir die "label1" bis "label10" jeweils in einem Abstand von 20 Pixeln von oben nach unten anordnen und sie dabei über ihren Namen ansprechen:
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := 1 to 10 do (FindComponent('label'+inttostr(i)) as TLabel).top := i*20; end;
In unserer Schleife zählen wir "i" von 1 bis 10 hoch und wählen dadurch jeweils unser "label1" bis "label10" mit FindComponent aus. Die Eigenschaft "top" dieses so ausgewählten Labels setzen wir dann auf "i * 20", demnach wird das erste Label auf 20 gesetzt, das zweite auf 40 und so weiter.
Über den Autor
Der Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen
Ähnliche Themen
Ist das Liebeskummer oder was anderes?
Offene Frage | 1 Antwort
Delphi: Mehrzeilige Caption für TLabel (zur Laufzeit und Design Zeit)
Tutorial | 1 Kommentar
HTML: Unterschied zwischen ID und CLASS
Info | 0 Kommentare
Delphi/Lazarus: Kommandozeilen Parameter Tutorial Teil 1: Senden
Tutorial | 0 Kommentare
Jungen/Männer viktimisieren sich immer selber, wie Buddhisten ungefähr
Offene Frage | 1 Antwort
Das sichere Passwort
Info | 0 Kommentare
Mehrere Komponenten auf Panel auswählen
Tipp | 0 Kommentare
Wichtiger Hinweis
Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.
Jetzt mitmachen
Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.