Q&A

  • CD-ROM에 할당된 현재 드라이브 문자를 구하는 방법은?
다시 질문.



제목 그대룹니다

어플을 싱행시켰을경우에.

CD 롬이 D루 잡혀있는지 E로 잡혀있는지 F로 잡혀있는지. 알수있는 방법은.?!!!

만약에 E로 잡혀있따면.. 그걸 한 변수에 E라구 넣구 싶은건데염..

아시는분 좀 답변즘 부탁 드리어염 ^^

지금 배아포소... 이하 생략 할께염 ㅠ.ㅜ...







2  COMMENTS
  • Profile
    조규춘 2000.11.22 21:41
    바보감자 wrote:

    > 다시 질문.

    >

    > 제목 그대룹니다

    > 어플을 싱행시켰을경우에.

    > CD 롬이 D루 잡혀있는지 E로 잡혀있는지 F로 잡혀있는지. 알수있는 방법은.?!!!

    > 만약에 E로 잡혀있따면.. 그걸 한 변수에 E라구 넣구 싶은건데염..

    > 아시는분 좀 답변즘 부탁 드리어염 ^^

    > 지금 배아포소... 이하 생략 할께염 ㅠ.ㅜ...

    >

    >

    >



    저는 답변 되어 있는거 또 답변하는 거 별루 좋아 하지 않습니다.



    그래서 먼저 답변하신분께 양해를 구하겠습니다.



    다른 좋은 방법이 있습니다.



    다음의 함수를 추가 하십시요~~~

    function IsCDPath(var Pathstr : String) : Boolean;

    var

    DrivePath : string;

    Drive : char;

    i : Integer;

    begin

    i := 65;

    repeat

    Drive := char(i);

    Result := False;

    DrivePath := Drive + ':';

    if GetDriveType(PChar(DrivePath)) = DRIVE_CDROM then

    begin

    Result := True;

    Pathstr := DrivePath;

    end;

    Inc(i);

    until GetDriveType(PChar(DrivePath)) = DRIVE_CDROM;

    end;









    사용예는)))))))))

    procedure TForm1.Button1Click(Sender: TObject);

    var

    CDpath : String;

    begin

    IsCDPath(CDpath);

    ShowMessage('CD 가 있는 드라이브 명은 ?'+CDpath);

    end;



    델세상(http://www.freechal.com/delphiworld)의 조규춘이였습니다.



  • Profile
    이광형 2000.11.22 21:42
    안녕하세요...

    드라이브 찾는 문제는 아래를 참고 하세요...



    var

    ptr : PChar;

    iptr : PChar;

    dwSize : integer;

    str : string;

    i, type : Integer;

    begin

    dwsize := GetLogicalDriveStrings(0, Nil);

    //위 문장을 실행하면 dwsize에 전체 logical drive를 나열한 스트링의

    //총 길이가 나옵니다.



    GetMem(ptr, dwsize);

    //PChar 변수인 ptr에 메모리를 할당합니다.

    GetLogicalDriveStrings(dwsize, ptr);



    //할당된 메모리에 logical drive의 스트링을 가져옵니다.

    //정확한 건 아니지만 제 생각으로는 넘어오는 스트링의 형식은 다음과 같습니다.

    // 'a:c:d:w:'

    //드라이명 뒤에 붙는