![]() |
Mehrdimensionale TLabel-Arrays
Hallo Leute,
ich hab ein Problem mit mehrdimensionalen TLabel-Arrays... Ich will ein kleines Funprogramm schreiben, dass einen Matrixbildschirm kreiert. Dazu erstelle ich im OnCreate die nötigen Arrayfelder in einer for-Schleife. Mit einem Timer sollen dann die nullen/Einsen geändert werden, aber irgendwas klappt da nich so ganz :( Hier einfach mal der Code:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var x,y: integer; begin randomize; form1.Left := 0; form1.Top := 0; form1.Width := screen.Width; form1.Height := screen.Height; for x := 0 to ((form1.Width-15) div 11) do for y := 0 to ((form1.height-30) div 26) do begin setlength(Labels,x+1,y+1); Labels[x,y] := TLabel.Create(self); with Labels[x,y] do begin parent := self; width := 10; height := 24; left := (11*(x)) + 2; top := (26*(y)) + 2; font.Color := clGreen; font.height := -18; caption := inttostr(round(random(2))); OnClick := LabelsClick; end; end; timer1.Enabled := true; end
Delphi-Quellcode:
Ohne das auskommentierte Repaint wird nur die "Zeile" oben und die "Spalte" rechts aktualisiert
procedure TForm1.Timer1Timer(Sender: TObject);
var x,y,r,c: integer; begin randomize; for x := 0 to ((form1.Width-15) div 11) do for y := 0 to ((form1.height-30) div 26) do begin r := round(random(2)); if (Labels[x,y].Caption = '0') OR (Labels[x,y].Caption = '1') then c := strtoint(Labels[x,y].Caption) else c := round(random(2)); if (r = c) then Labels[x,y].Caption := '0' else Labels[x,y].Caption := '1'; // labels[x,y].repaint; end; end; Mit Repaint kommt ein Zugriffsfehler... |
Re: Mehrdimensionale TLabel-Arrays
Wie hast du Labels deklariert? Und wie sieht die Procedure LabelsClick aus? In dem Code sehe ich noch keinen Fehler. :cyclops:
|
Re: Mehrdimensionale TLabel-Arrays
Du darfst SetLength nicht in der Schleife aufrufen !
Denn wenn x das zweite mal durchläuft setzt es y wieder zurück. gruss |
Re: Mehrdimensionale TLabel-Arrays
Autsch...
Vielen Danke :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:47 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