Toon posts:

[Delphi] Var vullen met drive letter van cdrom

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een programma waar in ik in de source een programma van cdrom wil laden, nu wil ik weten hoe ik de drive letter van de cdrom kan aanroepen, zodat ik dat programma kan draaien

  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

Ik heb hier even niet de win32api help geinstalleerd, dus echt goed helpen kan ik je niet. (check ff of jij wel die helpfile op je pc hebt staan...)

De API-call GetDrivesString :? geeft je een string, met daarin alle drives die je PCtje heeft. Met GetDriveInfo :? kan je van iedere drive opvragen wat voor soort 't is. En hiermee kan je dus ook zien of een bepaalde drive een cdrom-drive is.

Let wel eventjes op dat een pc meerdere cdrom-drives kan hebben, dus als je de eerste hebt gevonden kan het best zijn dat het programma dat je zoekt op een andere drive staat.

Siditamentis astuentis pactum.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

http://community.borland.com of http://www.google.com

search -> getting cdrom drive in Delphi

en ziedaar....ineens een aantal links met Delphi code om te copy/pasten.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

ik heb hier 2 functies voor je die ik heb gemaakt:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
type
  TDriveList = array[0..25] of Char;

function GetDriveList: TDriveList;
var
  I: Integer;
  Bits: set of 0..25;
begin
  Integer(Bits) := GetLogicalDrives;
  for I := 0 to 25 do begin
    if I in Bits then Result[I] := Char(I + Ord('A'))
    else Result[I] := ' ';
  end;
end;

function GetDriveType(Drive: Char): String;
begin
  case Windows.GetDriveType(PChar(Drive+':\')) of
    DRIVE_UNKNOWN: Result := 'Unknown';
    DRIVE_NO_ROOT_DIR: Result := 'No Disk';
    DRIVE_REMOVABLE: Result := 'Removable';
    DRIVE_FIXED: Result := 'Fixed';
    DRIVE_REMOTE: Result := 'Network';
    DRIVE_CDROM: Result := 'CD-Rom';
    DRIVE_RAMDISK: Result := 'RAM drive';
  end;
end;