무슨말인지 자세한 설명좀 부탁드립니다...
좀 급하니 빨리...
현재 시스템에 장착된 드라이브의 개수를 구한다.
단 플로피나 시디롬은 제외한다.
procedure Tform1.FormCreate(Sender:Tobject);
var
i:Integer;
str:String;
str2:array[0..128] of char;
begin
totaldrv:=0;
for i:=0 to 25 do
begin
str2:='c:';
str2[0]:=chr(i+ord('c'));
if getdrivetype(str2) = DRIVE_FIXED then
inc(totaldrv);
end;
다.. 근데 약간의 코딩이 잘 못됐군요..
GetDriveType(Drive: PChar)의 결과값
0 - 드라이브 종류를 알 수 없음.
1 - 루트 디렉토리가 존재하지 않음.
DRIVE_REMOVABLE - 이동용 드라이브(집드라이브, 째즈 드라이브)
DRIVE_FIXED - 고정된 드라이브(하드 디스크)
DRIVE_REMOTE - 원격(네트웍) 드라이브
DRIVE_CDROM - 시디롬 드라이브
DRIVE_RAMDISK - 램 디스크
procedure Tform1.FormCreate(Sender:Tobject);
var
I: Integer;
DriveLetter: array[0..2] of char;
begin
TotalDrv := 0;
for I := 65 to 90 do // A부터 Z까지 루프를 돌려 사용가능한 드라이브를 찾는다.
begin
DriveLetter := chr(I) + ':';
if GetDriveType(DriveLetter) = DRIVE_FIXED then // 고정된 드라이브이면...
Inc(TotalDrv); // 고정된 드라이브의 총수를 하나 증가한다.
end;
// 즉 TotalDrv가 가지고 있는 값이 현재 시스테이 가지고 있는 고정된 드라이브의
// 총 수입니다...
end;
hjcho wrote:
> 무슨말인지 자세한 설명좀 부탁드립니다...
> 좀 급하니 빨리...
>
>
> 현재 시스템에 장착된 드라이브의 개수를 구한다.
> 단 플로피나 시디롬은 제외한다.
>
> procedure Tform1.FormCreate(Sender:Tobject);
> var
> i:Integer;
> str:String;
> str2:array[0..128] of char;
> begin
> totaldrv:=0;
> for i:=0 to 25 do
> begin
> str2:='c:';
> str2[0]:=chr(i+ord('c'));
> if getdrivetype(str2) = DRIVE_FIXED then
> inc(totaldrv);
> end;
>