![]() |
Mehrere Objekte Ansprechen:Beispiel Buttons !
Hallo Leute !
Dies ist mein erster Beitrag hier,ich hoffe auf ein gutes Verhältnis. Freut mich hier zu sein,bei euch Pros. :-D Hab eine Frage,wegen der ich gestern fast geheult habe. Wie kann ich Objekte,also Labels und Buttons per Integer ansprechen? Beispiel: Ich habe 3 Buttons (button1,button2,button3).Ich möchte per for-Schleife die Caption aller auf "test" ändern. So gings nicht: ###
Delphi-Quellcode:
###
var a:integer
procedure ... begin for a:=1 to 3 do tbutton('button' + inttostr(a)).caption:='test' end; Wie schaft man das? :pale: |
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
FindComponent lautet das Zauberwort :mrgreen:
Delphi-Quellcode:
Florian
var
i: integer begin for i := 1 to 3 do TButton(FindComponent('Button' + IntToStr(i))).Caption := 'test'; end; |
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
mach doch n Array [1..3] of label .... oder versuche findcomponente
|
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
Boah danke Florian. :o :-D Vielen Dank !
PS:Teron dein Tip ist auch nicht schlecht ! :shock: An sowas hab ich bis jetzt noch nicht gedacht! |
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
Zitat:
:zwinker: :mrgreen: |
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
Zitat:
|
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
FindComponent ist ein recht schlechter Stil. ;)
Strings vergleichen dauern relativ lange, vor allem wenn man sequentiell durch das ganze Components-Array durch muss. Wenn du die Komponenten, die du brauchst, in ein Array packst, hast du indizierten Zugriff, das heißt das Ganze geht sehr viel schneller. Nebenbei: Die wenigsten hier sind Pros. Ich zum Beispiel bin keiner. ;) |
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
Mir erschließt sich in puncto Arrays eine neue Frage,die im Prinzip auf die obere verweist:
Wenn ich 50 Buttons(button1,button2,...) habe,dann muss ich die ja noch in den Array[1..50] of Buttons alle EINZELN per Hand eintragen.Wie kann ich das in einer FOR-Schleife machen und den Integer gleich nutzen? ungefähr:
Delphi-Quellcode:
Mein Hauptproblem ist,wie ihr merkt,wie ich Integer oder Strings in Componentnamen umforme. :cry:
for i:=1 to 50 do ArrayDerButtons[i]:=tbutton('button'+inttostr(i));
|
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
Zitat:
|
Re: Mehrere Objekte Ansprechen:Beispiel Buttons !
dann musst du wohl doch Findcomponent nehmen, allerdings nur einmal um in den Array einzulesen. Alternative wär halt alles einzeln zu machen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz