Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Dateigröße einer Videodatei ermitteln (https://www.delphipraxis.net/15794-dateigroesse-einer-videodatei-ermitteln.html)

Master_BB 4. Feb 2004 11:13


Dateigröße einer Videodatei ermitteln
 
hya,
ich weiß nicht wie ich die Dateigröße einer Videodatei ermitteln kann.
Thx schon mal für die Hilfe.

Greetz
Master_BB

Luckie 4. Feb 2004 11:18

Re: Dateigröße einer Videodatei ermitteln
 
Entweder in einen Stream laden und Size abfragen. Oder mit FindFirst suchen und Site von der TSearchRect Struktur abfragen. Oder Die API GetFilesSizeEx verwenden.

Master_BB 4. Feb 2004 11:51

Re: Dateigröße einer Videodatei ermitteln
 
also das mit dem in einen Stream laden ist doch bestimmt zeit und sysressis lastig,
das mit dem finden genauso.
So bei GetFileSize der WinAPI hab ich das Problem das mein Pfad Cardinal sein muß und ich nicht weiß
wie ich meinen Filepfad der in einem Editfeld sich befindet umwandele.
GetFileSize(file,null);
und das haut net so ganz hin

Sharky 4. Feb 2004 12:40

Re: Dateigröße einer Videodatei ermitteln
 
Hai Master_BB,

warum nicht einfach mit FileSize die größe ermitteln?

Luckie 4. Feb 2004 12:50

Re: Dateigröße einer Videodatei ermitteln
 
Zitat:

Zitat von Sharky
Hai Master_BB,

warum nicht einfach mit FileSize die größe ermitteln?

Weil inmeiner Hilfe steh:
Zitat:

he size is expressed as the number of records in a record file.
In einer Video-Datei dürften wohl kaum Datensätze drinstehen.

Mit CreateFile kannst du dir ein Handle auf die datei für den ersten Parameter holen. Ich sprach auch von GetFileSizeEX, weil getFileSize nur ein DWORD zurückliefert, was eventuell zu klein ist.

Master_BB 4. Feb 2004 12:54

Re: Dateigröße einer Videodatei ermitteln
 
getfilesizeex gibts in meiner WinSDK net.
kannst du mir von der funktion den aufbau posten?

Sharky 4. Feb 2004 12:57

Re: Dateigröße einer Videodatei ermitteln
 
Zitat:

Zitat von Luckie
Weil inmeiner Hilfe steh: ...

Hmmmm.....

in meiner Steht:

Zitat:

Zitat von Online Hilfe D5 pro. deutsch
Die Funktion FileSize gibt die Größe einer Datei in Byte zurück. Enthält die Datei Records, wird deren Anzahl zurückgegeben.

Beschreibung

Mit FileSize können Sie die Größe der angegebenen Datei (F) ermitteln. Die Funktion kann nur für geöffnete Dateien verwendet werden. Wenn die Datei leer ist, gibt FileSize(F) 0 zurück.

Hinweis

FileSize kann nicht für Textdateien verwendet werden.

Und hate es schon oft verwendet.

P.S.: In der Hilfe ist sogar ein entsprechendes Beispiel dabei.

Luckie 4. Feb 2004 13:05

Re: Dateigröße einer Videodatei ermitteln
 
Code:
BOOL GetFileSizeEx(
  HANDLE hFile,
  PLARGE_INTEGER lpFileSize
);
Zitat:

Parameters
hFile
[in] Handle to the file whose size is to be returned. The handle must have been created with either the GENERIC_READ or GENERIC_WRITE access right. For more information, see File Security and Access Rights.
lpFileSize
[out] Pointer to a LARGE_INTEGER structure that receives the file size.
Return Values
If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

DennyC 4. Feb 2004 13:29

Re: Dateigröße einer Videodatei ermitteln
 
Hallo!

Vielleicht dann doch die Stream-Variante? Die Datei einfach mit TFileStream öffnen, die Eigenschaft Size gibt dann direkt die Dateigröße in Byte an. Fertig.

Code:
function GetFileSize(Filename: TFilename): Int64;
begin

 with TFileStream.Create(Filename, fmOpenRead) do
 begin
  result := size;
  Free;
 end;
 
end;
Der Code braucht natürlich noch ein paar Sicherheitsvorkehrungen...

Denny


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:45 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