Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.14;
Скачать: CL | DM;

Вниз

Сортировка ListView в режиме vsReport при нажатии на заголовок   Найти похожие ветки 

 
CRACKISH ©   (2004-03-02 10:51) [0]

Люди вот нашел такой прикол (Спасибо MBo), но у меня delphi выдает в этой функции:
/function CustomNameSortProc(Item1, Item2: TListItem; ParamSort: integer): integer
item.Caption := sr.name;
Item.SubItems.Add(datetimetostr(filedatetodatetime(sr.time)));
end;
until FindNext(sr) < > 0;
FindClose(sr);
end;

такие ошибки:

[Error] Rey.pas(236): Unknown directive: "item"
[Error] Rey.pas(239): Declaration expected but "UNTIL" found
[Error] Rey.pas(241): "." expected but ";" found


Помогите пожалуйста решить проблему! Зарание благодарен!


 
Тимохов ©   (2004-03-02 10:55) [1]

код приведите корректный (где begin)


 
CRACKISH ©   (2004-03-02 10:58) [2]

Вот весь код:
function CustomDateSortProc(Item1, Item2: TListItem; ParamSort: integer):
integer; stdcall;
begin
result := 0;
if strtodatetime(item1.SubItems[0]) > strtodatetime(item2.SubItems[0]) then
Result := 1
else if strtodatetime(item1.SubItems[0]) < strtodatetime(item2.SubItems[0])
then
Result := -1;
end;

function CustomNameSortProc(Item1, Item2: TListItem; ParamSort: integer): integer
item.Caption := sr.name;
Item.SubItems.Add(datetimetostr(filedatetodatetime(sr.time)));
end;
until FindNext(sr) < > 0;
FindClose(sr);
end;

procedure TForm1.lv1ColumnClick(Sender: TObject; Column: TListColumn);
begin
if column = lv1.columns[0] then
LV1.CustomSort(@CustomNameSortProc, 0)
else
LV1.CustomSort(@CustomDateSortProc, 0)
end;


А вот где я ее нашел: http://delphiworld.by.ru/base/listview_sort.html


 
Тимохов ©   (2004-03-02 11:04) [3]

это лажа какая-то

> function CustomNameSortProc(Item1, Item2: TListItem; ParamSort:
> integer): integer
> item.Caption := sr.name;
> Item.SubItems.Add(datetimetostr(filedatetodatetime(sr.time)));

Это что? Где здесь begin. Вы что-то неверно скопировали.


 
Тимохов ©   (2004-03-02 11:05) [4]

Посмотрел по ссылке - там тоже лажа.
Кусок пропал куда-то.
Допишите сами.
В CustomNameSortProc надо сделать сравнение имен.
Очевидно, что там есть "левый" кусок от заполнения таблицы.


 
NAlexey ©   (2004-03-02 11:05) [5]

>А вот где я ее нашел:
БА! Неужели действительно там такое есть?


 
Тимохов ©   (2004-03-02 11:06) [6]

Думаю, что уважаемый MBo просто ошибся при копировании текста.


 
CRACKISH ©   (2004-03-02 11:07) [7]

Да я код скопировал ссайта! Написал автору, но он молчит!!! Может люди этого форума помогут мне????


 
Тимохов ©   (2004-03-02 11:11) [8]

Помогаю.
Напишите тело CustomNameSortProc по аналогии.
типа того

function CustomNameSortProc (....)...
begin
Result := -CompareText(Item1.Caption,Item2.Caption);
end;


 
CRACKISH ©   (2004-03-02 11:15) [9]

А может кто-то предложит альтернативный вариант Сортировки ListView в режиме vsReport при нажатии на заголовок????


 
Тимохов ©   (2004-03-02 11:17) [10]

Событие OnCompare и метод AlphaSort


 
Тимохов ©   (2004-03-02 11:18) [11]

Чем вам 8 не подошло - кусок же из штатного хелпа взят, т.е. работает.


 
ssk   (2004-03-02 11:22) [12]

компонент, в котором реализовано то, о чем говорил Тимохов © (02.03.04 11:11) [8]

http://www.ucad.pisem.net/dmlistview.zip


 
MBo ©   (2004-03-02 12:45) [13]

правильный цитатник здесь ;))

http://www.lmc-mediaagentur.de/dpool/tips/1159.htm



Страницы: 1 вся ветка

Текущий архив: 2004.03.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
14-43869
Sergey_Masloff
2004-02-18 22:43
2004.03.14
последний номер Мир ПК


3-43346
Денисыч
2004-02-15 00:57
2004.03.14
Запрос SQL в TQuery


1-43510
OlimPer
2004-02-28 21:22
2004.03.14
ListView


4-43947
kor@lex
2004-01-07 12:55
2004.03.14
Caption Bar


14-43890
Думкин
2004-02-20 15:39
2004.03.14
С днем рождения! 20 февраля.