Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Borland C++ Builder » Dateigröße mit Tausenderpunkten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
07.01.2005, 13:25 Uhr
~Ideenloser
Gast


Halle,
ich muss von verschiedenen Dateien die Dateigröße ausgeben. Per FindFirstFile und der damit erhaltenen WIN_32_FIND_DATA komme ich auch ohne Probleme an die Größe ran. Ich soll diese nun aber mit Tausenderpunkten (also immer nach 3 Zahlen ein . setzen) ausgeben. Also soll aus "1234567" "1.234.567" werden. Gibt es im Builder dafür ne Formatierungsfunktion oder wie könnte ich das am besten lösen?

Danke im Voraus!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
07.01.2005, 13:33 Uhr
Th



Hi,

ich hab gerade kein BCB hier auf der Arbeit, aber es gibt eine globale Variable, welche den Wert für das 1000er-Trennzeichen aus der Windows-Umgebung ausliest (welche du auch selbst setzen kannst, weiß leider nicht mehr den genauen Namen '...Sep(arator)...').
Mittels AnsiString::Format (oder so ähnlich) müsstes du dann den String-Wert formatiert ausgeben können. Am besten mal die Hilfe dazu aufrufen...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
08.01.2005, 18:42 Uhr
~Ideenloser
Gast


Habs gefunden:

C++:
String DateiGroesse;
DateiGroesse=FileSizeHigh * MAXDWORD + FileSizeLow;
DateiGroesse=FloatToStrF(StrToIntDef(DateiGroesse,0),ffNumber,DateiGroesse.Length(),0);

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
10.01.2005, 12:46 Uhr
Th



Da passen aber irgendwie die Datentypen nicht. "Dateigroesse" ist einmal ein String und dann gleichzeitig eine Zahl???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
10.01.2005, 16:07 Uhr
~Ideenloser
Gast


Man kann einem String auch direkt Zahlen zuweisen, der castet dann automatisch. Oder gibt es bereits ne Funktion die mir von einer Zahl deren Länge (die Anzahl der Zahlen) ermittelt?

z.B. 2000 -> 4 Zahlen, 1234567 -> 7 Zahlen
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
10.01.2005, 16:35 Uhr
Th



Also ich würde einfach folgendes Schreiben, anstatt dauernd zwischen verschiedenen Datentypen zu konvertieren:

C++:
size_t nDateiGroesse = FileSizeHigh * MAXDWORD + FileSizeLow;
const int nMax = 10; // max. Anzahl der Stellen
string sDateiGroesse = FloatToStrF((float)nDateiGroesse, ffNumber, nMax, 0);



Falls du "size_t" nicht verwenden willst (aus <cstddef>), kannst du auch "unsigned int" oder ähnliches verwenden...

Dieser Post wurde am 10.01.2005 um 16:36 Uhr von Th editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Borland C++ Builder ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: