Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#6

AW: Dateigröße ermitteln, wie geht Ihr vor?

  Alt 26. Jan 2018, 10:58
Warum doppelt abfragen?
Delphi-Quellcode:
class function TFileHelper.GetSize(const fileName: String): Int64;
var
   info: TWin32FileAttributeData;
begin
   if not GetFileAttributesEx(PChar(fileName), GetFileExInfoStandard, @info) then
     RaiseLastOSError;
   Result := Int64(info.nFileSizeLow) or Int64(info.nFileSizeHigh shl 32);
end;
Wenn es aber unbedingt EFileNotFoundException sein soll, dann halt
Delphi-Quellcode:
class function TFileHelper.GetSize(const fileName: String): Int64;
var
   info: TWin32FileAttributeData;
begin
   if not GetFileAttributesEx(PChar(fileName), GetFileExInfoStandard, @info) then
     if GetLastError in [ERROR_FILE_NOT_FOUND, ERROR_PATH_NOT_FOUND] then
       raise EFileNotFoundException.CreateRes(@SFileNotFound)
     else
       RaiseLastOSError;
   Result := Int64(info.nFileSizeLow) or Int64(info.nFileSizeHigh shl 32);
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat