AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Dateigröße ermitteln ohne Datei zu öffnen

Dateigröße ermitteln ohne Datei zu öffnen

Ein Thema von robinWie · begonnen am 5. Mär 2006 · letzter Beitrag vom 9. Mai 2014
Antwort Antwort
Rob09

Registriert seit: 14. Aug 2007
58 Beiträge
 
Delphi 6 Personal
 
#1

Re: Dateigröße ermitteln ohne Datei zu öffnen

  Alt 15. Aug 2007, 18:10
Hi! Danke, bin sehr herzlich aufgenommen worden

Hmm... ja, den Fehler bekomme ich. Naja, hab das Prog jetzt halt mit FileSize() geschrieben. Ich nehme an, das (was im Thread-Titel steckt) bedeutet dann im Endeffekt, dass die Methode schneller ist als FileSize(), richtig?

LG!
  Mit Zitat antworten Zitat
Benutzerbild von MuTzE.Y85
MuTzE.Y85

Registriert seit: 11. Apr 2006
152 Beiträge
 
#2

AW: Dateigröße ermitteln ohne Datei zu öffnen

  Alt 9. Mai 2014, 14:00
Eigentlich kann man doch auch
Code:
function GetFileSize(szFile: String): Int64;
statt
Code:
function GetFileSize(szFile: PChar): Int64;
schreiben, dann muss man beim Aufruf der Funktion nich auch noch zu PChar umwandeln. Ist ja doppelt gemoppelt

Eingabe String
Delphi-Quellcode:
function GetFileSize(szFile: String): Int64;
var
  fFile: THandle;
  wfd: TWIN32FINDDATA;
begin
  Result := -1;
  fFile := FindFirstfile(PChar(szFile), wfd);
  if fFile = INVALID_HANDLE_VALUE then Exit;
  if (wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    Result := (wfd.nFileSizeHigh * (Int64(MAXDWORD) + 1)) + wfd.nFileSizeLow;
  Windows.FindClose(fFile);
end;
Und wenn man PChar vorliegen hat, dann kann man sich die Konvertierung innerhalb der Funktion sparen

Eingabe PChar
Delphi-Quellcode:
function GetFileSize(szFile: PChar): Int64;
var
  fFile: THandle;
  wfd: TWIN32FINDDATA;
begin
  Result := -1;
  fFile := FindFirstfile(szFile, wfd);
  if fFile = INVALID_HANDLE_VALUE then Exit;
  if (wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    Result := (wfd.nFileSizeHigh * (Int64(MAXDWORD) + 1)) + wfd.nFileSizeLow;
  Windows.FindClose(fFile);
end;
LAN-PC: C2Q Q9550 @ 4004 MHz @ 1.232 V @ Mugen 2 | DFI LANParty JR P45-T2RS | G.Skill 4GB DDR2-1000 CL5 | ZOTAC GTX 280 @ GTX 285 @ 1.06 V | WD Caviar Blue 320GB / WD Caviar Black 640GB | BeQuiet DPP P7 450W | Antec Mini P180
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#3

AW: Dateigröße ermitteln ohne Datei zu öffnen

  Alt 9. Mai 2014, 17:32
Kleine Änderung für XE2:

Delphi-Quellcode:
function GetFileSize(szFile: String): Int64;
var
  fFile: THandle;
  wfd: TWIN32FINDDATA;
begin
  Result := -1;
  fFile := FindFirstfile(PChar(szFile), wfd);
  if fFile = INVALID_HANDLE_VALUE then Exit;
  if (wfd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
    Result := (wfd.nFileSizeHigh * (Int64(MAXDWORD) + 1)) + wfd.nFileSizeLow;
  WinApi.Windows.FindClose(fFile); // <---------------------
end;
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:03 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