Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.023 c
14-43810
syte_ser78
2004-02-22 00:29
2004.03.14
free delphi


3-43327
чайник1
2004-02-17 11:28
2004.03.14
Резервное копирование


1-43560
LAndreyV
2004-02-27 18:05
2004.03.14
Компиляция с поддержкой БД. Как?


14-43855
тихий вовочка
2004-02-21 11:45
2004.03.14
По-моему непосильная работа


8-43692
Alex55555
2003-11-11 12:16
2004.03.14
Звук




   Наверх