Q&A

  • [재질문]최용일씨 부탁드립니다.
전번 내용 감사했습니다.

그런데 실행을 하면 에러는 없는데 하드 드라이브가 없는 걸로만 나옵니다.

보내주신 문장 그대로 사용하였는데도 하드 드라이브를 체크못하네요

그리고 ...

DRIVE : array[0..4] of char ;

'

'

'

DRIVE :='c:'; ======> 이것은 어떤의미인가요



꼭좀 부탁드립니다.

1  COMMENTS
  • Profile
    최용일 2000.04.20 20:01
    안녕하세요. 최용일입니다.



    제가 직접 테스트해보고 올린거니까 에러는 없습니다. 제 컴에서 실행해보면



    C, D 두개의 하드디스크가 있다고 나오는데요. GetDriveType의 리턴값을 조사해보세요.



    GetDriveType이란 API함수는 드라이브의 루트디렉토리를 PChar형태(정확히 말하면



    Null-terminated String)로 인자를 받습니다. PChar타입은 포인터입니다. 그러므로



    Drive: PChar하셔도 되지만



    이렇게 하자면 New나 GetMem같은 함수를 사용하여 메모리를 할당받아야 합니다.



    그렇기 때문에 그냥 Zero-Based 문자 배열을 썼던 것입니다.



    var

    Drive: array[0..4] of Char; // PChar 타입



    또 인자로 드라이브의 루트디렉토리를 전달해야하기 때문에



    Drive := 'c:';



    이렇게 넣어주었던 것입니다. for문을 돌리면 Drive값은 C:, D:, E:,... 이런식으로...



    ^^ 항상 즐코하세요.



    엄주평 wrote:

    > 전번 내용 감사했습니다.

    > 그런데 실행을 하면 에러는 없는데 하드 드라이브가 없는 걸로만 나옵니다.

    > 보내주신 문장 그대로 사용하였는데도 하드 드라이브를 체크못하네요

    > 그리고 ...

    > DRIVE : array[0..4] of char ;

    > '

    > '

    > '

    > DRIVE :='c:'; ======> 이것은 어떤의미인가요

    >

    > 꼭좀 부탁드립니다.