Начнем, пожалуй.
function CompareInt(Item1, Item2: Pointer): Integer;
begin
Result:=0;
if Integer(Item1)>Integer(Item2) then
Result:=1
else
if Integer(Item1)<Integer(Item2) then
Result:=-1;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
List1.Sort(@CompareInt);
end;
Так как класс Tlist в общем случае достаточно универсальное средство для организации динамических массивов, то заранее не известно (классу), какого типа он будет хранить данные. Потому и метод сортировки, хоть и есть, но без твоей помощи он не справится. Потому в качестве параметра метод Sort принимает адрес функции, которая должна "уметь" сравнивать два элемента твоего массива.
Так как у тебя массив содержит ценые числа, то функцию, которая будет сравнивать два элемента массива я назвал CompareInt (по аналогии с хелпом

).
Она возвращает -1, если Item1 < Item2; 0, если Item1=Item2; 1, если Item1>Item2.
Далее просто в метод Sort передаем в качестве параметра адрес на эту функцию.
И все.
Не знаю, понятно ли объяснил, так как объяснять то я вообще не умею