AGB  ·  Datenschutz  ·  Impressum  







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

Byte in Mega- und Kilobyte umwandeln

Ein Thema von tobias2207 · begonnen am 8. Mai 2005 · letzter Beitrag vom 8. Mai 2005
Antwort Antwort
tobias2207

Registriert seit: 5. Feb 2005
Ort: berlin
44 Beiträge
 
#1

Byte in Mega- und Kilobyte umwandeln

  Alt 8. Mai 2005, 15:32
Hallo liebe Leser,

ich suche eine function oder code welches mir ein Integer Attribut in welchem die Grösse einer Datei in Bytes angegeben ist und dieser mir diesen in einen String umgewandelt in KB,MB,GB der Grössen (also ähnlich wie ein Explorer).

hab das jetzt schon mehrmals versucht aber immer wieder geschweitert und bevor ich stunden mit selbprogrammieren verschwende (leider keine zeit) wollte ich mal horchen ob es da nicht schon etwas gibt an dem ich mich orientieren kann..

vielen dank fürs lesen und helfen schon mal im voraus..


mfg

tobias
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Byte in Mega- und Kilobyte umwandeln

  Alt 8. Mai 2005, 15:33
Delphi-Quellcode:
function ConvertBytes(Size: Integer): ShortString;
  function ConvertToKB(Size: Integer): Integer;
  begin
    Result := Size div 1024;
  end;

  function ConvertToMB(Size: Integer): Integer;
  begin
    Result := Size div (1024 * 1024);
  end;

  function ConvertToGB(Size: Integer): Integer;
  begin
    Result := Size div (1024 * 1024 * 1024);
  end;
begin
  if Size > 1024 * 1024 * 1024 then
    Result := IntToStr(ConvertToGB(Size)) + ' GB'
  else
  if Size > 1024 * 1024 then
    Result := IntToStr(ConvertToMB(Size)) + ' MB'
  else
  if Size > 1024 then
    Result := IntToStr(ConvertToKB(Size)) + ' KB'
  else
    Result := IntToStr(Size) + ' Bytes';
end;
[edit] Musst nur die Größe der Datei angeben [/edit]
[edit2] Die Größe kannst du so bekommen:
Delphi-Quellcode:
function GetFileSize(Filename: String): Int64;
var
  FS: TFileStream;
begin
  FS := TFileStream.Create(Images.Items[I], fmOpenRead);
  try
    Result := FS.Size;
  finally
    FS.Free;
  end;
end;
Ein Beispiel aufrufe wäre:

StringVar := ConvertBytes(GetFileSize('C:\Test.txt')); [/edit2]
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Byte in Mega- und Kilobyte umwandeln

  Alt 8. Mai 2005, 15:36
Ich werfe mal diese Funktion in den Raum:

Delphi-Quellcode:
// by Luckie
function FormatDiskSpace(DiskSpace: Int64): string;
begin
  case DiskSpace of
    0..1023: Result := Format('%d Byte', [DiskSpace]);
    1024..1048575: Result := Format('%2n KB', [DiskSpace / 1024]);
    1048576..1073741823: Result := Format('%2n MB', [DiskSpace / 1024 / 1024]);
  else
    Result := Format('%2n GB', [DiskSpace / 1024 / 1024 / 1024]);
  end;
end;
mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Aenogym
Aenogym

Registriert seit: 7. Mär 2004
Ort: Schwerin
1.089 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Byte in Mega- und Kilobyte umwandeln

  Alt 8. Mai 2005, 15:36
hi,

dazu brauchts keine funktion, einfache mathematik:

Delphi-Quellcode:
var byte: integer;
    kilobyte, megabyte, gigabyte: double;
kilobyte := byte / 1024;
megabyte := kilobyte / 1024;
gigabyte := megabyte / 1024;
das war's,

aenogym
Steffen Rieke
Was nicht buzzt, wird buzzend gemacht!
http://blog.base-records.de
http://www.base-records.de
  Mit Zitat antworten Zitat
tobias2207

Registriert seit: 5. Feb 2005
Ort: berlin
44 Beiträge
 
#5

Re: Byte in Mega- und Kilobyte umwandeln

  Alt 8. Mai 2005, 15:38
hi leute,

vielen dank für die echt schnellen antworten von euch. das waren ja nur wenige sekunden , echt starke leistung..

werde es gleich mal mit den 3 varianten ausprobieren und schauen woran ich versagt hab.


nochmals vielen dank an euch und delghi praxis. schönen sonntag noch..


MfG

tobias
  Mit Zitat antworten Zitat
Antwort Antwort


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 21:40 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