AGB  ·  Datenschutz  ·  Impressum  







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

Auf Dynamisch erstellte Labels zugreifen

Ein Thema von 150gozilla · begonnen am 20. Okt 2006 · letzter Beitrag vom 20. Okt 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#11

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:27
hmm

Du erzeugst 6561 Labels!

Frank
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#12

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:27
Das sind ja 6561 Label, die Du erzeugst ! Für Sudoko ein bisschen zu viel, oder?


Davon legst du aber nur 81 im Array ab !


Was willst Du denn damit ?
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#13

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:29
Zitat von chrisw:
Das sind ja 6561 Label ! Für Sudoko ein bisschen zu viel, oder?

Das stimmt.

Wie könnte ich die Schleifen am besten verschachteln ?
Chris
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#14

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:32
Die Schleife mit dem index2 einfach weglassen und einen Zähler in der inneren Schleife von 1 bis 81 zählen (inc())
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.143 Beiträge
 
Delphi 10.3 Rio
 
#15

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:32
Zitat von 150gozilla:
Wie könnte ich die Schleifen am besten verschachteln ?
Delphi-Quellcode:
 SetLength(Labels,81);
 index2 := 0;

  for i:=1 to 9 do
  begin
   for j:= 1 to 9 do
   begin
     Labels[index2]:=TLabel.Create(self);
     Labels[index2].Top := ((i-1)* lg)+13;
     Labels[index2].Parent:= Form1;
     Labels[index2].AutoSize := false;
     Labels[index2].Font.Size := 12;
     Labels[index2].Left := 10 + lg *(j-1);
     Labels[index2].Height:= lg;
     Labels[index2].Width:=lg;
     Labels[index2].Caption:= IntToStr(i)+','+(IntToStr(j));
     Labels[index2].Alignment := tacenter;
    inc(index2);
   end;
  end;

Frank
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#16

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:39
Zitat von Mavarik:
Zitat von 150gozilla:
Wie könnte ich die Schleifen am besten verschachteln ?
Delphi-Quellcode:
 SetLength(Labels,81);
 index2 := 0;

  for i:=1 to 9 do
  begin
   for j:= 1 to 9 do
   begin
     Labels[index2]:=TLabel.Create(self);
     Labels[index2].Top := ((i-1)* lg)+13;
     Labels[index2].Parent:= Form1;
     Labels[index2].AutoSize := false;
     Labels[index2].Font.Size := 12;
     Labels[index2].Left := 10 + lg *(j-1);
     Labels[index2].Height:= lg;
     Labels[index2].Width:=lg;
     Labels[index2].Caption:= IntToStr(i)+','+(IntToStr(j));
     Labels[index2].Alignment := tacenter;
    inc(index2);
   end;
  end;

Frank
Dankeeeeeeee, das klappt 100%ig.

Danke an alle die mir geholfen haben
Hab wieder was gelernt =)
Danke nochmal =)
Chris
  Mit Zitat antworten Zitat
Benutzerbild von chrisw
chrisw

Registriert seit: 11. Jan 2005
Ort: Schleswig
193 Beiträge
 
Delphi XE8 Professional
 
#17

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 11:43
Wobei hier ein dynamisches Array eigentlich keinen sonderlichen Sinn verfolgt (ein statisches hätt's auch getan, am besten 2 dimensional (array [1..9,1..9] of TLabel))
a la
Delphi-Quellcode:
const MaxWidthHeight = 9;
...
Labels : array [1..MaxWidthHeight ,1..MaxWidthHeight ] of TLabel;
....

for i:=1 to MaxWidthHeight do
  begin
   for j:= 1 to MaxWidthHeight do
   begin
     Labels[i,j]:=TLabel.Create(self);
     Labels[i,j].Top := ((i-1)* lg)+13;
     Labels[i,j].Parent:= Form1;
     Labels[i,j].AutoSize := false;
     Labels[i,j].Font.Size := 12;
     Labels[i,j].Left := 10 + lg *(j-1);
     Labels[i,j].Height:= lg;
     Labels[i,j].Width:=lg;
     Labels[i,j].Caption:= IntToStr(i)+','+(IntToStr(j));
     Labels[i,j].Alignment := tacenter;
   end;
  end;



Ist mglw später einfacher anzusprechen !!!
Christian Wahl
me, myself and I, die lustigen Drei !!
  Mit Zitat antworten Zitat
hoika

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

Re: Auf Dynamisch erstellte Labels zugreifen

  Alt 20. Okt 2006, 13:39
Hallo,

noch zum Zugriff.
Beim Erzeugen kann man ja Namen selber vorgeben

Label.Name:= 'Label_Suduko_1'.

Der Zugriff erfolgt dann über TLabel(FindComponent('Label_Suduko_1'))


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23: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