AGB  ·  Datenschutz  ·  Impressum  







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

Dynamische Komponentennamen

Ein Thema von hmbg · begonnen am 7. Aug 2004 · letzter Beitrag vom 10. Aug 2004
Antwort Antwort
hmbg

Registriert seit: 28. Jul 2004
Ort: Hamburg
61 Beiträge
 
Delphi 7 Professional
 
#1

Dynamische Komponentennamen

  Alt 7. Aug 2004, 20:35
Hi

Ich würde gerne wissen, wie man Komponentennamen dynamisch verwalten kann
z.B.:
Code:
var a:integer;
begin
  randomize;
  a:=random(5)+1;
  Button[a].Hide; {Das geht nicht?! Wie ist so etwas in der Art möglich?}
end;
Würde mich über Tips freuen

Danke!
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#2

Re: Dynamische Komponentennamen

  Alt 7. Aug 2004, 20:39
ist relativ einfach:

Delphi-Quellcode:
begin
   a := 1;
   with TButton.Create do
   begin
      Name := 'Button' + IntToStr(a); // Button heisst jetzt 'Button1'
   end;
end;
Und dann kannst Du mit Hier im Forum suchenFINDCOMPONENT nach dem Namen suchen und bekommst den Button wieder zurück. Dazu gibt es etliche Beispiele hier im Forum.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
hmbg

Registriert seit: 28. Jul 2004
Ort: Hamburg
61 Beiträge
 
Delphi 7 Professional
 
#3

Re: Dynamische Komponentennamen

  Alt 7. Aug 2004, 21:17
Ich weiß nicht, ob ich jetzt irgendetwas falsch verstanden habe, aber ich hatte mir das folgendermaßen vorgestellt:

Auf dem Formular (Form1) sind 5 Buttons verteilt(Button1-5). Nun soll das Programm zufällig einen aussuchen und verstecken; aber nach der dynamischen methode.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Dynamische Komponentennamen

  Alt 7. Aug 2004, 21:24
Hi,
folge doch mal dem Suchlink von Phoenix... Da wirst du finden, was du suchst.

Chris

PS: Ansonsten kannst du ja auch ein Array von Buttons erstellen.
  Mit Zitat antworten Zitat
hmbg

Registriert seit: 28. Jul 2004
Ort: Hamburg
61 Beiträge
 
Delphi 7 Professional
 
#5

Re: Dynamische Komponentennamen

  Alt 8. Aug 2004, 12:56
Mein Problem:

Ich weiß nicht genau nach was ich in den vielen Beiträgen suchen soll. Ich hab keine Ahnung, wie der Fachbegriff für das ist, was ich machen will
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Dynamische Komponentennamen

  Alt 8. Aug 2004, 13:00
schau dir in der Hilfe mal FindComponent an, das sollte das sein was du suchst.
einfach per Zufall den Componentennamen in einen String zusammenpacken und dann diesen per findcomponent nutzen um die componente anzusprechen. Siehe Hilfe Delphi-Referenz durchsuchenFindComponent
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Dynamische Komponentennamen

  Alt 8. Aug 2004, 13:05
oder eben auch hier im forum, es gibt viele posts dazu
Hier im Forum suchenfindcomponent
wie phoenix ja schon schrieb!
  Mit Zitat antworten Zitat
Benutzerbild von Remote1
Remote1

Registriert seit: 22. Okt 2003
Ort: Dippoldiswalde
252 Beiträge
 
Delphi 6 Personal
 
#8

Re: Dynamische Komponentennamen

  Alt 8. Aug 2004, 13:31
also, wenn ich dynamisch mehrere komp. erstelle, speichere ich die immer in arrays so dass ich jeder zeit wieder zugriff hab.

Delphi-Quellcode:
type
  TKomponenten= Array [1..37] of Record
                          myedit:tedit;
                          mycheckbox: array [1..8] of TCheckBox;
                       end;
...
var
...
x, y, z :TKomponenten;
i,k:byte;
...
for i:=1 to 37 do
 for k:=1 to 8 do x[i].mycheckbox[k].caption:='test';
halt so in die richtung
  Mit Zitat antworten Zitat
hmbg

Registriert seit: 28. Jul 2004
Ort: Hamburg
61 Beiträge
 
Delphi 7 Professional
 
#9

Re: Dynamische Komponentennamen

  Alt 10. Aug 2004, 18:33
Vielen Dank für die vielen guten Tips, hat mir sehr geholfen
Doch ein weiteres Problem ist aufgetreten und ich peil mal wieder garnichts

Delphi-Quellcode:
a:=FindComponent('SpeedButton'+inttostr(speednr));
TSpeedButton(a).Glyph.LoadFromFile('metalol.bmp');

speednr:=speednr+1;
a:=FindComponent('SpeedButton'+inttostr(speednr));
TSpeedButton(a).Glyph.LoadFromFile('metalor.bmp');

speednr:=speednr+19;
a:=FindComponent('SpeedButton'+inttostr(speednr));
TSpeedButton(a).Glyph.LoadFromFile('metalul.bmp');

speednr:=speednr+1;
a:=FindComponent('SpeedButton'+inttostr(speednr));
TSpeedButton(a).Glyph.LoadFromFile('metalur.bmp');
Irgendwie geht das nicht, es kommt die fehlermeldung: Unbekannter Bezeichner 'FindComponent', obwohl das im selben Code, nur an einer anderen Stelle schon mal funktioniert hat. Muss man irgendetwas spezielles deklarieren, wenn man das in ne eigene procedure packt?

Danke, hmbg!
  Mit Zitat antworten Zitat
Antwort Antwort


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 00:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz