제네릭에는 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)
comfyui 에서 cuda 에러나는 경우 조치방법
해당 comfyui 가상 환경에 설치하여야 함 cd C:\Users\jglee\AppData\Roaming\StabilityMatrix\Packages\ComfyUI PS C:\Users\jglee\AppData\Roaming\StabilityMatr...

-
윈도우10에 있는 음성 녹음기는 간단하게 녹음 할 때 간편하고 좋다. 곰 녹음기를 사용하면 오늘기준으로 CPU 점유율이 35% 이상 올라가 맥의 팬이 돌아간다. 윈10의 음성녹음기는 좋은 데 저장 폴더가 디폴트로 되어 있어 사용하기 불편하다. ...
-
클라이언트가 HTTP프로토콜을 이용해서 서버에 무언가를 전달할 때 Get 이나 Post가 사용됩니다. GET은 주소줄에 값이 ?뒤에 쌍으로 이어붙고 여러개일 경우에는 & 으로 반복하고, POST는 숨겨져서(body안에) 보내집니다. GET...
-
도학(제도?)에 쓸만한 가볍고 무료인 2D 캐드가 없나 찾던중 LibreCAD 라는 것을 찾아서 설치하여 도면을 그려보려 했더니 상당히 적응이 안되더군요. 너튜브에 자료가 있으나 별로도움이 안되고, 기본적인것 몇가지만 익히면 금방적응이 될것이라는...
댓글 없음:
댓글 쓰기