Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Laufwerks-Dialog (https://www.delphipraxis.net/30818-laufwerks-dialog.html)

Hansa 29. Sep 2004 18:34


Laufwerks-Dialog
 
Hi,

ich brauche einen Dialog, der mir nur die Laufwerke ausflistet. Ich habe mir mal alle angesehen, aber irgendwie finde ich nichts brauchbares. Es sollen nur die verfügbaren Laufwerke aufgelistet werden, eventuell noch mit Typ, also CD (wegen R/O), Netzlaufwerk usw. Vorerst würden mir allerdings auch nur die Laufwerksbuchstaben reichen. 8) Wer weiß mehr ?

Dax 29. Sep 2004 18:36

Re: Laufwerks-Dialog
 
In der JVCL3.0 gibt es eine Combobox, die sowas macht. Vielleicht kannst du die zum Dialog umbauen.

Duffy 29. Sep 2004 18:46

Re: Laufwerks-Dialog
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Hansa,
das reicht Dir?
Delphi-Quellcode:
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
Claus

Hansa 29. Sep 2004 19:23

Re: Laufwerks-Dialog
 
Thx, das reicht, fast. 8) Ich habe das in eine ComboBox umgebaut. Aber noch 2 Fragen :

Zitat:

Zitat von Duffy
GetDriveType(PChar(Char(Drive + Ord('A')) + ':\'));
List.Add(Char(Drive + Ord('A')) + ':');
[/delphi]

1. was soll das "Ord ('A')" ?
2. GetDriveType, was macht das ?

Wie gesagt, es geht schon, aber ich weíß nicht warum. :lol:

Union 29. Sep 2004 20:00

Re: Laufwerks-Dialog
 
Zitat:

Zitat von Hansa
Thx, das reicht, fast. 8) Ich habe das in eine ComboBox umgebaut. Aber noch 2 Fragen :

Zitat:

Zitat von Duffy
GetDriveType(PChar(Char(Drive + Ord('A')) + ':\'));
List.Add(Char(Drive + Ord('A')) + ':');
[/delphi]

1. was soll das "Ord ('A')" ?
2. GetDriveType, was macht das ?

Wie gesagt, es geht schon, aber ich weíß nicht warum. :lol:

Hi Hansa,

1. Ord() gibt einen Ordinalwert als integer zurück, in diesem Fall den ASCII-Code von 'A' = 65.
2. GetDriveType gibt den Laufwerkstyp zurück, z.b. CD, Netzlaufwerk, RamDisk usw.

Hansa 29. Sep 2004 20:12

Re: Laufwerks-Dialog
 
Hi,

ich hatte die Schleife nicht gesehen. 8) Jetzt ist nur noch der Typ interessant. Wo kriege ich den noch her ?

SirThornberry 29. Sep 2004 20:16

Re: Laufwerks-Dialog
 
auf dem Reiter "win 3.1" gibts bei mir "TDriveCombobox". Aber wie der Name der Reiters schon sagt ist diese komponente etwas veraltet, wird also vermutlich in zukünftigen versionen mal weg sein

Union 29. Sep 2004 20:51

Re: Laufwerks-Dialog
 
Zitat:

Zitat von Hansa
Hi,

ich hatte die Schleife nicht gesehen. 8) Jetzt ist nur noch der Typ interessant. Wo kriege ich den noch her ?

Code:
Value   Meaning
0   The drive type cannot be determined.
1   The root directory does not exist.
DRIVE_REMOVABLE   The drive can be removed from the drive.
DRIVE_FIXED   The disk cannot be removed from the drive.
DRIVE_REMOTE   The drive is a remote (network) drive.
DRIVE_CDROM   The drive is a CD-ROM drive.
DRIVE_RAMDISK   The drive is a RAM disk.

Duffy 29. Sep 2004 21:28

Re: Laufwerks-Dialog
 
Hallo Hansa,
sorry mit dem GetDriveType. Es war noch garnicht fertig. Ich habe es vergessen wieder herauszulöschen.

bye
Claus


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