![]() |
Re: Dateigröße formatieren?
Hallo,
da fehlt ein ![]() schreib mal
Delphi-Quellcode:
Gruß
Edit1.Text := FileSizeToStr(StrToInt(Edit2.Text));
xaromz //Edit: Fehler verbessert. |
Re: Dateigröße formatieren?
Delphi-Quellcode:
So passts:
Edit1.Text := (InttoStr(FileSizeToStr(Edit2.Text)));
Delphi-Quellcode:
Edit1.Text := FileSizeToStr(StrtoInt(Edit2.Text));
|
Re: Dateigröße formatieren?
@lucky :gruebel: :stupid:
Meine Funktion einfach so aufraufen:
Delphi-Quellcode:
Size ist ein integer. Edit2.Text ein String.
label1.caption := filesizetostr(size);
Mach es doch einfach so:
Delphi-Quellcode:
Noch ein Tipp um die Große abzufragen. Du nimmst da eine recht "altmodische" Methode.
label1.caption := filesizetostr(strtoint(edit2.text));
So ist es hoffentlich besser:
Delphi-Quellcode:
function CheckFileSize(aFilename: string): int64;
var fs:TFilestream; begin fs := TFileStream.Create(afilename,fmOpenRead ) Result := fs.size; fs.free; end; |
Re: Dateigröße formatieren?
Das ist doch schon ein String: FileSizeToStr!
|
Re: Dateigröße formatieren?
Ja, jetzt passt es. Danke an alle.
|
Re: Dateigröße formatieren?
Zitat:
Delphi-Quellcode:
*scnr*
function FileSizeToStr(const ASize: Int64): string;
const Units: Array[0..8] of string = ('Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); // Ab hier wird es unwahrscheinlich ^^ var Index: Integer; begin Assert(ASize >= 0); Index := Trunc(ln(ASize) / ln(2) / 10); Result := Format('%.2f %s', [ASize / (1 shl (Index * 10)), Units[Index]]); end; |
Re: Dateigröße formatieren?
Delphi-Quellcode:
Da ist eh ein Fehler drin ... ihr solltet mal darauf achten, was passiert, wenn size 1024 ist :zwinker:
function FileSizeToStr(size:int64):string;
begin if size < 1024 then result := inttostr(size)+'Byte'; if (size > 1024) and (size > 1024*1024) then result := formatfloat ... |
Re: Dateigröße formatieren?
Delphi-Quellcode:
OT: Was ist denn EB, ZB und YB ? :mrgreen:
function FileSizeToStr(const ASize: Int64): string;
const Units: Array[0..8] of string = ('Byte', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'); // Ab hier wird es unwahrscheinlich ^^ var Index: Integer; begin Assert(ASize >= 0); Index := Trunc(ln(ASize) / ln(2) / 10); Result := Format('%.2f %s', [ASize / (1 shl (Index * 10)), Units[Index]]); end; Ich kenne nur bis PetaByte :mrgreen: |
Re: Dateigröße formatieren?
Zitat:
![]() |
Re: Dateigröße formatieren?
Immer wieder nützlich!:mrgreen:
|
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