Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Größe einer Festplatte ermitteln (https://www.delphipraxis.net/17004-groesse-einer-festplatte-ermitteln.html)

Neutral General 26. Feb 2004 19:14


Größe einer Festplatte ermitteln
 
Ich möchte gerne die Größe meiner Festplatte in MB angezeigt haben !
Wie macht man so was ?

Christian Seehase 26. Feb 2004 19:17

Re: Größe einer Festplatte ermitteln
 
Moin Neutral General,

schau Dir dazu mal die API Funktion Hier im Forum suchenGetDiskFreeSpaceEx im PSDK an.

Luckie 26. Feb 2004 19:30

Re: Größe einer Festplatte ermitteln
 
Delphi-Quellcode:
function FreeDiskSpace(const Drive: string; var FreeBytesAvailable,
  TotalNumberOfBytes, TotalNumberOfFreeBytes: TLargeInteger): Boolean;
begin
  result := GetDiskFreeSpaceEx(pointer(Drive), FreeBytesAvailable,
    TotalNumberOfBytes, @TotalNumberOfFreeBytes);
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  FreeAvailable, Total, FreeBytes: TLargeInteger;
begin
  if FreeDiskSpace('c:\Programme', FreeAvailable, Total, FreeBytes) then
    with Listbox1.Items do
    begin
      Add(IntToStr(FreeAvailable));
      Add(IntToStr(Total));
      Add(IntToStr(FreeBytes));
    end
  else
    RaiseLastOSError();
end;

Brüggendiek 26. Feb 2004 22:48

Re: Größe einer Festplatte ermitteln
 
Hallo!

Warum einfach, wenn es auch kompliziert geht! :mrgreen:

Es gibt in Delphi eine Funktion dafür: "DiskSize".
Die hat einen Vorteil und einen Nachteil:
Der Vorteil: sie liefert Int64 und damit den richtigen Wert (nicht auf 2GB begrenzt).
Der Nachteil: Es ist eine uralte CP/M-Funktion. Sie erwartet das Laufwerk als Zahl mit 0=aktuelles Laufwerk, 1=A usw. Sollte aber leicht umrechenbar sein *gg*.

Gruß

Dietmar Brüggendiek


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz