Q&A

  • 정말 급한 질문입니다.[급합니다.]
특정 디렉토리의 화일을 모두 가져올수 있는 방법이 없나요

정말 급한데요 구원요청입니다.

1  COMMENTS
  • Profile
    구창민 2000.03.29 20:20
    황영철 wrote:

    > 특정 디렉토리의 화일을 모두 가져올수 있는 방법이 없나요

    > 정말 급한데요 구원요청입니다.





    안녕하세요~ 구창민입니다.



    아래 예제는 예전에 제가 만들어 사용하던 함수입니다.

    특정 디렉토리명을 인자로 전해주면 재귀호출을 하며 그 디렉토리의

    하부 디렉토리와 파일을 모두 목록으로 구성해 주는 함수입니다.

    저는 ListBox에서 구성되도록 해 두었으며,

    목록으로 구성될때 파일은 앞에 'F'가 붙고,

    디렉토리는 'D'가 붙도록 만들어 두었습니다.



    영철님이 원하시는 대로 조금 수정하셔서 사용하세요.



    그럼.. 즐거운 프로그래밍 하시길~



    procedure TMainForm.SearchDirectory(dir : string);

    var Searchrec : TSearchrec;

    i : integer;

    st : string ; //경로조립할 문자열

    begin

    st := dir + '*.*';

    FindFirst(st, faAnyFile, SearchRec);

    i := 0;



    while i = 0 do

    begin

    if (Searchrec.Name = '.') or (Searchrec.Name = '..') then

    begin

    i := FindNext(SearchRec); //다음 디렉토리, 화일을 찾음

    Continue;

    end;



    if DirectoryExists(dir + '' + SearchRec.Name) then //찾은게 디렉토리면..

    begin

    st := dir + '' + Searchrec.Name;

    ListBox1.Items.Add('D*'+st );

    SearchDirectory(st);

    i := FindNext(Searchrec);

    Continue;

    end;



    //찾은게 파일일 경우..

    st := dir + '' + SearchRec.Name;

    ListBox1.Items.Add('F*'+st);

    i := FindNext(SearchRec);

    end;



    end;