Hallo mal weder Liebe Community  
 
 
Also ich habe eine Frage zu meinem Backup-Programm mit Progressbar...
während mein Programm die zu Backupenden 

  Dateien ausließt kummuliert es im Hintergrund für jede Datei
mit 
 sizelongFileListAll += p_datei.Length; die Dateigröße auf meine Variable.
Hier ist schon das erste Problem da: Length gibt LONG zurück, was ein gerundeter Wert ist 
 
 
Da ich am Anfang des Backups den Max-Wert meiner Progressbar auf diese FileSize setze (Filesize/3071  

 )
kommt es später zu einem Fehler, da die Größen, welche durch Length ermittelt werden, zu klein sind.
Während das Programm arbeitet, werden in der Progressbar quasi immer die schon eingelesenen Bytes (durch 3071) angezeigt,
was mich zu einer ziemlich genauen Statusanzeige bringt.
Folgender Sachverhalt:
Ich lese alle Dateien ein und kummuliere auf den long Wert die Größe jeder Datei:
3 Dateien -> 40037296 Bytes
Jetzt werden aber beim Schreiben die reell geschrieben Bytes in der Progressbar grafisch angezeigt
Windows sagt hier: 
3 Dateien -> 40051632 Bytes
VIEL zu ungenau, wenns dann mal 30726 Dateien sind 
 
 
Klar könnte ich fix einen Workaround bauen - aber das ist nicht meine Art  
 
 
Deswegen die Frage an euch - keine Workarounds, dafür bin ich zu neugierig 
 
Danke 
 
//edit
man könnte natürlich über einen Streamreader gehen und da Datei für Datei bis Schluss einlesen und hätte wahrscheinlich die genauen Bytes raus - das ist denke ich aber seeehr Performancelastig (?)
Moderiert von  Kha: Topic aus WinForms verschoben am Do 30.06.2011 um 20:27
Kha: Topic aus WinForms verschoben am Do 30.06.2011 um 20:27