Q&A

  • TList에서 Sort()함수 사용법?
안녕하세요. ^^;



mdir같은 파일관리 프로그램을 만들려고

TList로 파일리스트를 만들어서 출력부분까지 만들었거든요.

근데.. 이름순이나.. 확장자 순으로 정렬을 해야 될것 같은데..

방법을 모르겠네요.

제 생각에 Sort()함수를 사용하면 될것 같은데 어떻게 쓰는지 방법을

모르겠네요.



아,. 그리고 파일리스트에 디렉토리 리스트를 먼저 추가하고 파일목록을

리스트에 추가했거든요..

정렬을 해버리면.. 파일리스트에 있는 디렉토리랑 파일이랑 섞여서 정렬

될것 같은데.. 이부분도 좀 가르쳐 주심 감사하겠습니다.



^^;

즐거운 하루되시길...

1  COMMENTS
  • Profile
    구창민 1999.10.08 19:09
    강민주 wrote:

    > 안녕하세요. ^^;

    >

    > mdir같은 파일관리 프로그램을 만들려고

    > TList로 파일리스트를 만들어서 출력부분까지 만들었거든요.

    > 근데.. 이름순이나.. 확장자 순으로 정렬을 해야 될것 같은데..

    > 방법을 모르겠네요.

    > 제 생각에 Sort()함수를 사용하면 될것 같은데 어떻게 쓰는지 방법을

    > 모르겠네요.

    >

    > 아,. 그리고 파일리스트에 디렉토리 리스트를 먼저 추가하고 파일목록을

    > 리스트에 추가했거든요..

    > 정렬을 해버리면.. 파일리스트에 있는 디렉토리랑 파일이랑 섞여서 정렬

    > 될것 같은데.. 이부분도 좀 가르쳐 주심 감사하겠습니다.

    >

    > ^^;

    > 즐거운 하루되시길...



    Sort메소드를 쓰기 위해서는 TListSortCompare형의

    함수가 필요하므로 만들어 주어야합니다.



    예를들어 이름과 나이를 가지는

    아래형태의 구조체를 선언하고,

    type

    TMan = Record

    Name : String[20];

    Age : Integer;

    end;



    아래와 같은 함수형태를 만든뒤,

    function CompareWithName(Item1, Item2 : Pointer) : Integer;

    begin

    Result := CompareStr(TMan(Item1^).Name, TMan(Item2^).Name);

    end;



    호출할땐,

    TList명.Sort(CompareWithName);

    이런 형태로 쓰면 이름순으로 정렬됩니다.



    그럼.. 즐거운 프로그래밍 되세요.