Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Speichergröße von Datenträgern auslesen (https://www.delphipraxis.net/113984-speichergroesse-von-datentraegern-auslesen.html)

mkinzler 17. Mai 2008 20:33

Re: Speichergröße von Datenträgern auslesen
 
Zitat:

Wollte die genaue Speichergröße haben, nichts gerundetes.
Es wird aber nichts gerundet, da die Größe ja in Bytes ist

mind87 17. Mai 2008 20:36

Re: Speichergröße von Datenträgern auslesen
 
Zitat:

Zitat von mkinzler
Zitat:

Edit: Würde gerne die Werte ohne z.B 'Free Space: 159.165.487.457' im Label Feld ausgegeben.
Delphi-Quellcode:
label1.Caption := Format('%12.0n', [freeSpace]);

Was bedeutet %12.=0n? Dachte dies hätte ewtwas mit einer Leerstelle zwischen Text und der Ausgabevaribale zu tun.

RWarnecke 17. Mai 2008 20:38

Re: Speichergröße von Datenträgern auslesen
 
Schaue Dir mal den Befehl Format in der Delphi-Hilfe an. Dort ist auch die Formatierung der Zahlen erklärt.

Edit:
Zitat:

Zahl. Das Argument muss ein Gleitkommawert sein. Der Wert wird in einen String der folgenden Form umgewandelt: "-d,ddd,ddd.ddd...". Das Format "n" entspricht dem Format "f", allerdings enthält der resultierende String Tausendertrennzeichen.
Das bedeutet das n. Die 12 davor heist nur, das es als 12-stellige Zahl ausgegeben wird mit den tausender Punkten.

mind87 17. Mai 2008 20:43

Re: Speichergröße von Datenträgern auslesen
 
Zitat:

Zitat von mkinzler
Zitat:

Wollte die genaue Speichergröße haben, nichts gerundetes.
Es wird aber nichts gerundet, da die Größe ja in Bytes ist

Da ist wohl was dran. Habe gerade versucht in integer zu deklarieren. Beim compilieren kommt nun diese Meldung:

Im Projekte xxxx.exe ist eine Execption der Klasse EconvertError aufgetreten. Meldung: 'Format'%12.On' ungültig oder nicht kompatibel mit Argument'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzten.

mkinzler 17. Mai 2008 20:48

Re: Speichergröße von Datenträgern auslesen
 
Schau doch, wie Rolf schon geschrieben hat in die Hilfe zu Format()

FAlter 17. Mai 2008 20:49

Re: Speichergröße von Datenträgern auslesen
 
Hi,

Die OH sagt:

Delphi-Quellcode:
function DiskFree(Drive: Byte): Int64;
Also nimm am besten Int64.

Und zur Ausgabe, wenn du eh kein "Disk Free" usw. davorstehen haben willst, nimm doch einfach IntToStr statt Format:

Delphi-Quellcode:
label1.Caption := IntToStr(FreeSpace);
Ansonsten bei Ganzzahlen Format mit %d statt %n.

Mfg
FAlter

Luckie 17. Mai 2008 20:50

Re: Speichergröße von Datenträgern auslesen
 
Zeig mal die beiden Funktionen DiskFree und DiskSpace, wenn es nicht die von Delphi sind.

RWarnecke 17. Mai 2008 20:52

Re: Speichergröße von Datenträgern auslesen
 
Zitat:

Zitat von Luckie
Zeig mal die beiden Funktionen DiskFree und DiskSpace, wenn es nicht die von Delphi sind.

Ich glaube er nutzt die beiden Funktionen aus der SysUtils-Unit.

Luckie 17. Mai 2008 20:54

Re: Speichergröße von Datenträgern auslesen
 
Dann müsste es schon bei der Variablenzuweisung einen Fehler geben.

FAlter 17. Mai 2008 20:56

Re: Speichergröße von Datenträgern auslesen
 
Hi,

werden Int-Typen nicht implizit in Float-Typen umgewandelt? Das heißt, Int64 lässt sich problemlos Double verwenden.

Mfg
FAlter


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Seite 2 von 3     12 3      

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