AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

'Stoppuhr'

Ein Thema von n00b_on_knees · begonnen am 6. Okt 2003 · letzter Beitrag vom 7. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#1

'Stoppuhr'

  Alt 6. Okt 2003, 16:18
Hallo miteinander!

Ich musste 2 verschiedene Programme schreiben, die auf unterschiedliche Weise Zufallszahlen sortieren. Nun soll ich jeweils die Anzahl erhöhen, und feststellen, wie lange das ganze genau braucht, bis eine bestimmte Stelle ausgegeben ist. Ich hatte mir gedacht Timer oder Progressbar, doch leider habe ich ebenfalls keine Ahnung wie ich das genau gestalten könnte. Jemand meinte irgendetwas mit dem Begriff now oder so, habe ich leider aber auch nicht genau verstanden. Wie kann ich berechnen, wie viel Zeit vergangen ist, um das Programm auszuführen?
Ich wäre dankbar für schnelle Antworten.

mfG n00b_on_knees
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.605 Beiträge
 
#2

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 16:45
Delphi-Quellcode:
procedure TestTime;
var
   Vorher, Nachher, Verstrichen: TDateTime;
begin
   Vorher := now;

   // hier passiert das, was Du messen willst

   Nachher := now;
   Verstrichen := Nachher - Vorher;
end;
In der Variablen Verstrichen vom Typ TDateTime steht nun also die Differenz vom Zeitpunkt vorher und nachher. Den Wert kannst Du dann einfach weiterverwenden. Dazu gibt die Onlinehilfe auch gute beispiele.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#3

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 17:59
Dankeschön! Nur da habe ich noch ein Problem...bei 10000 Zufallszahlen läuft alles Problemlos, doch wenn ich zb nur 11000 erzeugen will, schließt das Programm mit Fehlermeldung, natürlich auch bei höheren werden oder ähnlichen. Wisst ihr was da der Fehler sein könnte?
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Niels_

Registriert seit: 16. Sep 2003
7 Beiträge
 
#4

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 18:24
Könnte ja eigentlich nur am Programm liegen; das mit der Zeit ist voll korekt.
Hast du "randomize" vielleicht in der Schleife mit drin? (Sollte da nicht rein)
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#5

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 19:38
habe ich tatsächlich! werde ich gleich mal ohne probieren, thx.
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#6

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 20:19
naja, es funktioniert trotzdem nicht.
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.605 Beiträge
 
#7

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 21:15
hrm. Was für Sortier-Algorithmen verwendest Du?

Wenn es bei x zahlen klappt, und bei y > x nicht mehr, dann könnte das ggf. an einem Stack Overflow liegen - je nach Algorithmus.

Hast Du ggf. ein bisschen Code und ne genauere Fehlerbeschreibung?
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#8

Re: 'Stoppuhr'

  Alt 6. Okt 2003, 21:27
lol* ich möchte nur mal kurz einwerfen, das man mit GetTickCount viel genauer messen kann.
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Benutzerbild von n00b_on_knees
n00b_on_knees

Registriert seit: 5. Apr 2003
128 Beiträge
 
#9

Re: 'Stoppuhr'

  Alt 7. Okt 2003, 17:11
@phlux könntest du mir bitte das mit gettickcount erklären?

@phoenix
Ich verwende einen normalen Sortiervorgang, Zahlen werden verglichen ob die Zahl kleiner ist, wenn ja wird das ganze mit einer Hilfsvariable vertauscht.
Der Fehler? Es gibt eine Datei schließen Anweisung, nachdem ich auf den Start Button geklickt habe.
Against TCPA & And I think we should live our dreams
  Mit Zitat antworten Zitat
Benutzerbild von phlux
phlux

Registriert seit: 4. Nov 2002
Ort: Witten
1.335 Beiträge
 
Delphi 6 Personal
 
#10

Re: 'Stoppuhr'

  Alt 7. Okt 2003, 18:04
Zitat von n00b_on_knees:
@phlux könntest du mir bitte das mit gettickcount erklären?
Servus!
Habe noch einen besseren Weg gefunden, da GetTickCount immernoch nicht genau Genug ist. (Zur Erklärung: GetTickCount misst die Zeit wie lange Windows schon läuft, und gibt diese in Ticks(Millisekunden) wieder). Nichts desto trotz hier jetzt ein Beispiel wie man genau die Zeit misst:
Delphi-Quellcode:
var
  frequenz,
  start,
  ende: TLargeInteger;

resourcestring
  s = 'Gemessene Zeit: %g';

begin
  QueryPerformanceFrequency(frequenz);
  QueryPerformanceCounter(start);
  //Deinen Code hier
  QueryPerformanceCounter(ende);
  ShowMessage(Format(s, [(ende-start)/frequenz]));
end;
Christian "phlux" Arndt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:44 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