|
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル
"GetDriveType"
■概要
GetDriveType 使用法のサンプルです。
Local drive letter の type を取得します。
■コンポーネント
Form1 に Memo1, Button1 を適当に配置して下さい。
■注意事項
・Windows98SE + Delphi5 Pro で動作確認。
・本サンプルは、ご自身の責任においてお試し下さい。 (((^^;)
■サンプルコード
//=========================================================================
procedure TForm1.Button1Click( Sender: TObject );
var
Size : Cardinal;
i : Char;
Buff : array [0..255] of Char;
DrvStr,
DrvStrR: String;
begin
Memo1.Lines.Clear;
Size := SizeOf( Buff );
for i := 'A' to 'Z' do begin
DrvStr := i + ':';
DrvStrR := DrvStr + '\';
case GetDriveType( PChar(DrvStrR) ) of
0: DrvStr := DrvStr + #9 + 'The drive type cannot be determined.';
1: DrvStr := DrvStr + #9 + 'Available.';
DRIVE_REMOVABLE: DrvStr := DrvStr + #9 + 'Removable.';
DRIVE_FIXED : DrvStr := DrvStr + #9 + 'Fixed.';
DRIVE_REMOTE :
begin
case WNetGetConnection( PChar(DrvStr), Buff, Size ) of
0: DrvStr := DrvStr + #9 + 'Connected to ' + Buff;
ERROR_NOT_CONNECTED:
begin
DrvStr := DrvStr + #9 + 'Available';
end;{ERROR_NOT_CONNECTED}
ERROR_CONNECTION_UNAVAIL:
begin
DrvStr := DrvStr + #9
+ 'Remembered but not connected (' + Buff + ')';
end;{ERROR_CONNECTION_UNAVAIL}
else RaiseLastWin32Error;
end;{case WNetGetConnection( PChar(DrvStr), Buff, Size ) of}
end;{DRIVE_REMOTE}
DRIVE_CDROM : DrvStr := DrvStr + #9 + 'CD-ROM.';
DRIVE_RAMDISK : DrvStr := DrvStr + #9 + 'RAM Disk.';
end;{case GetDriveType( PChar(S) ) of}
Memo1.Lines.Add( DrvStr );
end;{for i := 'A' to 'Z' do}
end;
//=========================================================================
00/11/22(Wed) 03:22pm Fermion [KHF03264]
Original document by Fermion 氏 ID:(KHF03264)
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。
Copyright 1996-2002 Delphi Users' Forum
|