AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Button mit Variable ansteuern

Ein Thema von rob60 · begonnen am 6. Dez 2010 · letzter Beitrag vom 6. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
rob60

Registriert seit: 11. Mai 2009
72 Beiträge
 
Turbo Delphi für Win32
 
#1

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:42
jop sie is eingebunden
First, solve the problem. Then, write the code.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#2

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:45
Komisch. Ich weiß jetzt nicht, seit wann es die Funktion gibt, aber so neu wird sie nicht sein. Hast Du Dich auch nicht vertippt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#3

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:48
Also Form1.FindComponent('xyz') müsste schon gehen!?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#4

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:50
Wenn das in einer Methode von TForm1 steht, dann aber lieber Self nehmen. Wobei die Array-/Listenlösung eh performanter ist, zumindest, wenn die Liste öfter durchlaufen werden soll.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:56
Naja, nach dem ersten Aufruf legt FindComponent (von TComponent) eine interne Liste der Controls an:

Delphi-Quellcode:
{ Fill the sorted list (and sort it) }
FSortedComponents := TList.Create;
FSortedComponents.Count := FComponents.Count;
for I := 0 to FComponents.Count - 1 do
  FSortedComponents[I] := FComponents[I];

FSortedComponents.SortList(
  function(Item1, Item2: Pointer): Integer
  begin
    Result := CompareText(TComponent(Item1).Name, TComponent(Item2).Name);
  end);
Hab jetzt nur nicht näher geschaut, ob diese Liste beim Hinzufügen und Löschen von Komponenten auch geupdated wird -- aber ich gehe mal stark davon aus. Von daher sollte das von der Performance her auch noch okay sein.

BTW: Darf ich SourceCode aus der VCL hier einfach posten?! -> Copyright!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#6

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 19:01
Tatsächlich, das sieht hier unter Delphi 2007 zwar etwas anders aus, aber diese Liste wird auch bei mir erzeugt. Das war IIRC früher aber mal anders, da wurde bei jedem Aufruf das komplette Components-Array durchlaufen.

[edit] @implementation, Bummi: was ist, wenn die Komponente nicht gefunden wird? Dann sollte es beim Zugriff auf Caption knallen. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
rob60

Registriert seit: 11. Mai 2009
72 Beiträge
 
Turbo Delphi für Win32
 
#7

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 19:08
killllllll mich ,danke
First, solve the problem. Then, write the code.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#8

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 19:08
@DeddyH
man kann das schon kapseln, Du möchtest sowas

Delphi-Quellcode:
var
B:TButton;
begin
 b := TButton(FindComponent('Button' + IntToStr(i)));
 if Assigned(B) then
    begin
       //was auch immer
    end;
aber wenn ich weiß was ich tue spare ich mir das mitunter ...
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
rob60

Registriert seit: 11. Mai 2009
72 Beiträge
 
Turbo Delphi für Win32
 
#9

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:51
Dass nicht aber villeicht falsche syntax stimmt das so tbutton(findcomponent('button1').caption := '');
First, solve the problem. Then, write the code.
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#10

AW: Button mit Variable ansteuern

  Alt 6. Dez 2010, 18:56
Dass nicht aber villeicht falsche syntax stimmt das so tbutton(findcomponent('button1').caption := '');
Nope, TButton(FindComponent('button1')).Caption := ''; .

Quellcode schließt man übrigens in [delphi]-Tags ein
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:53 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-2025 by Thomas Breitkreuz