아래 프로그램은 TList를 이용해서..
String으로된 데이타를 저장하고 불러내는 예제입니다..
Function CompareList는 사용하고자 하는 데이타에 따라서..
코딩을 변경해주어야 합니다..
삭제 및 다른 메소드들의 사용법은 아래를 참고하신 후라면..
금새 아실 수 있을 거 같아서..^^
From 류..
---------
implementation
Var
List : TList;
// Sort를 하기위해서는 반드시 필요합니다..
Function CompareList(Item1,Item2:Pointer):Integer;
Var
stTemp1, stTemp2 :^String;
Begin
stTemp1:= Item1;
stTemp2:= Item2;
If stTemp1^ < stTemp2^ then Result:= -1
Else
If stTemp1^ = stTemp2^ then Result:= 0
Else
Result:= 1;
End;
procedure TForm1.FormCreate(Sender: TObject);
begin
List:= TList.Create;
end;
// List에 추가
procedure TForm1.Button1Click(Sender: TObject);
Var
stList :^String;
Loop : Integer;
begin
For Loop:= 1 to 30 do
Begin
New(stList);
List.Add(stList);
End;
end;
// List에 추가된 순서대로 Memo 콤포넌트로 Display
procedure TForm1.Button2Click(Sender: TObject);
Var
Loop : Integer;
stTemp :^String;
begin
Memo1.Lines.Clear;
For Loop:= 0 to List.Count-1 do
Begin
stTemp:= List.Items[Loop];
Memo1.Lines.Add(stTemp^);
End;
end;
// Sortting, 그리고 걸리는 시간 표시
procedure TForm1.Button3Click(Sender: TObject);
Const
CLOCK_TICK : Double = 1000;
Var
StartTime, EndTime : Double;
begin
StartTime:= GetTickCount;
List.Sort(CompareList);
EndTime:= GetTickCount - StartTime;
ShowMessage(Format('Elapsed Time: %0.2f Seconds', [EndTime/CLOCK_TICK]));
end;
end.
|