Zitat von
sgmeiner:
Einfachste Lösung scheint mir die zu sein:
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if timetoharvest >= 0.0 then
begin
timetoharvest := timetoharvest - 0.1;
Label5.Caption := floattostrf(timetoharvest,ffnumber,8,1)+' s';
end
else
timetoharvest := 9.9;
end;
Einen Vergleich mit Floats durchzuführen wird auf selten gelingen, da die intern nie exakt 0.0 sein werden sondern für die CPU immer was krummes wie 0.000000000521 dargstellen.
OK, dann muss es halt ein bisschen verzögert sein, dann ist aber das ganze prinzip kaputt, weil es die Zeit bis zur Ernte anzeigen soll, und wenn sich das dann immer und 0,0000000521 verschiebt, dann sind das nach 1000 Ernten auch 0,0000521000 sekunden und dazu kommt noch, dass die Erntezeit durch arbeiter um jeweils 0,1 sekunden verkürzt wird, wobei es aber maximal 10 Arbeiter sein können.
Das ganze muss ich mit einplanen.
Könnte man vielleicht es so machen, dass sich die Zahl alle 9,9 sekunden mit dem interval von GeldTimer abstimmt ????
Die Variable für arbeiter heißt arbeiter ...
Wer nämlich mit "h" schreibt ist dämlich.