![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Сортировка в ListView (vsReport) по клику на шапке столбца.
Гугл: Код:
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; stdcall; begin Result := CompareText(Item1.Caption,Item2.Caption); end; procedure TForm1.GetFilesClick(Sender: TObject); var sr:tsearchrec; Item: TListItem; begin if FindFirst('e:\*.*',faAnyFile, sr) = 0 then repeat if (sr.Attr and faDirectory) <> sr.Attr then begin item:=lv1.items.add; 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; Ругается на CustomNameSortProc и CustomDateSortProc([DCC Error] uMain.pas(172): E2036 Variable required) *процедуры описал в паблике юнита. |
#2
|
|||
|
|||
![]() Странно, отправил сообщение, но оно не появилось. Пишу повторно.
У меня ругани нет. Но я не описывал процедуры в паблике юнита, т.к. не понял, где это? На всякий случай, ещё убрал stdcall, т.к. в примере Справки по Delphi их нет. |
#3
|
|||
|
|||
![]() Код:
public { Public declarations } Мб проблема в версии дельфи? у меня стоит 2010 |
#4
|
|||
|
|||
![]() Проблема была в том, что не стоило их описывать в паблике, нужно было просто замострячить их в код программы
|
#5
|
|||
|
|||
![]() Не знаю, как в 2010, но у меня Public относится к описанию класса (напр., формы). Unit у меня только в первой строке, а также названия модулей в предложениях 'uses'. У вас точно 'public' как-то связано с 'unit'?
|