Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Countdownfortschritt mit Progressbar darstellen? (https://www.delphipraxis.net/65614-countdownfortschritt-mit-progressbar-darstellen.html)

delphineuling88 18. Mär 2006 21:19


Countdownfortschritt mit Progressbar darstellen?
 
Wie kann ich den Countdownfortschritt mit der Progressbar darfstellen?
Mein Countdownformat ist hh:mm:ss

hab mal so einen vorschlag um erstmal das max der Progressbar zu deklarieren was baer noch nicht ganz funktioniert
bitte um hilfe

Delphi-Quellcode:
max:= 0;
    max:= StrToInt(copy(Label8.Caption,1,2)) * 3600;          //Stunden ins Sekunden
    max:= max + StrToInt(copy(Label8.Caption,4,2)) * 60; //Minuten in Sekunden
    max:= max + StrToInt(copy(Label8.Caption,7,2));
    progressbar1.Max:=strtoint(max);

Aenogym 18. Mär 2006 21:30

Re: Countdownfortschritt mit Progressbar darstellen?
 
hi,

naja ist doch eigentlich ganz einfach.

ProgressBar.Max = stunden_gesamt * 3600 + minuten_gesamt * 60 + sekunden_gesamt
ProgressBar.Position = stunden_verbleibend * 3600 + minuten_verbleibend * 60 + sekunden_verbleibend

Delphi-Quellcode:
var
  h_ges, m_ges, s_ges,
  h_ver, m_ver, s_ver: integer;
begin
  //zwei einhalb stunden
  h_ges := 2;
  m_ges := 30;
  s_ges := 0;

  //01:10:23 verbleibend. diese werte in einem timer o.ä. immer ändern
  h_ver := 1;
  m_ver := 10;
  s_ver := 23;

  progressbar1.max := h_ges * 3600 + m_ges * 60 + s_ges;
  progressbar1.position := h_ver * 3600 + m_ver * 60 + s_ver;
end;
das einfach jede sekunde updaten ;)

noch ein tipp: speichere deine zeiten nicht in einem label, um sie dann immer mit copy() rauszuholen.
speicher die stunden, minuten und sekunden in einzelnen variablen und rechne damit. zum anzeigen kannst du sie ja immer formatieren.

aenogym

delphineuling88 18. Mär 2006 21:37

Re: Countdownfortschritt mit Progressbar darstellen?
 
ich habe meine zeit im label stehen gändert wird sie im edit und ist halt immer verschieden stellt der benutzer ein und die ausgabe ist im tdatetime format also hh:mm:ss

delphineuling88 19. Mär 2006 13:35

Re: Countdownfortschritt mit Progressbar darstellen?
 
jetzt sieht es so aus bricht aber ab wen ich es ausführen will

Delphi-Quellcode:
max:= 0;
    max:= StrToInt(copy(edit5.Text,1,2)) * 3600;
    max:= max + StrToInt(copy(edit5.Text,4,2)) * 60;
    progressbar1.Max:= max + StrToInt(copy(edit5.Text,7,2));
    max:= 0;
    max:= StrToInt(copy(label8.caption,1,2)) * 3600;
    max:= max + StrToInt(copy(label8.caption,4,2)) * 60;
    progressbar1.position:= max + StrToInt(copy(label8.caption,7,2));

Luckie 19. Mär 2006 13:55

Re: Countdownfortschritt mit Progressbar darstellen?
 
Was heißt bei dir "abbrechen"?

delphineuling88 19. Mär 2006 14:00

Re: Countdownfortschritt mit Progressbar darstellen?
 
diese meldung dann wenn ich beim programm ausführen auf den button klicke um den teil halt zu starten dann kommt so ne meldung halt das irgenein fehler ist und das programm abgebrochen werden muss
weißt du was ich meine?

Luckie 19. Mär 2006 14:05

Re: Countdownfortschritt mit Progressbar darstellen?
 
Nein. Was steht denn in der fehölermeldung drinne? Meine Glaskugel ist zur Zeit in Reparatur.

delphineuling88 19. Mär 2006 14:14

Re: Countdownfortschritt mit Progressbar darstellen?
 
Liste der Anhänge anzeigen (Anzahl: 1)
im anhang ist ein bild davon

Luckie 19. Mär 2006 14:19

Re: Countdownfortschritt mit Progressbar darstellen?
 
Na da sthet doch alles. Ein leerer String ist eben kein Integer und kann deswegen nicht zu einem Integer konvertiert werden. Du versuchst also irgendwo einen String in einen Integer zu konvertieren, der aber leer ist. Die Stelle wo das passiert sollte sich mit dem Debugger relativ leicht finden lassen.

delphineuling88 19. Mär 2006 14:22

Re: Countdownfortschritt mit Progressbar darstellen?
 
ich weiß nur leider garnicht wie das mit dem debugger geht oder wo der überhaupt zu finden ist hab den schon mal gesucht aber net gefunden
kannst du mir sagen wo der is?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:23 Uhr.
Seite 1 von 2  1 2      

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