Größe einer Datei ermitteln |
|
| System | Win9x, WinNT, Win2000, WinXP, Vista, Win7 |
|---|---|
| Ab Delphi-Version | Delphi 4 |
| Letzte Änderung | 28.09.2010 |
Folgende Funktionen ermitteln die Größe einer Datei in Byte.
Ab Delphi 4 kann diese Funktion verwendet werden, die beliebig große Dateigrößen ermitteln kann.
var
F: TSearchRec;
begin
Result := -1;
if FindFirst(AFileName, faAnyFile, F) = 0 then
begin
try
Result := F.FindData.nFileSizeLow or (F.FindData.nFileSizeHigh shl 32);
finally
SysUtils.FindClose(F);
end;
end;
end;
Der Record TSearchRec liefert die Größe nicht direkt im 64bit-Integer-Format zurück. Allerdings enthält der untergeordnete Record FindData entsprechende Informationen, woraus sich der richtige Zahlenwert bilden lässt:
Der höherwertige Anteil wird mit "shl 32" um 32 Bit (entspricht 4 Byte) nach links verschoben. Nun wird der niederwertige Bereich per "or" mit dem höherwertigen Bereich verknüpft (0 or 0 = 0; 1 or 0 = 1; 0 or 1 = 1; 1 or 1 = 1). Man muss sich das ganze in der Dualdarstellung der Zahlen vorstellen.
Benutzer älterer Delphi-Versionen müssen diese Funktion verwenden, deren Grenze bei 2147483647 Byte (2 Gb) liegt.
var
F: TSearchRec;
begin
Result := -1;
if FindFirst(AFileName, faAnyFile, F) = 0 then
begin
try
Result := F.Size;
finally
SysUtils.FindClose(F);
end;
end;
end;
- Datei mit zugeordneter Anwendung öffnen
- Programm ohne sichtbares Fenster starten
- Feststellen, ob eine Datei existiert
- Erstellungsdatum von Dateien ermitteln
- Letzten Dateizugriff ermitteln
- Ist eine Datei in Benutzung
- Dateiversion ermitteln
- Datei nach einem bestimmten String durchsuchen
- Anwendung ermitteln, die mit einer Dateiendung verknüpft ist
- Dateidatum ändern