AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateigröße ermitteln, wie geht Ihr vor?

Ein Thema von Fukiszo · begonnen am 25. Jan 2018 · letzter Beitrag vom 27. Jan 2018
 
Benutzerbild von himitsu
himitsu

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

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

  Alt 26. Jan 2018, 13:10
Wenn es die API GetFileAttributesEx ausschließlich nur als Unicode gäbe, dann PWideChar und ein Unicode-String (den "String" nach Unicode casten).
Schwer zu verstehen ist das ja nun nicht wirklich:
GetFileAttributesEx + PChar + String ... natürlich nur, wenn diese Funktion auch compilerabhänig deklariert wurde.
GetFileAttributesExA + PAnsiChar + AnsiString
GetFileAttributesExW + PWideChar + WideString/UnicodeString

Als Funktion existiert "GetFileAttributesEx" ja eigentlich garnicht. Nur als "unabhängige" Definition.
Delphi-Quellcode:
function GetFileAttributesEx(lpFileName: PChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall;
function GetFileAttributesExA(lpFileName: PAnsiChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall;
function GetFileAttributesExW(lpFileName: PWideChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall;

function GetFileAttributesEx; external kernel32 name {$IFDEF UNICODE}'GetFileAttributesExW'{$ELSE}'GetFileAttributesExA'{$ENDIF};
function GetFileAttributesExA; external kernel32 name 'GetFileAttributesExA';
function GetFileAttributesExW; external kernel32 name 'GetFileAttributesExW';

Sowas ist auch immer ganz nett.
GetFileSize(const aFileName: string; NoException: Boolean=False): Int64; Ausnahmen behandle ich gern auch als Exceptions.
Wenn die Datei nicht existiert, deren Datum ich wissen will, dann ist das eine Ausnahme.

Aber falls ich doch mal prüfen will und es mit erstmal egal ist, ob die Datei existiert, dann kann man so die Exception deaktivieren, ohne ein Try-Except drummachen zu müssen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:45 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-2025 by Thomas Breitkreuz