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
 
MicMic

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

AW: FormatFileSize

  Alt 28. Jul 2018, 07:53
Je nach dem wo der Code steht, muss man noch "Application.UpdateFormatSettings := false;" setzen, da sonst bei "WM_WININICHANGE" oder "RM_TaskbarCreated" die FormatSettings wieder überschrieben werden (hier im Forum in einem Thread gelesen). Nur mal so als Info.
Das hast du aber nur gelesen, nicht probiert, oder? Das gilt nämlich nur für die globale Instanz FormatSettings, aber nicht für deine selbst erzeugte fs.

Ja, nur gelesen Dachte es wäre wichtig, deshalb wollt ich das hier dazuschreiben.
Aber Danke für die Info.
Ich habe jetzt folgendes, da man ja nicht aufrunden soll.
Code:
fs := TFormatSettings.Create;
fs.DecimalSeparator := ',';
_size := 23.203;
result := floattostr(_size);
kp := Pos(',',result);
if kp > 0 then result := copy(result,0,kp+2);
if result[length(result)]='0' then result := copy(result,0,length(result)-1);
result := result + ' '+s;
Ich schneide jetzt einfach ab auf 2 Stellen nach dem Komma und sollte dann zufällig noch eine "0" am Ende sein (beim ersten Copy z.B. aus 232,20343 = 232,20) wird diese "0" dann auch mit dem zweiten Copy entfernt. Beim ersten Copy "kp+2" gibt's keine Probleme wenn der Wert z.B. "232,2" beträgt. Da nimmt er wohl nur +1 weil es mehr nicht gibt. Am Ende füge ich dann noch die Bezeichnung ein "KB, KiB etc."

Edit:
Muss doch den 3 Zeiler nehmem, sprich 2x auf 0 prüfen. Der Wert kann ja z.B. auch "232,0034383" sein
Also doch so:
Code:
if Result[Length(Result)]='0' then result := Copy(Result,0,Length(Result)-1);
if Result[Length(Result)]='0' then result := Copy(Result,0,Length(Result)-1);
if Result[Length(Result)]=',' then result := Copy(Result,0,Length(Result)-1);
Michael

Geändert von MicMic (28. Jul 2018 um 07:57 Uhr)
  Mit Zitat antworten Zitat
 


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