![]() |
Freie Laufwerksbuchstaben ermitteln?
Tach auch,
habe gerade meine ABI Info Klausur hinter mich gebracht, und wollte jetzt zum Entspannen noch ein paar leichte Sachen programmieren :D Das Topic sagt eigentlich schon alles, gibt es eine Funktion die mir alle freien Laufwerksbuchstaben zurückliefert? Wenn nicht würde ich alle belegten Buchstaben mittels ![]() Thanx Salomon |
Schau mal in die CodeLibrary, da ist ein Beitrag zum Ermitteln der vergebenen Laufwerksbuchstaben. Ergo - damit weisst Du auch die noch zur Verfügung stehenden ;-)
...:cat:... |
Also, meine zweite "Do It Yourself" Methode, schade das es da nichts fertiges gibt.
|
Hallo Salomon,
die nachfolgende Procedure sollte dir eigentlich helfen zu entstpannen ...
Delphi-Quellcode:
bye
//-----------------------------------------------------------------------//
//#######################################################################// //## Procedure GetLogicalDriveList: ##// //#######################################################################// //## Datum: Änderung: ##// //## ====== ========= ##// //## 10.01.2001 Initial Release ##// //#######################################################################// procedure GetLogicalDriveList(List: TStrings); var Drive: Integer; Bits: set of 0..25; begin List.Clear; Integer(Bits) := Windows.GetLogicalDrives; for Drive := 0 to 25 do begin if Drive in Bits then begin GetDriveType(PChar(Char(Drive + Ord('A')) + ':\')); List.Add(Char(Drive + Ord('A'))); end; end; end; |
Danke, dann bastel ich das der vielzahl von Funktionen eine, die mir einen freien Laufwerksbuchstaben zurückliefert.
|
So, ich habe Duffy's Procedure etwas umgeschrieben, kann man da noch was optimieren? Evtl. sowas in die Richtung: if Drive not in Bits
Delphi-Quellcode:
// Liefert den ersten freien Laufwerksbuchstaben zurück
function Free_Drive_Letter : string; var Drive: Integer; Bits: set of 0..25; gefunden : boolean; begin result := ''; gefunden := false; Integer(Bits) := Windows.GetLogicalDrives; for Drive := 0 to 25 do begin if Drive in Bits then else If gefunden = false then begin gefunden := true; result := (Char(Drive + Ord('A'))+':') end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:37 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