Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Die Größe einer "besetzten" Datei ermitteln??? (https://www.delphipraxis.net/47663-die-groesse-einer-besetzten-datei-ermitteln.html)

romber 14. Jun 2005 16:57


Die Größe einer "besetzten" Datei ermitteln???
 
Hallo,

wie kann ich die Größe einer von TFileStream besetzten Datei bekommen? Mit FileSize geht es irgendwie nicht.

marabu 14. Jun 2005 17:07

Re: Die Größe einer "besetzten" Datei ermitteln???
 
Hast du es schon mit TFileStream.Size probiert?

Grüße vom marabu

romber 14. Jun 2005 17:26

Re: Die Größe einer "besetzten" Datei ermitteln???
 
Ja, das Problem ist, dass wenn ich über TIdHTTP-Komponente die Datei in eine TFileStream lade, wird die Datei sofort in der Endgröße erstellt.

Was ich machen möchte, ist die Größe der Datei, die gerade herunergeladen wird, in einem TLabel anzeigen lassen, und zwar nicht jede Sekunde, wie man es mit TIdHTTP.OnWork erreichen kann, sondern jede Milisekunde, so wie es Norton LiveUpdate macht, wenn ein Update heruntergeladen wird.
Wie mache ich das?

marabu 14. Jun 2005 17:47

Re: Die Größe einer "besetzten" Datei ermitteln???
 
Solltest du die Daten mit Get() in den Stream schreiben, dann geschieht das in Blöcken mit der eingestellten BufferSize (default 32 KB). Du kannst zwar durch die Verringerung der BufferSize einen schnelleren Feedback erreichen, aber nur auf Basis der Datenmenge und nicht pro Zeiteinheit. Ich kenne das von dir genannte Produkt nicht, aber würde mich wundern, wenn dort anders verfahren wird. Wie das ganze im GUI anzusehen ist, das steht auf einem anderen Blatt. Natürlich kannst du die momentane Übertragungsrate berechnen und durch einen Timer gesteuert eine feinere Fortschrittsanzeige realisieren, aber das nenne ich dann Interpolation.

Freundliche Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 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