|
답변에 감사드립니다.
말씀해신 대로 추가적인 부분은 가르쳐주신 보답으로 올립니다.
TSearchRec sr;
int iAttributes = 0;
iAttributes |= faReadOnly * 0;
iAttributes |= faHidden * 0;
iAttributes |= faSysFile * 0;
iAttributes |= faVolumeID * 0;
iAttributes |= faDirectory * 1;
iAttributes |= faArchive * 1;
iAttributes |= faAnyFile * 0;
if(FindFirst("C:\\Programs\\Pay\\*.*", iAttributes, sr) == 0) //찾는 파일이 있으면..
{
do
{
ListBox1->Items->Add(sr.Name); // 파일 이름을 메모에 추가
}while(FindNext(sr) == 0); //다음 파일로...다음찾은 파일이 없을때까지 반복
}
FindClose(sr);
FindFirst는 경로, 속성, TSearchRec 파라미터를 가르키는 구조체를 구성요소로 가지더군요.
경로는 원하는 특정 폴더의 경로를 의미하며, TSearchRec 파라미터는 검색된 파일의 시간, 파일명, 각 속성 및 핸들등을 가지고 있습니다.
프로그램에서는 파일명만을 사용하는 거지만 필요하면 윈도우 탐색기 처럼 정보를 나타낼 수 도 있습니다.
그리고 속성에 대한 부분은 7가지를 가지더군요
처음 제가 컴퓨터를 접한 것이 90년도부터였는데....
그때는 파일의 속성이라고 해서 읽기, 저장, 시스템, 숨김 형식만을 이야기했었는데
여기서는 추가적으로 볼륨, 시스템파일, 기타 파일에 대한 부분도 있군요
에구 어렵당
암튼 이 명령은 정말 좋은 거 같습니다.
예를 들어 약 10만개의 파일이 한폴더에 몰려 있는 경우(실제 이런 경우도 있습니다.) 파일을 검색해서 처리를 하려면 너무나 시간이 많이 듭니다.
가장 좋은 것은 파일명을 알고 그것만 열어서 직접처리 하는 게 최선이라고 봅니다.
파일이 천개나 이천개 정도면 그냥 일반 컴포넌트 쓰시고 만약 저처럼 엄청난 수의 파일들을 보셔야 한다면
이 명령을 사용하십시오
괜히 윈3.1 컴포넌트 좋다고 해서 10분이나 20분동안 파일들 모두 불러 들이지 말구요~
그럼 수고 하시고용
|