제네릭에는 TCompare 가 준비 되어 있습니다.
앞의 TArray 에서 소팅을 할때 기본적으로 올림차순으로 하였습니다.
자신만의 소팅을 하기위하여
1. 실제 비교 할 방법을 선언하고
private
function iThisCompare(const Left, Right: string): integer;
2. 구현하고
function TForm3.iThisCompare(const Left, Right: string): integer;
begin
Result:= CompareText(Left,Right);
end;
3. 소팅을 합니다.
procedure TForm3.Button4Click(Sender: TObject);
begin
TArray.Sort<string>(iArray,TComparer<string>.construct(iThisCompare))
end;
4. XE 버전 부턴가 익명메소드가 가능해 졌습니다.
위의 2에서 3 단계를 한방에 코딩하면
procedure TForm3.Button5Click(Sender: TObject);
begin
TArray.Sort<string>(iArray,TComparer<string>.construct(
function(const left, right: string): integer
begin
Result:= CompareText(Left, right);
end
));
end;
예전에 TList 에서는 @iCompareName 방법으로 불러 왔었지요.
참고 : MyList.Sort(@CompareName);
2012년 10월 18일 목요일
피드 구독하기:
댓글 (Atom)
델파이의 부활(Antigravity와의 만남)?
델파이 프로그램을 사용하여 개인적으로 필요한 프로그램을 생성해 왔는데, 얼마전부터 파이썬으로 옮겨갔다. 그런데 Google 의 Antigravity를 만나고 나서 델파이에 대한 미련을 버리지 못해 제미나이가 Delphi이에 대한 학습도 엄청 했을...
-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
해당 comfyui 가상 환경에 설치하여야 함 cd C:\Users\jglee\AppData\Roaming\StabilityMatrix\Packages\ComfyUI PS C:\Users\jglee\AppData\Roaming\StabilityMatr...
-
오렌지에서 이상치 데이터를 처리하는 위젯은 Outliers Widget을 사용합니다. Row Select Widget에서도 수동으로 값을 입력하여 처리할 수 있습니다. 1. 먼저 연습에서 자주 사용되는 가공되기 전의 Titanic 데이터를 다운받습니...
댓글 없음:
댓글 쓰기