Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Wert automatisch überprüfen (https://www.delphipraxis.net/188390-wert-automatisch-ueberpruefen.html)

Eriktor 27. Feb 2016 16:36

Wert automatisch überprüfen
 
Hallo!
Ich versuche in Delphi über einen Zeitraum hinweg den Edit1.Text immer wieder um 1 zu erhöhen. Hierbei ist wichtig,
dass ich zu beginn eine Rate von 0,2 verwende, da mein Edit1.Text aber ein Integer-Wert bleiben soll habe ich
einfach +1 alle 5 Sekunden gerechnet (mit TTimer), Jetzt soll man aber auswählen können dass dies auch mit 0,4 ; 0,6; .... Funktioniert.
Alles, was ich noch wissen muss wäre, wie ich einstelle, dass ein Zweiter Timer merhmals pro Sekunde den Wert überprüft und 1 abzieht,
sollte er über +1 sein. :?:
Ich hab es erst mit "repeat" versucht, doch war das Resultat, dass das Programm eingefroren ist.

blawen 27. Feb 2016 16:51

AW: Wert automatisch überprüfen
 
Wieso zählst Du mit einem "Edit"-Feld?
Und wieso nimmst Du einen Ganzzahlenwert und nicht einen Reelen Typen (z.B. Currency)?

Persönlich würde ich mit der ganzen Genauigkeit rechnen und die Ausgabe entsprechend jeweils "umrechnen/Anpassen".


Die Repeat-Schleife wird genau das machen, was Du programmiert hast - aber ohne Einsicht in den Code, wird Dir niemand helfen können.

Eriktor 27. Feb 2016 18:20

AW: Wert automatisch überprüfen
 
Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
countdown:=StrToInt(Label1.Caption);
   if countdown > 0 then
   begin
    dec (countdown);
    Label1.Caption:=IntToStr(Countdown);
   end;

   if countdown=0 then
   begin
      CPStotal:=CPStotal+CPS; //CPS= Anstieg in der Sekunde (0,2;0,4;..)
      Label1.Caption:='1';   //CPStotal= Aufsummierter Wert
   end;
end;
CPStotal hat den startwert von 0 und jede sekunde wird ja 0,2 dazugerechnet. Die Ausgabe habe ich momentan in einem anderen Timer eingebaut, kann ich den Countdown/Wiederholung des anderen Timers irgendwie auf 0,01 Sek. setzen?

scrat1979 27. Feb 2016 20:30

AW: Wert automatisch überprüfen
 
Wozu denn einen zweiten Timer bemühen? kannst du nicht im ersten Timer-Event nach der Addition auf > 1 prüfen und dann ggf. 1 subtrahieren?

Was willst du denn mit den Programm bezwecken?? Vielleicht kann man das ganze auch "sauber" implementieren.

Eriktor 18. Mär 2016 20:29

AW: Wert automatisch überprüfen
 
Ich möchte nur mit einem "If" sagen können, dass etwas geschehen soll sobald der wert über 100 steigt, doch soll dies nicht via button funktionieren, da das programm selbst 1 pro sekunde dazu rechnet.Wenn das Prgramm selbst auf 100 kommt, passiert nichts da ich das "If" im Button versteckt habe.

Medium 18. Mär 2016 22:29

AW: Wert automatisch überprüfen
 
Dann pack die Abfrage doch in den Timer der hochzählt. Am Rande: Was genau hat dies mit deiner Ursprungsfrage hier zu tun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:43 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