안녕하세요. ^^;
mdir같은 파일관리 프로그램을 만들려고
TList로 파일리스트를 만들어서 출력부분까지 만들었거든요.
근데.. 이름순이나.. 확장자 순으로 정렬을 해야 될것 같은데..
방법을 모르겠네요.
제 생각에 Sort()함수를 사용하면 될것 같은데 어떻게 쓰는지 방법을
모르겠네요.
아,. 그리고 파일리스트에 디렉토리 리스트를 먼저 추가하고 파일목록을
리스트에 추가했거든요..
정렬을 해버리면.. 파일리스트에 있는 디렉토리랑 파일이랑 섞여서 정렬
될것 같은데.. 이부분도 좀 가르쳐 주심 감사하겠습니다.
^^;
즐거운 하루되시길...
> 안녕하세요. ^^;
>
> 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);
이런 형태로 쓰면 이름순으로 정렬됩니다.
그럼.. 즐거운 프로그래밍 되세요.