![]() |
Dateigröße formatieren?
Hallo,
ich lasse mir die Größe einer Datei wie folgt ermitteln:
Delphi-Quellcode:
Ich möchte jetzt die Größenangabe formatieren (zb:Angabe in MB). Aber wie?
function CheckFileSize(aFilename: string): integer;
var f: file of Byte; size: Longint; begin AssignFile(f, aFilename); Reset(f); try size := FileSize(f); finally CloseFile(f); end; Result := size; end; procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := (InttoStr(CheckFileSize(Edit2.Text))); end; |
Re: Dateigröße formatieren?
Mach eine Funktion FileSizeToStr:
Delphi-Quellcode:
Hoffe das hilft...
function FileSizeToStr(size:int64):string;
begin if size < 1024 then result := inttostr(size)+'Byte'; if (size > 1024) and (size < 1024*1024) then result := formatfloat('0.00',size/1024)+'KB'; if (size > 1024*1024) and (size < 1024*1024*1024) then result := formatfloat('0.00',size/1024/1024)+'MB'; if (size > 1024*1024*1024) then result := formatfloat('0.00',size/1024/1024/1024)+'GB'; end; |
Re: Dateigröße formatieren?
Und wie wäre der Aufruf in einer Procedur?
Habe Deine Funkion eingebaut. Leider gibt mir der Compiler folgende Fehlermeldung aus: Funktion benötigt Ereignistyp |
Re: Dateigröße formatieren?
Hallo,
da ist ein Fehler:
Delphi-Quellcode:
Gruß
function FileSizeToStr(size:int64): String; // <- das muss noch dazu
xaromz |
Re: Dateigröße formatieren?
Hai mlspider,
da ist ein kleiner Fehler in der Deklaration. Mach aus:
Code:
einfach
function FileSizeToStr(size:int64);
Code:
function FileSizeToStr(size:int64) : String;
|
Re: Dateigröße formatieren?
ich hab mir für diesen zweck das hier gebastelt (finde ich persönlich etwas übersichtlicher):
edit: gepostete funktion muss überarbeitet werden, daher entfernt. |
Re: Dateigröße formatieren?
Ein KB hat aber 1.024 Byte und nicht 1.000. ;)
|
Re: Dateigröße formatieren?
Beide Funktionen sind toll. Leider komme ich mit dem Aufruf innerhalb einer Procedur nicht klar, da Int64 und TCaption inkompatibel sind.
|
Re: Dateigröße formatieren?
Du musst den Integer erst in einen String konvertieren mit
![]() |
Re: Dateigröße formatieren?
Hallo Luckie,
das mache ich bereits:
Delphi-Quellcode:
Der Compiler schluckt das ganze nicht.
Edit1.Text := (InttoStr(FileSizeToStr(Edit2.Text)));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:05 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