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
[45667] Re:Re:답변 감사합니다.(null)
장동훈 [] 1064 읽음    2006-07-15 23:33
xiles 님이 쓰신 글 :
: TList의 sort를 사용하냐 안하냐 하는것은 전혀 상관이 없습니다.
: TList에서 sort 하는 것은 사용자가 정의한 (어떤 것을 앞쪽에 어떤것을 뒤쪽에 위치시킬지 비교하는) 함수를
: 사용하기 때문이죠..
:
: CompareProc 안의 내용을 어떻게 채우느냐에 따라 TList의 sort는 사용자 마음데로 할 수 있습니다.
: 아래 소스에 보면 strcmp 함수를 사용하셨는데, lstrcmp 함수를 사용해보세요.
:
: 스트링 비교함수들도 여러가지가 있는데..각각 어떤 기준으로 비교를 할지 다릅니다.
: lstrcmp 함수의 경우에는 윈도우 언어 설정에 맞추어서 정렬을 하게 되어 있습니다.
: CompareString 함수 같은 것을 쓰면, 특정 locale에 맞추어서 정렬을 할 수도 있습니다.
:
: 장동훈 님이 쓰신 글 :
: : //아이템 정보
: : class TFileInfo : public TObject
: : {
: : public:
: :     __fastcall TFileInfo();
: :
: :     AnsiString strFileName;
: :     AnsiString strFileExtName;
: : };
: :
: : __fastcall TFileInfo::TFileInfo()
: : {
: :     strFileName = "";
: :     strFileExtName = "";
: : }
: :
: : //정렬 함수
: : int __fastcall CompareProc(void * Item1, void * Item2)
: : {
: :     return strcmp((char *)((TFileInfo *)Item1)->strFileName.c_str(),
: :         (char *)((TFileInfo *)Item2)->strFileName.c_str());
: : }
: :
: : //파일정보 입력
: : TList *pList = new TList;
: :
: : FindFirst(gPath+"*.*", faAnyFile, SearchRec);
: :    do
: :   {
: :    TFileInfo *tInfo = new TFileInfo;
: :     tInfo->strFileName = SearchRec.Name;
: :     pList->Add(tInfo);
: :   }while((FindNext(SearchRec) == 0));
: : FindClose(SearchRec);
: :
: : pList->Sort(CompareProc); 
: : --------------------------------------
: : 위와 같이 폴더당 파일 이름을 얻어와 TList를 이용하여 리스트를 구현 하였습니다. 정렬 방법을 고민하다, TList의 sort기능 있다는걸 보고 게시판을 검색하여 sort방법을 구현 하였습니다
: : 근대 정렬 결과가 탐색기랑 비교햇을때 다르게 나오더군여
: :
: : #탐색기 d:드라이브로 볼시
: : __Ex__
: : 유틸들
: : windows
: :
: : #pList 소트시 보기
: : windows
: : __Ex__
: : 유틸들
: :
: : 위와 같은식으로 영문이 먼저 정렬되고 그리고 특수 문자가 정렬되고 한글폴더명이 정리되는것 같은데요..
: : 어떻게 하면 탐색기와 같이 특수 문자 정렬휴 한글 정렬후 영문으로 정렬되나요??
: : TList의 sort를 이용하지 않고 따로 정렬 루틴을 구현해주어야하는건가요??
: : 궁금합니다..

+ -

관련 글 리스트
45664 TList 의 sort를 이용시 한글과특수문자는 어떻게 정렬하나요..? 장동훈 2166 2006/07/15
45665     Re:TList 의 sort를 이용시 한글과특수문자는 어떻게 정렬하나요..? xiles 2092 2006/07/15
45667         Re:Re:답변 감사합니다.(null) 장동훈 1064 2006/07/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.