Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сортировка в TObjectList 
:(
    Опции темы
1122
  Дата 20.11.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 109
Регистрация: 24.10.2007

Репутация: нет
Всего: нет



Всем привет всем. Помогите отсортировать массив объектов по значению переменной в поле класса, из объектов которого и состоит массив TObjectList.

Код

procedure TMainForm.Timer2Timer(Sender: TObject);
var
numb: integer;
Begin
....
  files.name:=str;
  files.number:=numb;
  MyObjectList.Add(files);
....
MyObjectList.Sort.... ???? < -------
....
end;


Собственно как отсортировать содержимое MyObjectList по полю files.number ?

Это сообщение отредактировал(а) 1122 - 20.11.2009, 23:45
PM MAIL   Вверх
Демо
Дата 20.11.2009, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Вот пример из Help:

Код

function CompareNames(Item1, Item2: Pointer): Integer;
begin
   Result := CompareText((Item1 as TComponent).Name, (Item2 as TComponent).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
   List1.Sort(@CompareText);
end



--------------------
    
PM MAIL ICQ Skype   Вверх
Dom
Дата 21.11.2009, 07:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 7.8.2005

Репутация: 3
Всего: 4



Да, в хелпе написано именно так, но по-моему правильнее, когда передается указатель на процедуру CompareNames, а не CompareText. 

Код

function CompareNames(Item1, Item2: Pointer): Integer;
begin
   Result := CompareText((Item1 as TComponent).Name, (Item2 as TComponent).Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
   List1.Sort(@CompareNames);
end;

PM MAIL   Вверх
Демо
Дата 21.11.2009, 15:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(Dom @  21.11.2009,  07:45 Найти цитируемый пост)
Да, в хелпе написано именно так, но по-моему правильнее, когда передается указатель на процедуру CompareNames, а не CompareText. 


Какая разница-то как назвать? smile 



--------------------
    
PM MAIL ICQ Skype   Вверх
Christoph
Дата 21.11.2009, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 667
Регистрация: 23.1.2008
Где: Харьков

Репутация: 5
Всего: 11



Демо, разницы нет, ты описал CompareNames, и передаешь в методе указатель на совсем другую функцию (COmparetext)


--------------------
user posted image
PM MAIL ICQ   Вверх
Демо
Дата 21.11.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 7
Всего: 50



Цитата(Christoph @  21.11.2009,  16:59 Найти цитируемый пост)
Демо, разницы нет, ты описал CompareNames, и передаешь в методе указатель на совсем другую функцию (COmparetext)


Вот ведь блин.

Ты читать-то умеешь? Приведён пример из Help - Как сортировать в TObjectList.
Как назвать функцию, как изменить пример из Help применительно к своей задаче - дело автора вопроса.

Название функции в Help не является предметом дискуссии темы этого топика.

Это сообщение отредактировал(а) Демо - 21.11.2009, 18:15


--------------------
    
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1456 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.