Главная страница
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.021 c
1-43471
aha
2004-02-29 15:26
2004.03.14
Работа с Chart , можно ли вычислить значение


1-43499
Batoon
2004-02-28 13:54
2004.03.14
For ......


11-43407
miek
2003-06-27 19:58
2004.03.14
216 ошибка при выходе


1-43556
luzhansky
2004-02-27 17:52
2004.03.14
QReport Delphi 5


14-43784
nikkie
2004-01-23 14:00
2004.03.14
получил ответ из Белого дома :)