AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Dynamisch Erstellter Button - NAME

Ein Thema von thomasschaf · begonnen am 14. Aug 2011 · letzter Beitrag vom 16. Aug 2011
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#1

AW: Dynamisch Erstellter Button - NAME

  Alt 15. Aug 2011, 17:36
Delphi-Quellcode:
var
  a: TButton;
Variable für eine Komponente ... wie würde man da wohl ein Array reinbauen?
array of ... + SetLength
oder array[1..100] of ... .
oder eine TObjectList
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (15. Aug 2011 um 17:38 Uhr)
  Mit Zitat antworten Zitat
hans ditter

Registriert seit: 25. Jun 2010
Ort: Niedersachsen
263 Beiträge
 
Turbo Delphi für Win32
 
#2

AW: Dynamisch Erstellter Button - NAME

  Alt 15. Aug 2011, 22:41
Hey Thomas!
Ich bin mir nicht ganz sicher, aber so wie du das gemacht hast, würde es wohl sowieso nicht funktionieren, da du dann 100 Buttons hast, aber nur einer davon durch die Variable ansprechbar ist.

Mit dem Array würde es dann, wie Himitsu schon sagte, so gehen:
Delphi-Quellcode:
var
  MyButtons: array[1..100] of TButton;
begin
  for i:= 0 to 100 do
  begin
    MyButtons[i] := TButton.Create;
    MyButtons[i].Left := 100;
    {etc. blabla}
  end;
end;
Über TObjectList kannst du dich auch im Netz informieren... einfach mal bei Google 'delphi tobjectlist' eingeben und schon solltest du was finden!
RudiRüsselSeineSocketKomponente - SirRufo (--> Chat mit PM)

Delphi Programming is the best one!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Dynamisch Erstellter Button - NAME

  Alt 16. Aug 2011, 06:29
Hallo,

ich bringe mal FindComponent ins Spiel.
Dann könnte man sich das Array sparen.

Delphi-Quellcode:
procedure TForm1.TuWas;
var
  Btn: TButton;
begin
  Btn:= TButton(FindComponent('MeinButton1'));
  if Assigned(Btn) then
  begin
  end;
end;
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#4

AW: Dynamisch Erstellter Button - NAME

  Alt 16. Aug 2011, 06:58
Jedesmal in einer Liste nach dem Namen zu suchen ist aber etwas "umständlicher", als mal kurz einen Index auf ein(e) Array/Liste anzuwenden.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#5

AW: Dynamisch Erstellter Button - NAME

  Alt 16. Aug 2011, 07:04
Hallo,
ich bringe mal FindComponent ins Spiel.
Dann könnte man sich das Array sparen.
Nimm die mal lieber wieder aus dem Spiel. FindComponent ist doch nix. Zu langsam, zu umständlich.
Unterm Strich hätte man doch nichts gespart.

Wenn 100 Buttons (oder wie viele auch immer) dynamisch erzeugt werden sollen, steckt mehr dahinter
=> Eigene Komponente, Frame o.ä.
=> Zugriff dort hin verschieben
=> Zugriff über Array-Property
=> Implementierung egal (FindComponent, Array, TList, TObjectList)

[zu spät]
Das Bild hängt schief.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Dynamisch Erstellter Button - NAME

  Alt 16. Aug 2011, 07:16
Hallo,

Zitat:
Nimm die mal lieber wieder aus dem Spiel. FindComponent ist doch nix. Zu langsam, zu umständlich.
Einspruch !
Was glaubst, was FindComponent macht ?
Die Methode durchläuft eine Array/TList (?) (Components).
OK, das Array/TList ist größer, aber was hat das mit "Zu langsam" zu tun.

100 Buttons werden erzeugt und mit einer Ereignis-Methode verknüpft.
Und danach ?
Ich schätze mal, der Code in der Ereignis-Methode dauert länger als das Suchen.

Zitat:
umständlich.
Eine Form-globale Array-Variable zu erzeugen und zu verwalten ist nicht umständlich ?

So, musste mal gesagt werde und jetzt wird fleissig gearbeitet
mit aufs vorm gepappten Buttons
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:40 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