Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Вниз

Как можно сравнить два объекта?   Найти похожие ветки 

 
Кевларвестов Семен   (2007-02-22 12:32) [0]

Добрый день! В TObjectList грузится некторые объекты (одинаковые)
Можно ли как то сделать проверку, чтобы туда не попадали одинаковые.
(С одинаковыми свойствами), собственно, что не проверять каждый из параметров.
Думал сработает TobjectList.IndexOf(SomeObject), но она постоянно выдает -1. Может можно взять какую-нить так хэш функцию от объекта или еще как то их "быстро" сравнить?


 
TUser ©   (2007-02-22 14:09) [1]

Можно быстро проверить все published свойства.


 
Ega23 ©   (2007-02-22 14:13) [2]

Проверить значение указателя не объект. Если они отличаются - значит объекты УЖЕ разные.


 
Kolan ©   (2007-02-22 14:20) [3]

> В TObjectList грузится некторые объекты (одинаковые)

В некоторых объектах реализовать процедуру
function IsSame(AObjectLikeMe: TSomeObbject): Boolean;
и проверять при добавлении с помощью неё...

А еще можно перекрыть оператор "="


 
Kolan ©   (2007-02-22 14:20) [4]

> А еще можно перекрыть оператор "="

Наверно :) Я не пробовал...


 
default ©   (2007-02-22 14:21) [5]

в .NET у базового класса Object определён метод Equals который в своеё базовой реализации сравнивает сначала ссылки ссылки не объекты, потом типы объектов, потом уже данные



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.03.18;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.063 c
15-1171652725
Cyrax
2007-02-16 22:05
2007.03.18
Ни у кого не возникает неприязни к смайликам типа ":)"


2-1172323509
kail
2007-02-24 16:25
2007.03.18
Режим картинки


2-1172167065
Novichok_New
2007-02-22 20:57
2007.03.18
Снова ListView (+ Hint)


15-1172334357
Stan
2007-02-24 19:25
2007.03.18
Выравнивание данных


2-1172216426
Belorus
2007-02-23 10:40
2007.03.18
Сохранение записи в файл.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский