AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateigröße formatieren?

Ein Thema von mlspider · begonnen am 25. Nov 2005 · letzter Beitrag vom 6. Dez 2005
Antwort Antwort
Seite 1 von 3  1 23      
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

Dateigröße formatieren?

  Alt 25. Nov 2005, 17:25
Hallo,

ich lasse mir die Größe einer Datei wie folgt ermitteln:

Delphi-Quellcode:
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;
Ich möchte jetzt die Größenangabe formatieren (zb:Angabe in MB). Aber wie?
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:35
Mach eine Funktion FileSizeToStr:

Delphi-Quellcode:
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;
Hoffe das hilft...
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:37
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
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:44
Hallo,

da ist ein Fehler:
function FileSizeToStr(size:int64): String; // <- das muss noch dazu Gruß
xaromz
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:45
Hai mlspider,

da ist ein kleiner Fehler in der Deklaration. Mach aus:
Code:
function FileSizeToStr(size:int64);
einfach
Code:
function FileSizeToStr(size:int64) : String;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von dahead
dahead

Registriert seit: 16. Mai 2005
620 Beiträge
 
#6

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:52
ich hab mir für diesen zweck das hier gebastelt (finde ich persönlich etwas übersichtlicher):

edit: gepostete funktion muss überarbeitet werden, daher entfernt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:55
Ein KB hat aber 1.024 Byte und nicht 1.000.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:57
Beide Funktionen sind toll. Leider komme ich mit dem Aufruf innerhalb einer Procedur nicht klar, da Int64 und TCaption inkompatibel sind.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 17:58
Du musst den Integer erst in einen String konvertieren mit Delphi-Referenz durchsuchenIntToStr.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Dateigröße formatieren?

  Alt 25. Nov 2005, 18:01
Hallo Luckie,

das mache ich bereits:

Edit1.Text := (InttoStr(FileSizeToStr(Edit2.Text))); Der Compiler schluckt das ganze nicht.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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