Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Herausfinden ob ein bestimmtes Laufwerk existiert. (https://www.delphipraxis.net/32673-herausfinden-ob-ein-bestimmtes-laufwerk-existiert.html)

valon 27. Okt 2004 07:43


Herausfinden ob ein bestimmtes Laufwerk existiert.
 
Hallo!
Ich möchte herausfinden ob ein von aussen übergebenes Laufwerk existiert.
Ich habe es so probiert.
Delphi-Quellcode:
{*******************************************************************************
* Diese Procedure setzt das von aussen übergebene Laufwerk
*******************************************************************************}
procedure TForm1.setDriveletter(newDrive: String);
begin      //Ich tue newDrive nur zuweisen,wenn dieses Laufwerk auch existiert, ansonsten
            //mach ich  nichts.
  If GetDriveType(Pchar(newDrive+))<>0 then Self.FDriveletter:=newDrive;

end;
Rückgabewert von GetDriveType ist 0 , falls er kein Laufwerk findet.
Das funzt aber nicht.

Kennt ihr ne andere Funktion?

vlees91 27. Okt 2004 07:57

Re: Herausfinden ob ein bestimmtes Laufwerk existiert.
 
du könntest das nehmen:
Delphi-Quellcode:
function DriveType(laufwerk: PChar): String;
begin
  case GetDriveType(laufwerk) of
    DRIVE_CDROM: result := 'CD-ROM Laufwerk';
    DRIVE_FIXED: result := 'Festplatte';
    DRIVE_RAMDISK: result := 'Ramdisk';
    DRIVE_REMOTE: result := 'Netzlaufwerk';
    DRIVE_REMOVABLE: result := 'Wechsellaufwerk';
    0: result := 'unbekanntes Laufwerk';
    1: result := 'Laufwerk existiert nicht';
  end;
end;
Und wenn es "Laufwerk existiert nicht" ist, existiert es nicht.

man könnte aber auch // vor 1: result stellen und dann ist das einfach wenn es 1 ist

valon 27. Okt 2004 08:08

Re: Herausfinden ob ein bestimmtes Laufwerk existiert.
 
danke!
Ich werde es gleich mal ausprobieren!

DevilsCamp 3. Mai 2006 07:29

Re: Herausfinden ob ein bestimmtes Laufwerk existiert.
 
Zitat:

Zitat von valon
Delphi-Quellcode:
  If GetDriveType(Pchar(newDrive+))<>0 then Self.FDriveletter:=newDrive;

Ähm, Frage:
Was macht eigentlich das + in der GetDriveType-Funktion?
Vielleicht liegt es ja daran, dass es nicht funktioniert.

marabu 3. Mai 2006 07:57

Re: Herausfinden ob ein bestimmtes Laufwerk existiert.
 
Wie wäre es hiermit?

Delphi-Quellcode:
// drive A = 0

function DriveExists(number: Byte): Boolean;
begin
  Result := 1 shl number and GetLogicalDrives <> 0;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:22 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