Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Umrechung von Byte in Gigabyte (https://www.delphipraxis.net/116469-umrechung-von-byte-gigabyte.html)

Chamb 30. Jun 2008 09:37


Umrechung von Byte in Gigabyte
 
hi leutz,

mein probelm ist, dass ich zwar von byte in Kilobyte und Megabyte problemlos umrechnen kann, aber das selbe prinzip mit Gigabyte nicht klappt.

(hierzu meinen Quelltext)
Delphi-Quellcode:
function gbyte(byt: Int64):String;
var
  ergebnis : Comp;
  gb: Comp;
  s, s1 : String;
begin
  if byt > 1073741823 then begin
    gb := byt /1073741824;
    str(gb:7:2,s);
    Result := s;
  end
  else begin
    ergebnis := byt / 1048576;
    str(ergebnis:7:2,s1);
    Result := s1;
  end;
end;
(aufruf)
Delphi-Quellcode:
Edit4.Text := gByte(StrToInt(Edit1.Text));
diese Function soll einen wert(der in Byte angegeben wird) in gigabyte umrechnen, nur das klappt nicht, weil ich dann immer diese meldung bekomme:
(bsp.: )

Zitat:

'6328541184' ist kein gültiger Integerwert.
Meine Frage ist nun:
1. wieso kommt der fehler
2. was mach ich falsch
(ich hab es schon mit zisch varianten versucht, klappte einfach bisher net :gruebel: )

Luckie 30. Jun 2008 09:40

Re: Umrechung von Byte in Gigabyte
 
Guck dir in der Hilfe mal den Wertebereich von Integer an.

Angel4585 30. Jun 2008 09:41

Re: Umrechung von Byte in Gigabyte
 
Integer geht bis maximal ~2 Mrd.

Du müsstest anstatt StrToInt, StrToInt64 oder sowas nehmen

Chamb 30. Jun 2008 09:46

Re: Umrechung von Byte in Gigabyte
 
@angel4585: thx das hat gefunzt.

@luckie: danke für den hinweis, aba das hab ich schon gemacht und bin nicht auf die idee von 'angel4585' gekommen

So damit wäre mein problem gelöst.

thx an all.

Sharky 30. Jun 2008 10:00

Re: Umrechung von Byte in Gigabyte
 
Hai Chamb,

noch ein kleiner Vorschlag für deinen Code.

Ich würde mit Constanten definieren und diese dann im Code verwenden. Dann weiss jeder was Du eigentlich meinst.
Delphi-Quellcode:
const
  Kibibyte = 1024; // 2^10
  Mebibyte = Kibibyte * 1024; // 2^20
  Gibibyte = Mebibyte * 1024; // 2^30

Chamb 30. Jun 2008 10:03

Re: Umrechung von Byte in Gigabyte
 
@Sharky:

Danke für den Tipp. mal sehen, ob ich den bei mir einbaue
(der ist ja eigentlich genial :thumb: , frag mich nur, warum ich das dann so kompliziert mache, wenn das doch so einfach geht :gruebel: )


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