Progressbar Wert geben
Hallo Leute,
also ich habe folgendes Problem: Ich habe in meinem Projekt 2 Formulare. Jetzt will ich das ein beliebiger Wert den Man in ein Edit eingibt, als Maximum für die Progressbar dient. Das Ganze sieht dann so aus bei mir: 1. Form:
Delphi-Quellcode:
und in der 2. Form:
procedure TForm1.Button1Click(Sender: TObject);
begin form2.show; zahl1:= strtoint (edit1.text); form2.Button1.enabled:=true; form2.Timer1.enabled:=true; form2.Timer2.Enabled:=true; form2.ProgressBar1.Enabled:=true; form2.Label1.Enabled:=true; end; end.
Delphi-Quellcode:
ich weiß schon das der Wert in die 2. Form übergeben wird da ich das mit einem Button der dann diesen Wert anzeigt überprüft habe, allerdings tut sich an der Progressbar im Moment gar nicht. Wenn ich allerdings das (Zahl1) wieder durch eine normale Zahl ersetze, dann funktioniert alles Perfekt.
procedure TForm2.FormCreate(Sender: TObject);
begin progressbar1.Min:=0; progressbar1.Max:= (Zahl1) ; progressbar1.Position:=0; progressbar1.step:= +1; end; end. |
Re: Progressbar Wert geben
Guten Morgen,
erstellst Du die Form2 den immer dynamisch wenn Du zahl1 geändert hast? Der create Prozeß einer Form wird nur dann durchlaufen wenn sie erstellt wird. Wenn Form2 also statisch eingebunden ist, wird onCreate einmal ausgeführt. Grüße Klaus |
Re: Progressbar Wert geben
Hallo,
du weisst die verkehrte Variable der ProgressBar zu. In der Form1 beschreibst du eine Variable "zahl1" der Form1, in der Form2 fragst du aber die Variable "zahl1" der Form2 ab. Zwischen diesen zwei Variablen besteht keine Verbindung! Du brauchst die Variable "zahl1" in der Form2 aber gar nicht. Mach einfach folgendes: Zitat:
Form OnCreate wird nur beim Erzeugen der Form durchlaufen. Das würde jetzt in deinem Fall bedeuten, dass der Wert der Variable "zahl1" der Form2 nur einmal der Progressbar zugewiesen werden würde. |
Re: Progressbar Wert geben
Packe das ganze mal in OnShow rein. dann wirds auch nur ausgeführt wenn deine Form angezeigt wird und nicht nur dann wenn sie erzeugt wird (also dann wenn zahl1 noch = nil ist).
|
Re: Progressbar Wert geben
Zitat:
|
Re: Progressbar Wert geben
ach stimt ja. hab ich garnicht gesehen das da bei Form2 "zahl1" und nicht "Form1.zahl1" steht. In dem falle hast du tatsächlich recht ^^
|
Re: Progressbar Wert geben
Hai Waffen Affe ;-)
ich würde das ganze über ein eigens Property von TForm2 lösen. Zum Beispiel so:
Delphi-Quellcode:
type
TForm2 = class(TForm) ProgressBar1: TProgressBar; Timer1: TTimer; procedure Timer1Timer(Sender: TObject); private { Private-Deklarationen } fprogessmax: Integer; procedure SetProgressmax(const Value: Integer); public { Public-Deklarationen } property progessmax: Integer read fprogessmax write SetProgressmax; end; var Form2: TForm2; implementation {$R *.dfm} procedure TForm2.SetProgressmax(const Value: Integer); begin fprogessmax := Value; ProgressBar1.Max := fprogessmax; end; procedure TForm2.Timer1Timer(Sender: TObject); begin ProgressBar1.Position := ProgressBar1.Position + 1; end;
Delphi-Quellcode:
procedure TForm1.btn_1Click(Sender: TObject);
begin Form2.Show; Form2.progessmax := strtoint(edt1.text); end; |
Re: Progressbar Wert geben
also jetzt erst mal danke an alle die schnellen antworten ^^
ich hab das jetzt mal so gemacht wie Helmi gesagt hat weil das am wenigsten :wiejetzt: bei mir auslößt :-D , das sieht jetzt so aus:
Delphi-Quellcode:
das funktioniert aber auch irgendwie nicht.
var
Form1: TForm1; Zahl1: Integer; Zahl2: Integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin form2.show; zahl1:= strtoint (edit1.text); form2.Button1.enabled:=true; form2.Timer1.enabled:=true; form2.Timer2.Enabled:=true; form2.ProgressBar1.Enabled:=true; form2.Label1.Enabled:=true; form2.progressbar1.Max:= zahl1 ; end; |
Re: Progressbar Wert geben
Die DP-Hai (Sharky) :-) Lösung wär natürlich noch schöner und proffesioneller....
|
Re: Progressbar Wert geben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:00 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