Ein Label (Label1) wird im 250ms- Takt mit neuen Werten beschrieben, die Prozedur zum zeichnen (Per Timer im 100ms Takt):
Delphi-Quellcode:
procedure TForm1.draw_map;
var
i, j: Integer;
begin
for i := 0 to breite do
for j := 0 to hoehe do
begin
case map[i, j] of //Map ist ein Array
-1: bmp := picture[1];
0: bmp := picture[0];
-3: bmp := picture[3];
-4: bmp := picture[4];
-5: bmp := picture[5];
-6: bmp := picture[6];
-7: bmp := picture[7];
-8: bmp := picture[8];
-9: bmp := picture[9];
else
bmp := picture[2];
end;
PaintBox1.Canvas.Draw(i*raster, j*raster,TGraphic(bmp));
end;
end;
Und der Timer mit der fraglichen Labelbeschriftung:
Delphi-Quellcode:
procedure TForm1.TimerTimer(Sender: TObject);
begin
Label1.Caption:=IntToStr(XTime);
dec(XTime);
end;
Beim klick auf einen Button wir das Label zusätzlich verschoben: TimeLabel.Left:=584; .
Ich hab das mal auskommentiert, alles lief ohne Fehler, beim beenden des Programms gabs wieder ne Zugriffsverletzung.