Добрый день. Есть процедура,которая сортирует пару KEY--VALUE(слово--число) по значению VALUE и передает результат в ValueListEditor, для просмотра
Код:
procedure SortVLE;
(*---------------------------*)
function MyCompare(List: TStringList; Index1, Index2: Integer): Integer;
begin
Result := AnsiCompareStr(List.ValueFromIndex[Index2], List.ValueFromIndex[Index1])
end;
(*---------------------------*)
var
fSL : TStringList;
begin
fSL := TStringList.Create;
try
fSL.Text := MainForm.ValueListEditor1.Strings.Text;
fSL.CustomSort(@MyCompare);
MainForm.ValueListEditor1.Strings.Text := fSL.Text;
finally
FreeAndNil(fSL);
end
end;
Но сортировка идет немного не так как нужно, в частности:
рпрпропопр--99
пиропиррор--87
прррпррппр--33
титититьит--223
рпрпрпрпрр--12
хотя строка титититьит--223 в ValueListEditor должна быть наверху так как 223 больше чем 99
Вопрос: где ошибка и как поправить?