Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Laufwerkspfad (https://www.delphipraxis.net/331-laufwerkspfad.html)

Tpercon 4. Jul 2002 14:47


Laufwerkspfad
 
Wie findet man heraus, welche Laufwerke ( A:; C:; D:;...) es gibt?

sakura 4. Jul 2002 14:58

Folgende Funktion testet die Laufwerke
Code:
function DriveExists(DriveByte: Byte): Boolean;
begin
  Result := GetLogicalDrives and (1 shl DriveByte) <> 0;
end;
A = 0
B = 1
C = 2
...

sakura 4. Jul 2002 15:02

und dieser Code liefert den Laufwerkstyp zurück
Code:
function DriveType(DriveByte: Byte): String;
begin
  case GetDriveType(PChar(Chr(DriveByte + Ord('A')) + ':\')) of
    DRIVE_UNKNOWN: Result := 'unbekannt';
    DRIVE_NO_ROOT_DIR: Result := 'Laufwerk existiert nicht';
    DRIVE_REMOVABLE: Result := 'Wechselmedium';
    DRIVE_FIXED: Result := 'Festplatte';
    DRIVE_REMOTE: Result := 'Netzwerk';
    DRIVE_CDROM: Result := 'CD-ROM/DVD';
    DRIVE_RAMDISK: Result := 'RAM Disk';
  else
    Result := 'anderer Laufwerkstyp';
  end;
end;
--> und ab in die Code Bibliothek
:cat:

Christian Seehase 4. Jul 2002 15:46

Moin Zusammen,

es ginge auch GetLogicalDriveStrings, wenn einem die Laufwerksbuchstaben genügen.
Die gibt's damit im Format C:\#00D:\#00...

Daniel B 4. Jul 2002 15:52

Zitat:

Zitat von sakura
A = 0
B = 1
C = 2
...

Man hat aber auch z.B. A, B, C, H, Z. Was hat man da für Indexe? 0-4 oder die des Buchstaben? Was passiert wenn man im Betrieb neue Laufwerke anbindet und sich alles verschiebt!??!

sakura 4. Jul 2002 15:54

Immer den entsprechenden Wert des Laufwerksbuchstaben. Die Funktion gibt dann entsprechen True oder False zurück. Funktioniert auch nach einer Neukonfiguration der Laufwerke. Schau mal in die Code-Bibliothek, da habe ich auch noch ein klitzekleines Beispiel dazu beigefügt.
:cat:

Christian Seehase 4. Jul 2002 16:00

Moin Daniel B,

das hat sakura etwas unglücklich dargestellt.
GetLogicalDrives gibt eine Bitmaske für die Laufwerke zurück.
Die Liste beschreibt den Exponenten zur Basis 2.

Also existieren die Laufwerke A und C, so gibt die Funktion 5 zurück
101 Binär. Linke 1 = C rechte = A.

Als Metacode:

if GetLogicalDrives and 2 hoch (ord(Upcase(Laufwerksbuchstabe))-65) <> 0 then
Laufwerk existiert.

sakura 4. Jul 2002 16:04

Zitat:

Zitat von Christian Seehase
das hat sakura etwas unglücklich dargestellt.

:twisted: :twisted: :twisted:
So eine schöne Funktion und Du wagst es Dir...
:lol:
:cat:

Tpercon 4. Jul 2002 16:29

@ Christian:
Was geb ich der GetLogicalDriveStrings Funktion für Parameter damit die mir die Laufwerksbuchstaben so auflistet?

Gruß

Daniel B 4. Jul 2002 16:38

@Thomas

hast du den Beitrag dazu in den Faq's gesehen?

http://www.delphipraxis.de/viewtopic.php?t=403


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:35 Uhr.
Seite 1 von 2  1 2      

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