AGB  ·  Datenschutz  ·  Impressum  







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

FormatFileSize

Ein Thema von MicMic · begonnen am 27. Jul 2018 · letzter Beitrag vom 29. Jul 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: FormatFileSize

  Alt 28. Jul 2018, 10:22
Kannst du mal den Code zeigen, mit dem das funktioniert?
Ausführlicher Beispiel Code ist doch im Link? Vielleicht habe ich das was gefordert ist auch falsch Verstanden, wobei es bei auf/ab-runden nicht viel falsch zu verstehen gibt. Du meinst bestimmt seinen Code, ich meinte generell auf/abrunden.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.639 Beiträge
 
Delphi 12 Athens
 
#2

AW: FormatFileSize

  Alt 28. Jul 2018, 10:42
Ich meine sowas:
Delphi-Quellcode:
var
  _size: Extended;
  orgMode: TRoundingMode;
begin
  _size := 1.0957031;
  orgMode := SetRoundMode(rmDown);
  try
    Assert(FormatFloat('0.##', _size, TFormatSettings.Invariant) = '1.09', 'Abrunden klappt nicht!');
  finally
    SetRoundMode(orgMode);
  end;
end;
Basierend auf dieser Aussage:
da ich nicht weis wie ich mit Format/FormatFloat abrunden kann.
und dieser:
Na da kann Dir geholfen werden, mitSetRoundMode() ist so ein Verhalten steuerbar.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FormatFileSize

  Alt 28. Jul 2018, 11:32
Da ich mich gleich an Strand klatsche hab ich keine Zeit mehr, aber mein Vorschlag beinhaltet Beispiel Code, wenn man nichts rundet, rundet man nichts. Also wo kommt Round() vor?

Falls ich darauf noch Lust haben sollte, schreibe ich was mit Delphi basierend aus dem Informationen vom Link und nicht basierend auf irgendwas was nicht Round() enthält. Man kann Round() auch in Format() reinbringen...
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#4

AW: FormatFileSize

  Alt 28. Jul 2018, 11:55
Also SetRoundMode behalte ich mal im Hinterkopf. Danke für die Info.
Find jetzt die Zeile "result := Format('%s %s', [FormatFloat('0.##', Floor(100*_size)/100, fs), s]);" passt ganz gut.

KodeZwerg und Uwe Raabe... ich hoffe ihr streitet nicht rum

Aber Windows macht wirklich sein eigenes Ding. Abgesehen von der Bezeichnung der Dateigrößen...

308736 Bytes / 1024 = 301,5 (Windows gibt 301 aus) <- Datei System32\wusa.exe
14848 Bytes / 1024 = 14,5 (Windows gibt 14,5 aus) <- Datei System32\wshirda.dll

Mal mit ",5" mal ohne. (im Explorer Ansicht Modus "Liste" oder bei den Datei-Eigenschaften)
Im Modus "Details" (dort ist alles ohne Nachkommastellen) die wusa.exe mit 302 wobei in der Statusleiste dann gleichzeitig 301 steht

Ich gebe jetzt z.B. bei der wusa.exe 301,5 KiB aus.

Schon komisch

Michael

Geändert von MicMic (28. Jul 2018 um 11:58 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.639 Beiträge
 
Delphi 12 Athens
 
#5

AW: FormatFileSize

  Alt 28. Jul 2018, 12:47
KodeZwerg und Uwe Raabe... ich hoffe ihr streitet nicht rum
Würde uns doch nicht im Traum einfallen
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: FormatFileSize

  Alt 28. Jul 2018, 19:11
KodeZwerg und Uwe Raabe... ich hoffe ihr streitet nicht rum
Würde uns doch nicht im Traum einfallen
Seh ich genauso, da Uwe der weit aus Erfahrene Delphi Pro User ist war ich mir Anfangs auch nicht sicher das zu Schreiben. Falls es grob Klang lag es schlicht daran das ich ausser Haus musste und Round() über Format() nicht testen konnte, aber es erscheint mir logisch das ein "SetRoundMode()" kein "SetFormatIrgendWas()" replacement ist. Vielleicht ist es falsch was ich so von mir gebe. Jedenfalls tuts mir leid wenn es falsch rüberkam.

Hab Euch alle lieb.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: FormatFileSize

  Alt 28. Jul 2018, 22:35
Windows 10 zeigt im Explorer als Größe den Wert 302 KB und bei den Eigenschaften 301 KB (308 736 Bytes) an.

Konsistent ist da also anders.

Im Explorer erfolgt die Berechnung mit dem Kaufmännischen Runden und in den Eigenschaften evtl. mit dem Symetrischen Runden.
  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 19:49 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