[delphi] 현재 폴더에서 파일 찾기

in #delphi8 years ago

TSearchRec는 ShellTreeView관련 컴포넌트 폴더의 파일들을 찾는데 쓰입니다. 레코드 유형의 TSearchRec은 FindFirst와 FindNext 루틴에 대한 검색 정보를 저장하는 데 사용되는 데이터 구조를 정의합니다.
http://www.delphibasics.co.uk/RTL.asp?Name=TSearchRec

다음의 예시코드를 보면서 참고하시길 바랍니다.

var
Form1: TForm1;
searchResult: TSearchRec;//파일을 찾는 데 쓰임
Found: integer;//파일을 찾는 데 쓰이는 정수 변수

procedure TForm1.GetFileList(Folder: string);//현재 폴더에 있는 파일리스트 가지고 오기
begin
Found:=FindFirst(Folder+'*.', faDirectory, searchResult); //현재디렉토리에서 *.와 매칭하는 파일을 찾습니다.
while Found = 0 do //FindFirst함수는 매칭하는 파일을 찾으면 0 값을 리턴합니다. 매칭하는 파일을 찾으면 계속 반복합니다.
begin
if((searchResult.Attr and faDirectory) <> faDirectory) then//파일 어트리뷰트와 디렉토리파일이 디렉토리파일이 아니라면?
begin
AddFile(Folder+''+searchResult.Name);//\가 포함된 파일을 리스트박스에 추가합니다.
FileRoute.Text:=ExtractFilePath(Folder+''+searchResult.Name);// \가 포함된 파일명이 출력되도록 합니다.
end;
Found:=FindNext(searchResult);//다음 매칭 파일을 찾습니다.
end;
FindClose(searchResult);//모든 매칭 파일을 찾으면 실행합니다.
end;