AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Freie Laufwerksbuchstaben ermitteln?

Ein Thema von Salomon · begonnen am 6. Mai 2003 · letzter Beitrag vom 6. Mai 2003
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Freie Laufwerksbuchstaben ermitteln?

  Alt 6. Mai 2003, 14:10
Tach auch,
habe gerade meine ABI Info Klausur hinter mich gebracht, und wollte jetzt zum Entspannen noch ein paar leichte Sachen programmieren

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 dieser Funktion ermitteln und das dann mit dem Alphabet abgleichen. Oder kennt wer noch einen besseren Weg?

Thanx
Salomon
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: Unterhaching
11.412 Beiträge
 
Delphi 12 Athens
 
#2
  Alt 6. Mai 2003, 14:48
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

......
Daniel Lizbeth
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3
  Alt 6. Mai 2003, 14:57
Also, meine zweite "Do It Yourself" Methode, schade das es da nichts fertiges gibt.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 
#4
  Alt 6. Mai 2003, 15:00
Hallo Salomon,
die nachfolgende Procedure sollte dir eigentlich helfen zu entstpannen ...
Delphi-Quellcode:
//-----------------------------------------------------------------------//

//#######################################################################//
//## 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;
bye
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#5
  Alt 6. Mai 2003, 15:17
Danke, dann bastel ich das der vielzahl von Funktionen eine, die mir einen freien Laufwerksbuchstaben zurückliefert.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#6
  Alt 6. Mai 2003, 16:19
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;
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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