AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GetTickCount Problem

Ein Thema von MrMyagi · begonnen am 7. Feb 2008 · letzter Beitrag vom 7. Feb 2008
Antwort Antwort
Seite 2 von 3     12 3      
MrMyagi

Registriert seit: 2. Mai 2007
203 Beiträge
 
Delphi 7 Personal
 
#11

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:00
Ja, das der Code BIS JETZT nur einmal
abgearbeitet wird ist mir bewusst, da dies ja
ersteinmal ein Test sein sollte, ob es überhaupt funktioniert.

Edit:
@shmia, der Code klappt auch nicht
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#12

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:08
Zitat von MrMyagi:
Ja, das der Code BIS JETZT nur einmal
abgearbeitet wird ist mir bewusst, da dies ja
ersteinmal ein Test sein sollte, ob es überhaupt funktioniert.
Ja, der Fehler in dem einmaligen Beispiel habe ich und andere nun schon mehrfach geschrieben: Du speicherst den aktuellen TickCount in einer Variable und sofort danach fragst du den TickCount ab und schaust ob er schon 1 Sekunde weiter ist. Dieses sofort danach ist definitiv schneller als eine Sekunde, somit wird deine Bedingung nie erfüllt. Debug es doch selber, wobei es im Debugger wahrscheinlich klappt, da du im Einzelschrittmodus die Ausführung der Abfrage automatisch so lange verzögern wirst.

Zitat von MrMyagi:
@shmia, der Code klappt auch nicht
Lass mich raten: Das von shmia extra mit "..." versehene Zuweisen von Start hast du in der selben Procedure/Methode wie die Abfrage die er darunter geschrieben hat?
  Mit Zitat antworten Zitat
MrMyagi

Registriert seit: 2. Mai 2007
203 Beiträge
 
Delphi 7 Personal
 
#13

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:11
Nein, das habe ich in einer anderen Prozedur gepackt


mfG, Nico
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#14

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:12
Und wann wird die ausgeführt? Was sagt der Debugger? Kommt er zu der Stelle wo du die Progressbar veränderst? Wie sind die Werte bei der Abfrage? Du hast alles in deinem Delphi da um das Problem selber zu lösen, also nutze die wirklich vielfältigen Möglichkeiten des Debuggers von Delphi.
  Mit Zitat antworten Zitat
MrMyagi

Registriert seit: 2. Mai 2007
203 Beiträge
 
Delphi 7 Personal
 
#15

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:15
Ja ich habe wirklich vorher
schon verdammt lange dran gesessen und immer hin und her getüfftelt,
weil das mit GetTickCount nicht so geklappt hat, wie ich will.

Im Prinzip soll es ja nur wie ein Timer funktionieren, welcher
nicht im Sekunden-Takt, sondern schneller aktualisiert.

Ich hoffe Ihr wisst jetzt was ich meine

mfg, Nico
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#16

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:17
Sorry, aber stehst du auf dem Schlauch? Ich hab das Gefühl du drehst dich im Kreis. Ist dir überhaupt klar, was GetTickCount macht und wie du damit Zeitdifferenzen berechnest?

Du hast doch schon den Ansatz gehabt. Was du falsch gemacht hast, hat man dir auch schon paar mal gesagt?
  Mit Zitat antworten Zitat
MrMyagi

Registriert seit: 2. Mai 2007
203 Beiträge
 
Delphi 7 Personal
 
#17

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:20
Wie meinst du das?
Ich habe ebend nur nochmal kurz versucht zu erläutern,
was ich eigendlich mit dem GetTickCOunt vorhabe,
weil ich dachte, dass dieses vielleicht zu kompliziert verstanden wurde
oder ähnliches.

Edit:
Ja, ich glaub das mit GetTickCount habe ich am Anfang wirklich falsch verstanden.
Allerdings glaube ich, dass ich es durch Eure Hilfe jetzt richtig verstanden habe
und mir is jetzt auch bewusst, das es bis zur Abfrage von dem Vergleich keine Sekunde dauert.
Ich habe dies erst so in mein Programm geschrieben, da ich dachte, dass die If-Anweisung solange wartet,
bis die Bedingung erfüllt ist, jedoch habe ich nicht berücksichtigt, das dies sich nicht automatisch aktualisiert.
Jedoch weiß ich dadurch nicht, wie ich dieses aktualisieren im ms-Takt, bis die Anweisung erfüllt ist,
erstellen soll
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#18

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:23
Naja, was soll das? Das ist weder kompliziert noch schwer.

Du brauchst ne Variable (StartTicks) die du irgendwann (FormCreate?) mit GetTickCount initialisierst.

Dann brauchst du ne Schleife, die immerwieder GetTickCount abfragt und den Start-Wert davon abzieht. Ergo hast du die Differenz in Millisekunden. Wenn dein Zielwert (1000ms = 1s) erreicht ist (auf >= (größer-gleich) und nicht nur = prüfen!), machst du das was du machen willst und setzt die StartTicks-Variable wieder mit GetTickCount, um den aktuellen Zeitwert festzuhalten und die nächsten 1000ms abzuwarten.
  Mit Zitat antworten Zitat
Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#19

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:27
Probiers mal so

Delphi-Quellcode:
var start:Dword;
begin
start := gettickcount; // Startzeit merken
while true do // zum test mal ne Endlosschleife
  begin
     if gettickcount - start >= 1000 then //1 Sekunde abwarten
       begin
         Progressbar1.StepBy(10); // um 10 weitergehen
         start := gettickcount; // neue Zeit merken
       end;
  end;
  Mit Zitat antworten Zitat
MrMyagi

Registriert seit: 2. Mai 2007
203 Beiträge
 
Delphi 7 Personal
 
#20

Re: GetTickCount Problem

  Alt 7. Feb 2008, 17:28
@Nuclear-Ping Sorry ,dass ich Euch soviele Nerven gekostet habe
aber ich bin mir jetzt sicher, das ich es so, wie du es
schließlich noch einmal formuliert hast verstanden habe

Danke an alle

mfG, Nico
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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