Einzelnen Beitrag anzeigen

arest

Registriert seit: 27. Sep 2005
Ort: Frankfurt
62 Beiträge
 
Delphi 6 Personal
 
#1

durchschnittszeit ermitteln

  Alt 11. Jun 2010, 12:58
Hallo an alle,
ich bin gerade dabei mir eine Stoppuhr zu programmieren. Die läuft bis jetzt auch ganz wunderbar. Als zusätzliches Feature hatte ich nun geplant, dass man eine Durchschnittszeit ausrechnen lassen kann. Dabei möchte ich aus 10 Durchläufen den Durchschnitt ermitteln. Meine Überlegung war jetzt, dass man im Falle einer Aktivierung (z.b. über eine Checkbox) der Option "Durchschnitt ermitteln" damit beginnt zehn Variablen mit den entsprechenden Werten zu füllen. Diese Werte sollen dann durch die Anzahl der bereits gefüllten Variablen geteilt werden... Soweit denk ich absolut logisch?

Ich geb euch hier jetzt erstmal den Code, mit dem ich die Zeit stoppe:

Delphi-Quellcode:
procedure TForm1.StartClock;
begin
  ClockStarted := True;
  TimeStarted := GetTickCount;
  repeat
    TimeElapsed := GetTickCount-TimeStarted;
    Label1.Caption := TicksToTime(TimeStopped+TimeElapsed);
    application.ProcessMessages; // damit sich das Programm nicht "aufhängt"
    if application.Terminated then // Falls die Anwendung inzwischen beendet wurde
      exit;
    sleep(1); // 100% CPU-Auslastung vermeiden
  until not ClockStarted;
end;


procedure TForm1.StoppClock;
begin
  ClockStarted := False;
  TimeStopped := getTickcount-TimeStarted + TimeStopped;
  Label1.Caption := TicksToTime(TimeStopped);
end;


function TicksToTime(TickCount: cardinal): string;
begin
  result := Format('%.2d:%.2d:%.2d',
    [TickCount div 1000 div 60, // Minuten
     TickCount div 1000 mod 60, // Sekunden
     TickCount mod 1000 div 10]); // Hundertstel
end;
Wie ihr seht, fülle ich in dem Fall noch keine Variable um die gestoppte Zeit anzuzeigen, sondern lasse es einfach nur ein einem Label anzeigen. Mein Problem ist nämlich, dass ich nicht sicher bin, welche Art von Variable ich am besten nehme.. Falls jemand lust hat ein wenig zu coden, dann freue ich mich über fertige Codezeilen Hab mit der SuchFunktion leider keine entsprechenden Ergebnisse gefunden

Mit besten Grüßen

Geändert von mkinzler (11. Jun 2010 um 13:04 Uhr) Grund: CODE-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat