Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi GetTickCount Problem (https://www.delphipraxis.net/108137-gettickcount-problem.html)

MrMyagi 7. Feb 2008 16:49


GetTickCount Problem
 
Moin allerseits,
und zwar weißt ich nicht,
warum mein GetTickCount Teil im Programm
nicht funktioniert.
Es wird beim einem ButtonClick der aktuelle
GetTickCount-Wert in der integer-Variable "start"
gespeichert und diese wird dann vom aktuellen
GetTickCount-Wert subtrahiert und falls das
Ergebnis = 1000 ms ist, soll die Progressbar
10 Stellen weiter gehen.

Delphi-Quellcode:
.
.
.
start := GetTickCount;
if (GetTickCount-start) = 1000 then
begin
Progressbar1.Position := 10;
end;
.
.
.

shmia 7. Feb 2008 16:51

Re: GetTickCount Problem
 
Delphi-Quellcode:
Progressbar1.StepBy(10);

MrMyagi 7. Feb 2008 16:52

Re: GetTickCount Problem
 
Danke für die schnelle Antwort,
ändern tuts allerdings auch nichts :(

mfG, Nico

Muetze1 7. Feb 2008 16:53

Re: GetTickCount Problem
 
Delphi-Quellcode:
start := GetTickCount;
if (GetTickCount-start) = 1000 then
Was soll der Compiler denn genau machen zwischen diesen beiden Zeilen, was 1 Sekunde dauert? Er macht einfach weiter und braucht bestimmt nicht 1 Sekunde zwischen diesen beiden Zeilen...

Noobinator 7. Feb 2008 16:54

Re: GetTickCount Problem
 
Delphi-Quellcode:
Progressbar1.Position := 10;
setzt deine Position ja immer wieder auf 10.

wenn schon dann:

Delphi-Quellcode:
Progressbar1.Position := Progressbar1.Position + 10;
um immer 10 Schritte weiter zu gehen.

OregonGhost 7. Feb 2008 16:54

Re: GetTickCount Problem
 
Der Unterschied im TickCount wird nie genau 1000 sein. Vergleiche auf Größer Gleich.

Apollonius 7. Feb 2008 16:54

Re: GetTickCount Problem
 
Zum einen solltest du nicht auf Gleichheit mit 1000 prüfen, denn du kannst kaum in jeder Millisekunde GetTickCount abfragen. Das eigentliche Problem ist meiner Meinung nach aber, dass du Start ja direkt vor der Abfrage aktualisierst. Und diese Zuweisung dauert sicherlich keine Sekunde.

MrMyagi 7. Feb 2008 16:57

Re: GetTickCount Problem
 
Eigendlich möchte ich mit GetTickCount
erreichen, dass mein Programm alle ...ms
die Progressbar "erweitert", sprich die
"Installation" vorangeht.
Ja ich weiß, dass es das jetzt noch nicht kann,
also der Endlosvorgang, aber dies war erstmal zu Testzwecken,
um zu gucken, ob er überhaupt nach 1000ms, sprich 1s etwas tut
und dies war leider nicht der Fall.


mfG, Nico

shmia 7. Feb 2008 16:57

Re: GetTickCount Problem
 
Delphi-Quellcode:
start := GetTickCount;
...

var
  msecs : integer;
begin
  msecs := GetTickCount-start;
  ProgressBar1.Position := (msecs div 1000) * 10;

Muetze1 7. Feb 2008 16:58

Re: GetTickCount Problem
 
Der Code wird einmalig abgearbeitet und dann ist gut. Wieso sollte er denn urplötzlich diesen Code wieder durchlaufen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:01 Uhr.
Seite 1 von 3  1 23      

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