Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.09.2011, 21:28
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию Сортировка в ListView

Сортировка в 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  
Старый 29.09.2011, 13:30
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Странно, отправил сообщение, но оно не появилось. Пишу повторно.
У меня ругани нет. Но я не описывал процедуры в паблике юнита, т.к. не понял, где это? На всякий случай, ещё убрал stdcall, т.к. в примере Справки по Delphi их нет.
Ответить с цитированием
  #3  
Старый 29.09.2011, 18:32
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Код:
public
    { Public declarations }

Мб проблема в версии дельфи? у меня стоит 2010
Ответить с цитированием
  #4  
Старый 29.09.2011, 18:35
Кодер Кодер вне форума
Активный
 
Регистрация: 25.02.2008
Сообщения: 395
Репутация: -599
По умолчанию

Проблема была в том, что не стоило их описывать в паблике, нужно было просто замострячить их в код программы
Ответить с цитированием
  #5  
Старый 29.09.2011, 18:48
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

Не знаю, как в 2010, но у меня Public относится к описанию класса (напр., формы). Unit у меня только в первой строке, а также названия модулей в предложениях 'uses'. У вас точно 'public' как-то связано с 'unit'?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:24.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025