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
[3479] Re:어설픈 답변2
zoro [] 3350 읽음    2000-05-19 00:00
권윤진 님이 쓰신 글 :
: 디렉토리를 자동을 세어주는 함수는 없나여?..
: 디렉토리 안에있는 예를 들어..
: c드라이브 밑에 temp라는 디렉토리가 있다면.. 그 템프안에있는 디렉토리의 수를 카운트하는 법은?
: 꼭 아라야 하는데.. 참.. 서브 서브디렉토리는 포함하지 않습니다...
: 부탁합니다.

제가 워낙초짜라 잘모르지만 자동적으로 그렇게해주는 함수는 모르겠구요...
두 가지 방법이 있겠죠...아마도...
첫째로는
  DirectoryListBox를 이용하는거죠.. 이건 그냥
  폼에 부쳐서 해당 디렉토리로 체인지 디렉토리 한 후에
  DirectoryListBox->Item->Count롤 알수 있겠죠...
두번째는
  findfirst와 findnext 글구 findclose를 이용해서 갯수를 셀 수
  있을거여요~~..(win api도 있구 vcl 함수도있구 등...)
  예를 들면..

int __fastcall TForm1::GetCount()
{
  WIN32_FIND_DATA fd;
  HANDLE hFind;
  char *path = "C:\\Windows\\Temp\\*.*"; // 현재 구하시고 싶은 디렉토리위치 + \\*.*
  int count = 0;

  hFind = FindFirstFile(path, &fd);
  while (hFind != INVALID_HANDLE_VALUE && bRet) {
    if ((fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)) {
      count++;
    }
    bRet = FindNextFile(hFind, &fd);
  }
  FindClose(hFind);
  // 아마도 여기나온 count에서 2를 빼야 할거여요...
  // 왜냐면 .(현재 자기자신)놈하고 ..(상위디렉토리)놈들이 들어 오거든요..
  return count - 2;
}

확인은 안해본 코드니까 이상하시면 help를 이용하셔서
쓰시기 바랍니다..

즐거운 하루 되십시요....

+ -

관련 글 리스트
3476 디렉토리의 수를 카운트 하는 방법 권윤진 3307 2000/05/19
3479     Re:어설픈 답변2 zoro 3350 2000/05/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.