Добрый день. Есть код который из Строка и ЧИСЛО делает Объект и передает его в Список(TStringList)
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | procedure TForm1 . Button1Click(Sender: TObject);
function MakePare( const DataStr: string ; const DataInt: integer ):TStringList;
begin
Result:=TStringList . Create;
MakePare . AddObject(DataStr, Pointer (DataInt));
end ;
var DataInt: integer ; DataStr: string ; Buff:TStringList;
begin
DataStr:=Edit2 . Text;
if Edit1 . Text <> '' then
DataInt:=StrToInt(Edit1 . Text)
else
DataInt:= 1 ;
Buff:=MakePare(DataStr,DataInt);
gStore . AddStrings(Buff);
Memo1 . Text:=gStore . Text;
FreeAndNil(Buff);
end ;
|
Теперь нужно (после накопления некоторого количества строк в списке) провести сортировку по значению число и вывести пару СТРОКА-ЧИСЛО с максимальным значением ЧИСЛО из СПИСКА
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | procedure TForm1 . Button2Click(Sender: TObject);
function Compare(List: TStringList; Index1, Index2: Integer ): Integer ;
begin
if Integer (List . Objects[Index1])> Integer (List . Objects[Index2]) then Result:=- 1
else if Integer (List . Objects[Index1])< Integer (List . Objects[Index2]) then Result:= 1
else Result:= 0 ;
end ;
var T: TStringList;
begin
T:=TStringList . Create;
T . AddStrings(gStore);
T . CustomSort(@Compare);
Edit3 . Text:=IntToStr();
Edit4 . Text:=T[ 0 ];
FreeAndNil(T);
end ;
|
Вопрос: как вывести в Edit3.Text:=IntToStr(); ЧИСЛО из СПИСКа???