AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Beim Download zwei Progressbaren laufen lassen
Thema durchsuchen
Ansicht
Themen-Optionen

Beim Download zwei Progressbaren laufen lassen

Ein Thema von Die Muhkuh · begonnen am 4. Feb 2005 · letzter Beitrag vom 13. Feb 2005
Antwort Antwort
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#1

Beim Download zwei Progressbaren laufen lassen

  Alt 4. Feb 2005, 19:36
Hi,

bei meinem LiveUpdate können mehrere Dateien runtergeladen werden.

Jetzt hab ich eine Progressbar die den aktuellen Fortschritt der Datei anzeigt, die gerade runtergeladen wird. Das ist kein Problem.

Jetzt möchte ich noch ne Progressbar die den gesamten Status anzeigt, von allen Bytes die schon runtergeladen wurden sind.
Die maximale Download-Bytesanzahl weis ich, aber wie ich nun die Progressbar fülle, ist mir noch ein Rätsel.
Ich lade die Dateien mit IdHTTP runter.
  Mit Zitat antworten Zitat
BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 4. Feb 2005, 19:50
Ich löse sowas etwa so:
Delphi-Quellcode:
Gesamtprogressbar.Min:=0;
Gesamtprogressbar.Max:=Summe_der_Dateilaengen;

Dateiprogressbar.Min:=0;
Dateiprogressbar.Max:=Dateilaenge;
Während eine Datei bearbeitet wird:
Delphi-Quellcode:
Dateiprogressbar.Position:=Aktuelle_Dateiposition; // nicht zu oft, nur z.B. alle 64 KB, weils sonst bremst
Gesamtprogressbar:=Summe_der_Dateilaengen_der_fertig_bearbeiteten_Dateien + Aktuelle_Dateiposition; // dito
(natürlich alles ungetestet, sollte aber etwa hinkommen)
The problem with troubleshooting is that sometimes the trouble shoots back.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 4. Feb 2005, 20:13
Hi,
du berechnest den Wert der GesamtProgressbar doch so: (AktuellePositionDerAktuellenDatei + GrößeDerSchonÜbertragendenDaten) / GrößeAllerDateien * 100

Wenn nicht würde ich es so machen


Gruß DelphiFreund
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
BKempf

Registriert seit: 1. Jun 2004
103 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 4. Feb 2005, 20:23
Zitat von DelphiFreund:
Hi,
du berechnest den Wert der GesamtProgressbar doch so: (AktuellePositionDerAktuellenDatei + GrößeDerSchonÜbertragendenDaten) / GrößeAllerDateien * 100

Wenn nicht würde ich es so machen


Gruß DelphiFreund
Wenn die Progressbar fest auf 0..100 eingestellt ist, dann schon. Ansonsten halte ich meine Lösung für bequemer, weil dann eventuelle Programmfehler durch falsches Umrechnen wegfallen.
The problem with troubleshooting is that sometimes the trouble shoots back.
  Mit Zitat antworten Zitat
DelphiFreund

Registriert seit: 29. Jul 2004
Ort: München
127 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 4. Feb 2005, 20:27
Hi BKempf,
ich wusste garnicht dass man den Bereich einstellen kann, aber Fehler durch falsche Berechnen hatte ich noch nie, zumindest wenn ich die Funktion Round benutzte.
Sandro
Irren ist menschlich...
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#6

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 13. Feb 2005, 17:25
Zitat von Spider:
bei meinem LiveUpdate können mehrere Dateien runtergeladen werden.
Mal ne ganz andere Frage... der Name "LiveUpdate" ist doch von Symantec geschützt oder?
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Beim Download zwei Progressbaren laufen lassen

  Alt 13. Feb 2005, 18:02
Soweit ich weiß, nicht. Die Update-Funktion meines MSI-Mainboards heißt auch LiveUpdate.
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  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 13:19 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