Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anzahl der CD ROM Laufwerke herausfinden (https://www.delphipraxis.net/19780-anzahl-der-cd-rom-laufwerke-herausfinden.html)

Chris P 8. Apr 2004 20:33


Anzahl der CD ROM Laufwerke herausfinden
 
Hi Leute,

wie kann ich herausfinden, wieviele CD ROM Laufwerke vorhanden sind und welchen Laufwerksbuchstaben sie haben???

Nicolai1234 8. Apr 2004 20:40

Re: Anzahl der CD ROM Laufwerke herausfinden
 
Ich habe folgenden Auszug aus EDH gefunden
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  I,Typ: Integer;
  s: String;
begin
  For i := 0 To 25 do
    begin
      s := Chr(i + 65) + ':\';
      typ := GetDriveType(PChar(s));
      If Typ <> 0 Then
        Case Typ of
          DRIVE_REMOVABLE :
            Listbox1.Items.Add(Chr(i + 65) + ': Diskette');

          DRIVE_FIXED :
            Listbox1.Items.Add(Chr(i + 65) + ': Festplatte');

          DRIVE_CDROM :
            Listbox1.Items.Add(Chr(i + 65) + ': CDROM');

          DRIVE_RAMDISK :
            Listbox1.Items.Add(Chr(i + 65) + ': RAMDisk');

          DRIVE_REMOTE :
            Listbox1.Items.Add(Chr(i + 65) + ': Netzlaufwerk');
        end;
    end;
end;
Jetzt kannst du die Listbox nach "CD-Rom" durchsuchen und diese zählen.


Oder du nimmst diese Function(diese liefert die Anzahl als Integer);

Aufruf z.B.: showmessage(inttostr(anzahl));

Delphi-Quellcode:
function anzahl:integer;
var
  I,Typ,i2: Integer;
  s: String;
begin
i2 := 0;
  For i := 0 To 25 do
    begin
      s := Chr(i + 65) + ':\';
      typ := GetDriveType(PChar(s));
      If Typ <> 0 Then
        Case Typ of
          DRIVE_CDROM :
            inc(i2);
            end;
    end;
  result := i2;
end;


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