![]() |
Re: Dateigröße ohne Öffnen der Datei berechnen
Mein Fehler war, wie schon angedeutet, dass ich nFileSizeHigh, statt nFileSizeLow genommen habe.
Arbeitskompatibilität: Wenn es keine Dokumentationen mehr gibt, werden viele die Abwärtskompatibilität nicht mehr "nutzen", weil es ihnen zu aufwendig wäre oder man weiß nicht, was einem unter Win98 erwartet. Alles in allem kann man denke ich sagen, dass man immer möglichst plattformunabhängig bleiben sollte, also alle APIs meiden sollte. Da das hier ein pures Windowsprogramm wird, kann mir das ausnahmsweise mal egal sein :) |
Re: Dateigröße ohne Öffnen der Datei berechnen
Zitat:
Delphi-Quellcode:
Da fällt mir gerade auf, dass ich haar genau den selben Code doch in DelphiSpeedUp benutze und das bevor Delphi 2007 überhaupt das Licht der Welt erblickte. Sogar die Namensgleichheit der Funktionen ...Emulated und ...Preload ist verblüffend. Wo die den Code nur her haben :gruebel:
function GetFileAttributesExPreload(lpFileName: PChar; fInfoLevelId: TGetFileExInfoLevels;
lpFileInformation: Pointer): BOOL; stdcall; forward; var { Diesen Funktion-Zeiger kann man nun aufrufen } GetFileAttributesExFunc: function(lpFileName: PChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall = GetFileAttributesExPreload; { Use FindFirstFile as an alternative on systems that do not support the GetFileAttributesEx } function GetFileAttributesExEmulated(lpFileName: PChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall; var Handle: THandle; FindData: TWin32FindData; begin Handle := FindFirstFile(lpFileName, FindData); if Handle <> INVALID_HANDLE_VALUE then begin Windows.FindClose(Handle); if lpFileInformation <> nil then begin Move(FindData, lpFileInformation^, SizeOf(TWin32FileAttributeData)); Result := True; Exit; end; end; Result := False; end; function GetFileAttributesExPreload(lpFileName: PChar; fInfoLevelId: TGetFileExInfoLevels; lpFileInformation: Pointer): BOOL; stdcall; begin GetFileAttributesExFunc := GetProcAddress(GetModuleHandle(kernel32), 'GetFileAttributesExA'); if not Assigned(GetFileAttributesExFunc) then GetFileAttributesExFunc := GetFileAttributesExEmulated; Result := GetFileAttributesExFunc(lpFileName, fInfoLevelId, lpFileInformation); end; |
Re: Dateigröße ohne Öffnen der Datei berechnen
Wo sonst sollen sich die CodeGear-Leute auch ihre Delphi-Tricks holen, wenn nicht in der Delphi-PRAXiS :mrgreen:
|
Re: Dateigröße ohne Öffnen der Datei berechnen
Hast du mal ein Aufrufbeispiel dafür ? Ich bin gerade echt zu blöd dafür :stupid:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:27 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