![]() |
Re: Auf Dynamisch erstellte Labels zugreifen
hmm
Du erzeugst 6561 Labels! Frank |
Re: Auf Dynamisch erstellte Labels zugreifen
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 ? |
Re: Auf Dynamisch erstellte Labels zugreifen
Zitat:
Wie könnte ich die Schleifen am besten verschachteln ? |
Re: Auf Dynamisch erstellte Labels zugreifen
Die Schleife mit dem index2 einfach weglassen und einen Zähler in der inneren Schleife von 1 bis 81 zählen (inc())
|
Re: Auf Dynamisch erstellte Labels zugreifen
Zitat:
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 :coder: |
Re: Auf Dynamisch erstellte Labels zugreifen
Zitat:
Danke an alle die mir geholfen haben :) Hab wieder was gelernt =) Danke nochmal =) |
Re: Auf Dynamisch erstellte Labels zugreifen
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 !!! |
Re: Auf Dynamisch erstellte Labels zugreifen
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 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 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 by Thomas Breitkreuz