![]() |
Problem mit Label-Caption
Hallo Leute,
Ich stehe wieder vor einem Problem: Ich möchte in meinen Spiel die 'Spiel speichern'-Funktion einbauen, was sicher auch ganz nützlich wäre. :-D Dazu habe ich mir ein extra Formular mit einer Gauge, einem Label und einem Timer erstellt. Dabei soll der Speicher-Fortschritt nicht nur in der Gauge, sondern auch indirekt in Form von Punkten im Label erscheinen. Z.B.: 'Das Spielprofil wird gespeichert...' Für jeden Fortschritt im Speichern soll ein weiterer Punkt hinzukommen. Klingt einfach, aber Delphi scheint mir dabei einen Strich durch die Rechnung machen zu wollen. :( Denn immer, wenn eigentlich ein Punkt hinzukommen sollte, passiert überhaupt nichts, es steht nur dieser blöde vorher definierte Text da: 'Das Spielprofil wird gespeichert', und zwar ohne jeden Punkt...(bis auf die i-Punkte) Hier der komplette Code für das Formular:
Delphi-Quellcode:
Ich hoffe, ihr könnt mir helfen, und ich bedanke mich im Vorraus.
unit Unit4;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Gauges, StdCtrls, IniFiles, ExtCtrls; type TForm4 = class(TForm) Gauge1: TGauge; start: TTimer; Label1: TLabel; procedure save; procedure FormShow(Sender: TObject); procedure startTimer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form4: TForm4; implementation uses Unit1, Unit2, Unit3; {$R *.dfm} procedure TForm4.save; var ini : TIniFile ; var x , y : integer ; begin ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'userdata.ini'); x := 1; y := 1; ini.WriteInteger('General','autoask',Unit1.stndrd_autoask); while y < 8 do begin while x < 11 do begin Gauge1.Progress := ( ( y - 1 ) * 10 ) + x; ini.WriteInteger('Field('+IntToStr(x)+'|'+IntToStr(y)+')','type',Unit1.plantType[x,y]); ini.WriteInteger('Field('+IntToStr(x)+'|'+IntToStr(y)+')','start',Unit1.UnixStart[x,y]); ini.WriteInteger('Field('+IntToStr(x)+'|'+IntToStr(y)+')','finish',Unit1.UnixFinished[x,y]); {if x mod 5 = 0 then begin} Label1.Caption := Label1.Caption + '.'; //end; Inc(x); end; Inc(y); x := 1; end; ini.Free; Gauge1.Progress := 1; close end; procedure TForm4.FormShow(Sender: TObject); begin start.Enabled := True; end; procedure TForm4.startTimer(Sender: TObject); begin save; end; end. |
AW: Problem mit Label-Caption
Versuch es mal damit, das Label abzudaten, denn der Text ändert sich zawr, dass sieht man aber nicht.
Btw. Rücke deinen Code mal richtig ein, so dass man sieht welches end zu welchem begin usw. gehört |
AW: Problem mit Label-Caption
Zitat:
|
AW: Problem mit Label-Caption
evtl.
Delphi-Quellcode:
Label1.Caption := Label1.Caption + '.';
Label1.Refresh;//oder Application.ProcessMessages |
AW: Problem mit Label-Caption
Dafür zu sorgen, dass es neu gezeichnet wird. Da sich auch die Gauge änder ambesten das Formular:
Delphi-Quellcode:
Update;
|
AW: Problem mit Label-Caption
Bis auf
Delphi-Quellcode:
hat bei mir alles geklappt, da hat das Gauge aus irgendeinem Grund immer wieder bei Null angefangen *schulter zuck*
Applicacion.ProcessMessages;
Bedankt hab ich mich schon im Vorraus, also... :mrgreen: Danke Nochmals^^ |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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