2010-11-21 2 views
3

저는 최근 델파이로 시작했는데 이제는 디렉토리에서 모든 mp3 파일을 가져오고 싶습니다. 나는 glob()와 같은 PHP 함수를 원한다.디렉토리의 모든 MP3 파일을 어떻게 찾을 수 있습니까?

+3

최근에 델파이로 시작한 사람은 왜 델파이 6입니까? –

+3

@Mason - 동의! Harry Potter와는 다르므로 처음부터 다시 시작할 필요가 없습니다! –

+1

@Mason Wheeler : 그는 복사본이 주위에 있었기 때문에 900 유로를 mp3를 검색하는 데 보내고 싶지 않았기 때문에? –

답변

12

그 일의 옛날 방식은 약 : 추가 라이브러리가 당신을 위해 확인 수 있습니다

var 
    status : dword; 
    sr : TSearchRec; 
begin 
    status := FindFirst('*.mp3',faAnyFile,sr); 
    while status = 0 do 
    begin 

    // sr.Name is the filename; add it to a list 
    // or something. Note there is no path so you 
    // may need to add that back on somewhere 

    status := FindNext(sr); 
    end; 
    SysUtils.FindClose(sr); 

    // ... 
end; 
+0

조건은'status = 0'이어야하는 것을 제외하고는 잘 작동합니다. – AntonLosev

3

IOUtils.T 디렉터리를 사용해보십시오.

+1

이 타입은 Delphi 6에는 존재하지 않습니다. –

+0

그런 다음 Bill99에서 제안한대로 FindFirst 등을 사용하십시오. 그것이 TDirectory가 구현되는 방법입니다. –

1

경우, 제다이 코드 라이브러리를보십시오. 단위 공통 \ JclFileUtils에서

이있다 컴팩트 도우미 함수입니다 :

function BuildFileList(const Path: string; 
    const Attr: Integer; const List: TStrings; 
    IncludeDirectoryName: Boolean = False): Boolean; 

JCL을 잘 유지하고 좋은 확장과 일부 IDE의 개선 사항이 포함되어 있습니다. http://www.delphiarea.com/products/delphi-components/findfile/

은 파일/폴더 검색을 통해 당신에게 완벽하게 제어를 제공합니다 스레드 또는 비 : 다음은 아주 좋은 무료 구성 요소가 델파이 지역에서 TFindFile입니다 http://sourceforge.net/projects/jcl/

0

에서 JCL 설치를 사용할 수있는 (아주 쉽게 사용하기)

1

델파이 FileCtrl 단위의 고대 TFileListBox은 좋은 해결책입니다.

Delphi 1 이후 및 Delphi has a nice example on how to use it에 관한 정보가 있습니다.

양식에 놓을 수 있으며 Visible = False으로 설정하면되므로 걱정할 필요가 없습니다.

필터링 (예 : 확장)을 지원하므로 * .mp3 기준으로 매우 잘 작동합니다.

- jeroen

관련 문제