お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
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