AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Berrechnungsrestdauer anzeigen lassen.
Thema durchsuchen
Ansicht
Themen-Optionen

Berrechnungsrestdauer anzeigen lassen.

Ein Thema von Armageddon · begonnen am 22. Sep 2003 · letzter Beitrag vom 22. Sep 2003
Antwort Antwort
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#1

Berrechnungsrestdauer anzeigen lassen.

  Alt 22. Sep 2003, 19:12
Hallo,

ich hab mal eine Frage. Und zwar. Wie mach ich es am besten wenn ich in meinem Programm per Klick auf einen Button eine Berrechnung starte und während diese läuft möchte ich die ungefähre Zeit bis zum Ende dieser Berrechnung anzeigen.

Code etwa so:

Delphi-Quellcode:
var
i, ai: Integer;
start, ms: Integer;
Dauer, Restdauer: Integer:

begin;
for i := 0 to ai do
  begin;
    start := GetTickCount;
    begin;
      //Berechne usw. mach halt was!
      //bla bla bla viele Sachen machen usw.!
    end;
    ms := GetTickCount - start;
    Dauer := ms * ai;
    Restdauer := ms * (ai - i);
    Panel1.Caption := IntToStr(Dauer);
    Panel2.Caption := IntToStr(Restadauer);
  end;
end;
Aber irgendwie haut das nicht hin! Irgendwas mach ich da wohl noch Falsch.

Vielleicht hat irgendjemand schon mal sowas gemacht und kann mir da ein bisserl unter die Arme greifen.

Danke, Arma.
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

Re: Berrechnungsrestdauer anzeigen lassen.

  Alt 22. Sep 2003, 19:17
Hallo,

versuche es einmal damit:

Delphi-Quellcode:
...
for i := 0 to ai do
begin
  start := GetTickCount;
  begin
    //Berechne usw. mach halt was!
    //bla bla bla viele Sachen machen usw.!
  end;
  Panel1.Caption:=IntToStr((GetTickCount-start) div 1000)+' Sekunden';
end;
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#3

Re: Berrechnungsrestdauer anzeigen lassen.

  Alt 22. Sep 2003, 19:20
Danke für die Antwort, aber ist das nicht in etwa vom Prinzip her das gleiche was ich hatte.

Die Schleifendurchläufe gehen halt so schnell das ich nur ein Flackern habe. Irgendwie müßte man das doch Komposti... äh Kompensieren können oder?
  Mit Zitat antworten Zitat
Benutzerbild von Gollum
Gollum

Registriert seit: 14. Jan 2003
Ort: Boxberg
456 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

Re: Berrechnungsrestdauer anzeigen lassen.

  Alt 22. Sep 2003, 19:37
Hallo,

Du hast recht. Ich sollte die Beiträge genauer lesen.

Die ungefähre Restdauer wirst Du so ohne weiteres nicht anzeigen können. Das hängt zum einen von der benutzten CPU und zum anderen von den eingesetzten Formeln ab. Wenn die ganze Aktion nicht länger als ein paar Sekunden dauert, genügt es doch vollkommen, die Sanduhr anzuzeigen.
  Mit Zitat antworten Zitat
Benutzerbild von Armageddon
Armageddon

Registriert seit: 30. Mär 2003
Ort: Wilflingen
158 Beiträge
 
#5

Re: Berrechnungsrestdauer anzeigen lassen.

  Alt 22. Sep 2003, 19:46
Schon klar aber die Aktion dauert auf meiner Kiste max. ca.: 30sec.

Aber irgendwie muß das doch gehen. Ich habe ja die maximale Anzahl von Durchläufen und dann messe ich ja die Zeit von einem Durchgang.

und wenn

ai = 1000000 ist und ein Durchlauf = 1ms Dauert dann dauert Alles ja normalerweise 1000000ms

Avber irgendwie klappts nicht so wie es soll.

Bei einem Audiobearbeitunsprogramm wird das beim Normaliesieren bei mir auch in min. sec. und ms. angezeigt wie lange es noch ungefähr geht und das läuft ja sicher auch in schleifen ab auf jedenfall mal so ähnlich wie bei mir denk ich nur halt etwas komplexer.
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:33 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