![]() |
Delphi-Version: XE3
Dateigröße in Byte auslesen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
wie kann ich die Größe einer Datei auf dem Datenträger auslesen? Bisher kann ich nur die "normale" Größe ermittlen:
Code:
Allerdings brauche ich die Größe, die unter Windows als "Größe auf Datenträger" angezeigt wird.
function GetFileSize(const AFileName: string): Int64;
var F: TSearchRec; begin Result := -1; if FindFirst(AFileName, faAnyFile, F) = 0 then begin Result := F.FindData.nFileSizeLow or (F.FindData.nFileSizeHigh shl 32); end; end; Danke im voraus. |
AW: Dateigröße in Byte auslesen
Delphi-Quellcode:
Das sollte es sein (keine Gewähr für Tippfehler)
if (meinwert mod clustergröße)>0 then
plattenplatz:=((meinwert div clustergröße)+1)*clustergröße else plattenplatz:=(meinwert div clustergröße)*clustergröße; Gruß K-H |
AW: Dateigröße in Byte auslesen
Das müsste grob
Delphi-Quellcode:
sein.
(GetFileSize(Dateiname) div (Clustergrößer der Festplatte) + 1) * (Clustergrößer der Festplatte)
Oder hier mal schauen: ![]() |
AW: Dateigröße in Byte auslesen
An Alle, die jetzt manuell mit Clustern rechnen ... vergesst es!
* "kleine" Dateien liegen im NTFS als Atribut direkt in der MFT und nicht in einem eigenem Cluster * SparseFiles? Da wo Cluster weggelassen und nicht im dateiSystem liegen. * NTFS-komprimierte Daeien? * usw. ![]() GetCompressedFileSize und den Rest ignorieren. FindFirst? Warum gibst du den Speicher/Suchergebnis nicht wieder frei? Zitat:
Ins NICHTS!
Delphi-Quellcode:
Result := F.FindData.nFileSizeLow or (Int64(F.FindData.nFileSizeHigh) shl 32);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:31 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz