Hallo,
ich erklär mal um was es geht:
ich habe zwei Variablen die beide hochgezählt werden. Die eine immer konstant um 1 die andere mit Random(2) --> Also entweder um 1 erhöhen oder gar nicht.
Die Funktion in der dies geschieht wird im OnIdle-Ereignis der Applikation aufgerufen --> Also immer und immer wieder
darunter rufe ich dann noch die Ausgabe auf.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| procedure TFrm_Simulation.AppIdle(Sender: TObject; var Done: Boolean); begin Wetter.MakeWetter;
lbl_Temperatur.Caption := FloatToStr(Wetter.Temperatur); sb_Sonnenstand.Position := Wetter.Sonnenstand; end; |
Ihr seht das ich eine Zeile rausgenommen habe.
Tempertatur = Random(2)
sonnenstand = konstant +1
Das ganze funktioniert auch soweit das das Label hochgezählt wird.
doch die Scrollbar (sb_Sonnenstand) wird scheinbar nur dann hochgezählt wenn auch der Random Wert zutrifft.
Beim debuggen stimmen die Werte aber. Es muss also mit dem Refreshen zusammenhängen. Denn wenn ich die Zeile die oben auskommentiert ist wieder aktiviere dann funktioniert das ganze so wie ich es will.
Hoffe ihr versteht was ich möchte.
Gruß
Maa