C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[52704] Re:FirstFind()로 여러 확장자를 한꺼번에 검색할 수는 없나요?
방태윤 [nabty] 2002 읽음    2008-03-15 11:32
질문이 .. 어떻게 하셨다는건지 잘 모르겠느데요...제가 추측한대로 답변드려봅니다.

아래는 FindFirst 빌더의 예제입니다. check박스부분은 제가 지웠구요.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TSearchRec sr;
  int iAttributes = 0;
  StringGrid1->RowCount = 1;
  iAttributes |= faReadOnly ;
  iAttributes |= faHidden ;
  iAttributes |= faSysFile;
  iAttributes |= faVolumeID ;
  iAttributes |= faDirectory ;
  iAttributes |= faArchive ;
  iAttributes |= faAnyFile;

  StringGrid1->RowCount = 0;
  if (FindFirst(Edit1->Text, iAttributes, sr) == 0)
  {
    do
    {
      if ((sr.Attr & iAttributes) == sr.Attr)
      {
        StringGrid1->RowCount = StringGrid1->RowCount + 1;
        StringGrid1->Cells[1][StringGrid1->RowCount-1] = sr.Name;
        StringGrid1->Cells[2][StringGrid1->RowCount-1] = IntToStr(sr.Size);
      }
    } while (FindNext(sr) == 0);
    FindClose(sr);
  }
}


여기에  Edit1->Text 에 *.pcx 넣고 돌리고 또 *.bmp 넣고 돌리고 그러신다는거지요,?

속도차이는 어떨지 모르지만

저는 Edit1->Text 에 *.* 를 넣고 sr.Name 의 확장자를 검사해서 원하는 화일만 걸러내는데요.

원하시는 답변인지 모르겠네요. ^^ㅋ



DoyongID 님이 쓰신 글 :
: *.bmp;*.pcx;*.jpg 를 하위폴더까지 검색해서 파일 리스트를 얻어오는 프로그램을 짜려고 하는데요..
:
: 위의 확장자를 한꺼번에 검사하는 방법은 없을까요?
:
: 지금은 bmp파일을 다 찾고 나서 다시 처음부터 pcx파일 찾고, 다시 처음부터 jpg 찾고... 그런 식으로 하고 있습니다..

+ -

관련 글 리스트
52701 FirstFind()로 여러 확장자를 한꺼번에 검색할 수는 없나요? DoyongID 1241 2008/03/14
52705     Re:FirstFind()로 여러 확장자를 한꺼번에 검색할 수는 없나요? o 1793 2008/03/15
52704     Re:FirstFind()로 여러 확장자를 한꺼번에 검색할 수는 없나요? 방태윤 2002 2008/03/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.