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