AGB  ·  Datenschutz  ·  Impressum  







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

KB zu Bytes umwandeln

Ein Thema von DrD0j0 · begonnen am 2. Jun 2011 · letzter Beitrag vom 3. Jun 2011
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.782 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: KB zu Bytes umwandeln

  Alt 2. Jun 2011, 14:23
Hallo,

wenn Du den Wert in Byte vorliegen hast, dann kann es keine Nachkommastelle mehr geben.
Du kannst diese also einfach abschneiden z.B. mit trunc.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
DrD0j0

Registriert seit: 1. Mai 2011
10 Beiträge
 
#2

AW: KB zu Bytes umwandeln

  Alt 2. Jun 2011, 14:43
Vielen lieben Dank für die schnelle und kompetente Hilfe
  Mit Zitat antworten Zitat
Hobby-Programmierer

Registriert seit: 19. Jan 2006
Ort: München
392 Beiträge
 
Delphi XE Starter
 
#3

AW: KB zu Bytes umwandeln

  Alt 2. Jun 2011, 14:45
Delphi-Quellcode:
function Kb2Byte(SrcKb: String): Int64;
var tmpSize: Double;
begin
  Result := 0;
  if TryStrToFloat(SrcKb, tmpSize) then
    Result := Trunc(tmpSize *1024);
end;
Mario
'Lesen Sie schnell, denn nichts ist beständiger als der Wandel im Internet!'
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#4

AW: KB zu Bytes umwandeln

  Alt 2. Jun 2011, 14:56
Bin ich der einzige, der der Meinung ist, dass hier eine Exception ausgelöst werden sollte, wenn die Konvertierung fehlschlägt? Man sucht den Fehler nämlich hinterher u.U. ewig, wenn das Programm aus unerfindlichen Gründen bei manchen Dateien die falsche Dateigröße anzeigt...

Also wenn schon, dann so:
Delphi-Quellcode:
function Kb2Byte(SrcKb: String): Int64;
var tmpSize: Double;
begin
  if TryStrToFloat(SrcKb, tmpSize) then
    Result := Trunc(tmpSize*1024)
  else
    raise EConvertError.CreateFmt('"%s" is not a valid file size', [SrcKb]);
end;
Aber abgesehen davon, ist Aphtons Lösung die korrekte, da sie mit einbezieht, dass die Nachkommastellen nur bis 999 gehen, und nicht bis 1024.
  Mit Zitat antworten Zitat
Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#5

AW: KB zu Bytes umwandeln

  Alt 2. Jun 2011, 15:00
Aber abgesehen davon, ist Aphtons Lösung die korrekte, da sie mit einbezieht, dass die Nachkommastellen nur bis 999 gehen, und nicht bis 1024.
Darn it... Und ich dachte mir, die sei falsch =\
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG

Geändert von Aphton ( 2. Jun 2011 um 15:04 Uhr)
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#6

AW: KB zu Bytes umwandeln

  Alt 3. Jun 2011, 08:52
Streng genommen müsstest du nur mit 1000 Multiplizieren.
Wenn KiB (oder im Englischen Ki) angegeben wäre müsstest du mit 1024 Multiplizieren.

http://de.wikipedia.org/wiki/Byte

http://en.wikipedia.org/wiki/Byte
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: KB zu Bytes umwandeln

  Alt 3. Jun 2011, 13:48
Das Problem ist, dass die meisten Programme kilo, mega und giga schreiben, aber kibi, mebi und gibi meinen... (man, klingen diese Binärpräfixe albern – bin ich eigentlich der einzige, der bei kibi immer an einen neuseeländischen Vogel denken muss?)
  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 17:39 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