|
아 그건 선택한 폴더의 파일이 있느냐 없느냐인데
그렇게 쓰면 안되고요... 흠.. 제가 찾아보니 단순히 디렉토리가 비어있다는 함수가 없네요 ㅠ.ㅠ
혹시 찾으면 제에게도 알려주시고요 제가 좀 복잡한 방법을 갈르쳐드리죠
파일을 검색하는 방법입니다.
일단 소스는,
AnsiString CurrentDir = GetCurrentDir();
SetCurrentDir("C:\\Data\\");
HANDLE hFindFile;
WIN32_FIND_DATA FileInfo;
hFindFile = ::FindFirstFile("*.*", &FileInfo);
if(hFindFile != INVALID_HANDLE_VALUE) {
while(IsLastFind) {
// 파일처리... FileInfo.cFileName 가 파일이름입니다!
IsLastFind = ::FindNextFile(hFindFile, &FileInfo);
}
Application->MessageBox("선택한 폴더의 파일작업을 마쳤습니다.", "에러", MB_OK|MB_ICONINFORMATION);
} else {
Application->MessageBox("선택한 폴더에는 파일이 존재하지 않습니다.", "에러", MB_OK|MB_ICONERROR);
}
SetCurrentDir(CurrentDir);
이거구요
여기서
hFindFile = ::FindFirstFile("*.*", &FileInfo);
if(hFindFile != INVALID_HANDLE_VALUE) {
이부분에서 걸리면 폴더에는 파일이 없는겁니다. 아, 폴더선택은 맨위의
SetCurrentDir("C:\\Data\\"); 입니다.
글구 요부분은,
AnsiString CurrentDir = GetCurrentDir();
현재폴더설정을 저장하고 복원하기위한 수단입니다.
에구.. 함수가 없어서 이렇게 복잡해지네요..
혹시 다른분이 편한 함수 찾아서 갈켜주시면 그거쓰세요 ^^;
그럼 성공하세요
5호봉 님이 쓰신 글 :
: 답변 정말 감사드립니다..
: 한가지만 더 물어봐도 괜찮져?
: 님께서는 고정파일로 지정하셨잖아요.. 저는 C:\\Data\\ 밑에 있는 파일중에... 이렇게 해주고 싶은데..
:
: if(!FileExists("C:\\Data\\")) ShowMessage("화일이 없습니다!");
:
: 그때는 위와 같이 해주면 되나요?
:
:
:
|