AGB  ·  Datenschutz  ·  Impressum  







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

Laufwerke anzeigen

Ein Thema von ehem. Benutzer · begonnen am 6. Mär 2005 · letzter Beitrag vom 5. Okt 2005
Antwort Antwort
ehem. Benutzer
(Gast)

n/a Beiträge
 
#1

Laufwerke anzeigen

  Alt 6. Mär 2005, 12:37
Wie zeige ich nur die CD/DVD/Brenner/etc. Laufwerke an, also keine Festplatten`?

Ich habe folgenden Code hier gefunden:

Delphi-Quellcode:
procedure GetDrives(const AItems: TStrings);
const
  DriveTypeTexts: array[DRIVE_UNKNOWN..DRIVE_RAMDISK] of String =
   ('Unbekannt', 'Kein Wurzelverzeichnis', 'Diskette', 'Festplatte', 'Netzlaufwerk', 'CDROM', 'RAMDisk');
var
  Drive: Char;
  DriveType: Integer;
  DriveMask: Integer;
  Flag: Integer;
begin
  DriveMask:=GetLogicalDrives;
  flag:=1;
  for Drive := 'Ato 'Zdo
  begin
    if (flag and DriveMask)<>0 then
    begin
      DriveType := GetDriveType(PChar(Format('%S:\',[Drive]) ) ) ;
      AItems.Add(Format('%s: %s', [Drive, DriveTypeTexts[DriveType]]));
    end;
    flag:=flag shl 1;
  end;
end;
Kann ich da die Festplatten/Diskette rausfiltern?
Wenn ja, wie?


MfG
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Laufwerke anzeigen

  Alt 6. Mär 2005, 12:40
Hai ,

in der Code-Library gibt es einen Beitrag von der DP-Katze
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ehem. Benutzer
(Gast)

n/a Beiträge
 
#3

Re: Laufwerke anzeigen

  Alt 6. Mär 2005, 12:45
Soweit war ich ja auch schon, also das er mir alle LAufwerke anzeigt...
Ich will aber keine Festplatten und Diskettenlaufwerke, sondern
nur CD/DVD/etc.



MfG
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Laufwerke anzeigen

  Alt 6. Mär 2005, 12:49
Und? Ist das ein Problem für dich, dir den Beitrag von sakura wenigstens mal richtig anzusehen? Ich meine:
Zitat:
DRIVE_CDROM: Result := 'CD-ROM/DVD';
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Laufwerke anzeigen

  Alt 6. Mär 2005, 12:52
Ich habe jetzt einfach die eine Funktion so abgeändert das sie nur bei einem bestimmten LW-Typ ein TRUE zurück liefert.
Delphi-Quellcode:
function DriveExists(DriveByte: Byte; DriveType : Byte ): Boolean;
begin
  Result := (GetLogicalDrives and (1 shl DriveByte) <> 0)
            AND (DriveType = GetDriveType(PChar(Chr(DriveByte + Ord('A')) + ':\')));
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to 25 do
  begin
   if DriveExists(I,Drive_CDROM) then
   begin
      ListBox1.Items.Add(Chr(I + Ord('A')) + ':\ (CDROM / DVD)');
   end;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ehem. Benutzer
(Gast)

n/a Beiträge
 
#6

Re: Laufwerke anzeigen

  Alt 6. Mär 2005, 12:57
Danke Sharky =)


MfG
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#7

Re: Laufwerke anzeigen

  Alt 5. Okt 2005, 15:54
Wenn ich auf ein Disketten-Laufwerk klicke und es ist keine Disk drin, gibt's eine Exception. Leider kenne ich mich mit der Fehlerbehandlung überhaupt nicht aus. Was müsste ich denn dafür tun, dass dann eine Meldung a la "Keine Diskette eingelegt" kommt?
Achim
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Laufwerke anzeigen

  Alt 5. Okt 2005, 16:02
Evtl geht:

Delphi-Quellcode:
try
  //dein Code
except //Wird ausgeführt, wenn oben ein fehler auftritt
  ShowMessage('blubb');
end;
  Mit Zitat antworten Zitat
Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#9

Re: Laufwerke anzeigen

  Alt 5. Okt 2005, 16:07
Try ... Except hat bei mir noch nie funktioniert - jetzt auch nicht
Achim
  Mit Zitat antworten Zitat
Benutzerbild von Chegga
Chegga

Registriert seit: 5. Nov 2004
Ort: Kirchheim
453 Beiträge
 
Delphi 7 Architect
 
#10

Re: Laufwerke anzeigen

  Alt 5. Okt 2005, 16:12
Hi,

solche Aussagen liebe ich...
Mache einfach mal unter
Tools -> Debugger-Optionen...
die integrierte Fehlersuche weg.
(Auf deutsch: Du musst das Häkchen rausmachen )

Oder du startest das die *.exe-Datei außerhalb von Delphi.

MfG Marc

P.S.:
Bei älteren Delphiversionen könnte es ggf. auch anders gehen.
Marc P.
Grüße aus Kirchheim Teck
  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 23:44 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