![]() |
Freien Speicher auf dem aktuellen Datenträger ermitteln
Ich hab nirgens einen Befehl gefunden mit dem man herausfindet wieviel speicher auf dem aktuellen Datenträger vorhanden ist. Kennt da jemand was? :drunken:
|
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Hi!
Und wieder hat Google gesprochen: ![]() Ciao Frederic |
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
OK...
Delphi-Quellcode:
Aber wie frag ich das vom aktuellen Laufwerk? In GetDir kann man 0 angeben. Aber wie mach ich es hier, hier muss ich ja einen Laufwerksbuchstaben angeben wie C oder D???
function GetDiskSize(drive: Char; var free_size, total_size: Int64): Boolean;
var RootPath: array[0..4] of Char; RootPtr: PChar; current_dir: string; begin RootPath[0] := Drive; RootPath[1] := ':'; RootPath[2] := '\'; RootPath[3] := #0; RootPtr := RootPath; current_dir := GetCurrentDir; if SetCurrentDir(drive + ':\') then begin GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil); SetCurrentDir(current_dir); Result := True; end else begin Result := False; Free_size := -1; Total_size := -1; end; end; procedure TForm1.Button1Click(Sender: TObject); var free_size, total_size: Int64; begin if GetDiskSize(laufwerksbuchstabe, free_size, total_size) then ShowMessage('free space =' + IntToStr(free_size) + #13 + 'total size=' + IntToStr(total_size)) else ShowMessage('Keine Disk im Laufwerk!'); end; end; |
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Hi!
Ja, du solltest wissen, von welchem Laufwerk du den freien Speicherplatz ermitteln willst.... Wo genau ist da dein Problem? Ciao Frederic |
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Woher weiß ich auf welchem Laufwerk der User meine Software installiert? Das ist noch ein kleines Problemchen... :gruebel:
|
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Zitat:
Delphi-Quellcode:
liefert dir das Programmverzeichnis und das erste Zeichen
ExtractFilePath(ParamStr(0))
Delphi-Quellcode:
ist das Laufwerk.
StringVar[1]
|
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
HI!
Der User sollte den Pfad auswählen können. Nach dem Auswählen des Pfades könnte dieser bspw. in einem Edit dringstehen. Der erste Buchstabe des Edits sollte dann der Laufwerksbuchstabe sein. Alternativ kannst du ja in einer Tabelle alle Festplatten auflisten - so wie es die meisten Installer tun... Ciao Frederic |
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
|
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Zitat:
|
Re: Freien Speicher auf dem aktuellen Datenträger ermitteln
Danke!!!!
Läuft:
Delphi-Quellcode:
Und das für die Nachwelt :wink:
function GetDiskSize(drive: Char; var free_size, total_size: Int64): Boolean;
var RootPath: array[0..4] of Char; RootPtr: PChar; current_dir: string; begin RootPath[0] := Drive; RootPath[1] := ':'; RootPath[2] := '\'; RootPath[3] := #0; RootPtr := RootPath; current_dir := GetCurrentDir; if SetCurrentDir(drive + ':\') then begin GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil); SetCurrentDir(current_dir); Result := True; end else begin Result := False; Free_size := -1; Total_size := -1; end; end; procedure TForm2.Button2Click(Sender: TObject); var s: String; free_size, total_size: Int64; begin s := ExtractFileDrive(ParamStr(0)); showmessage(s[1]); if GetDiskSize(s[1], free_size, total_size) then ShowMessage('free space =' + IntToStr(free_size) + #13 + 'total size=' + IntToStr(total_size)) else ShowMessage('Keine Disk im Laufwerk!'); end; UNd nommal DANKE. Mfg Tobi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:01 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