AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Dateigröße ohne Öffnen der Datei berechnen
Thema durchsuchen
Ansicht
Themen-Optionen

Dateigröße ohne Öffnen der Datei berechnen

Ein Thema von Nils_13 · begonnen am 27. Sep 2007 · letzter Beitrag vom 28. Sep 2007
Antwort Antwort
Seite 2 von 2     12   
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#11

Re: Dateigröße ohne Öffnen der Datei berechnen

  Alt 27. Sep 2007, 22:17
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
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.483 Beiträge
 
Delphi 10.1 Berlin Professional
 
#12

Re: Dateigröße ohne Öffnen der Datei berechnen

  Alt 27. Sep 2007, 22:35
Zitat von Nils_13:
Arbeitskompatibilitä
Du könntest GetFileAttributesEx auch so nutzen, wie CodeGear das in Delphi 2007 bei FileAge macht.

Delphi-Quellcode:
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;
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
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#13

Re: Dateigröße ohne Öffnen der Datei berechnen

  Alt 27. Sep 2007, 22:49
Wo sonst sollen sich die CodeGear-Leute auch ihre Delphi-Tricks holen, wenn nicht in der Delphi-PRAXiS
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#14

Re: Dateigröße ohne Öffnen der Datei berechnen

  Alt 28. Sep 2007, 15:36
Hast du mal ein Aufrufbeispiel dafür ? Ich bin gerade echt zu blöd dafür
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 09:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz