Forum: Algorithmen, Datenstrukturen und Klassendesign
by jbg,
22. Okt 2017
Ja bekommt man. Im Flags Feld ist dann FILE_ATTRIBUTE_DIRECTORY gesetzt, vorausgesetzt es existiert. Man darf sich vom "File" in GetFileAttribute(Ex) nicht verwirren lassen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jbg,
22. Okt 2017
FindFirstFile, das hinter FindFirst steckt, ist für das Abfragen der Informationen von mehreren Dateien ausgelegt. Wenn du nur eine Datei haben willst, dann ist der Overhead im Vergleich zum GetFileAttributes um einiges größer. Zudem steckt ein anderer System-Aufruf dahinter. Vor allem wenn man auf ein Netzlaufwerk zugreift, wird FindFirstFile so richtig langsam.
Zu FileOpen+FileClose:...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by jbg,
22. Okt 2017
Ich werfe auch noch eine weitere Funktion in den Raum.
function GetFileSizeD(const FileName: string): Int64;
var
FileInfo: TWin32FileAttributeData;
begin
FillChar(FileInfo, SizeOf(FileInfo), 0);
if GetFileAttributesEx(PChar(FileName), GetFileExInfoStandard, @FileInfo) then
begin
Int64Rec(Result).Hi := FileInfo.nFileSizeHigh;