Autor Beitrag
volkerswagen
Hält's aus hier
Beiträge: 3

Win XP, SuSE Linux 9.0
D6 Pers, Kylix 3
BeitragVerfasst: Sa 06.03.04 15:34 
Hallo Delphi-/Kylix-Freunde

hat einer von Euch zu folgendem Problem eine Idee? Ich will in Kylix/Delphi
gerne Objekte, wie z.B. Labels indizieren, damit ich sie z.B. in einer
For-Schleife abhandeln kann.

Beispiel:

ausblenden Delphi-Quelltext
1:
2:
FOR x:=1 TO 10 DO
  Label[x].Caption:='Dies ist das Label mit der Nummer '+IntToStr(x);


Wie geht das? Wer kann mir helfen? So wie im Beispiel geht's jedenfalls nicht. Mit Visual Basic geht's schon so ähnlich. Aber will ich damit programmieren? Nein! :)

Viele Grüße, Volker

Moderiert von user profile iconMotzi: Delphi-Tags hinzugefügt.
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Sa 06.03.04 15:49 
Zitat:
Wie geht das? Wer kann mir helfen? So wie im Beispiel geht's jedenfalls nicht

Hmmm Wieso nicht ?? Bei mir klappt sowas immer :shock:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
var
testlabel : TLabel;
x : integer;
begin
for x := 1 to 99 do begin
  testlabel := TLabel.create(self);
    with testlabel do begin
      parent := self;
      name := meinelabel+inttostr(x);
    end;
  end;
end;


Zugriff erfolgt dann über:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
x : integer;
begin
for x := 1 to 99 do TLabel(findcomponent(label+inttostr(x))).caption := 'Das is das Label : '+inttostr(x);
end;



ODER ABER:

Über ein array...

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
var labelfelder : array[1..99of TLabel;
x: integer;
begin
for low(labelfelder) to high(labelfelder) do begin
    labelfelder[x] := TLabel.create(self);
    labelfelder[x].parent := self;
    end;
end;

//  Zugriff dann wie bei Arrays üblich....

var
x: integer;
begin
for x := low(labelfelder) to high(labelfelder) do labelfelder[x].caption := 'Das is das Label : '+inttostr(x); 
end;






Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
volkerswagen Threadstarter
Hält's aus hier
Beiträge: 3

Win XP, SuSE Linux 9.0
D6 Pers, Kylix 3
BeitragVerfasst: Sa 06.03.04 16:40 
Titel: Ohhhhh!
Hallo Catweasel!

Das ist wahrhaft fortgeschrittener Programmier-Zauber. :D
Danke für Deinen Code.

Gruß, Volkerswagen

P.S. Der Tipp mit den Pommes ist auch echt super.
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Sa 06.03.04 20:05 
Zitat:
Danke für Deinen Code.

Gerne. Scön das man helfen konnte.

Zitat:
Das ist wahrhaft fortgeschrittener Programmier-Zauber.

Naja, mal nicht übertreiben. ;-)
Zum Zaubern gehört noch ein bischen mehr....


Catweasel

ps:
Zitat:
P.S. Der Tipp mit den Pommes ist auch echt super.

Jepp. Ich kenne auch ein Super Rezept für heisses Wasser... :-)

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
patrick
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 1481

WIN2k, WIN XP
D6 Personal, D2005 PE
BeitragVerfasst: Sa 06.03.04 20:12 
Zitat:
Jepp. Ich kenne auch ein Super Rezept für heisses Wasser... :-)

und wenn man einen topf heißes wasser in die tiefkühltruhe legt, bleibt das wasser länger warm. :shock:

_________________
Patrick
im zweifelsfall immer das richtige tun!!!
catweasel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 487
Erhaltene Danke: 1

Win 7 64bit
Delphi 7 Second Sedition V7.2
BeitragVerfasst: Sa 06.03.04 20:51 
Zitat:
und wenn man einen topf heißes wasser in die tiefkühltruhe legt, bleibt das wasser länger warm.

Der Trick beim zubereiten ist: Man nimmt einen Liter und kocht ihn auf nen halben Liter ein. Das gibt den kräftigen Geschmack ;-)

Catweasel

_________________
Pommes werden schneller fertig wenn man sie vor dem Frittieren einige Minuten in siedendes Fett legt.
volkerswagen Threadstarter
Hält's aus hier
Beiträge: 3

Win XP, SuSE Linux 9.0
D6 Pers, Kylix 3
BeitragVerfasst: So 07.03.04 13:04 
Titel: Absurdes
Hallo catweasel und andere Freunde des Absurden,

wenn Ihr was wirklich absurdes sehen wollt, dann schaut euch grow.55street.net/ an. Unbedingt den Sound einschalten.

Gruß, Volker :lol: