Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.04;
Скачать: CL | DM;

Вниз

Сравнение   Найти похожие ветки 

 
Ega23 ©   (2007-09-28 17:19) [40]


> Клоню к тому, что если оба объекта являются объектами единого
> класса-наследника TComponent, и св-ва, подлежащие сравнению,
>  являются опубликованными, то сравнение сводится к элементарной
> записи обоих объектов в потоки и тривиальное бинарное сравнение
> (ComareMem) содержимого этих потоков.


Нечто подобное я ещё в [1] предлагал.
Хотя для Tcomponent c его WriteComponent - действительно интересное решение.
Возьму на заметку.


 
Сергей М. ©   (2007-09-28 17:22) [41]


> Ega23 ©   (28.09.07 17:19) [40]


> Tcomponent c его WriteComponent


Точнее Read/WriteComponent - это меоды стримов, а не компонентов.
Но суть одна и та же.


 
Sandman31   (2007-09-28 17:37) [42]

Записывать в потоки, чтобы сравнить 2 объекта???
Посмотрите на то, как сравнение организовано в java. Метод equals(Object) находится в предке всех классов, а различные IDE позволяют генерировать тело метода автоматически. Да еще и hascode автоматически генерировать, чтобы правильно работали коллекции типа Hashtable.


 
ferr ©   (2007-09-28 17:38) [43]

> а различные IDE позволяют генерировать тело метода автоматически.
> Да еще и hascode автоматически генерировать, чтобы правильно
> работали коллекции типа Hashtable.

Что-то мне кажется что это дело компилятора а не ide.


 
Сергей М. ©   (2007-09-28 17:42) [44]


> Sandman31   (28.09.07 17:37) [42]



> Записывать в потоки, чтобы сравнить 2 объекта


Почему бы и нет, если свойств не так уж и много ?
Это по сути тот же циклический проход по опубликованным св-вом, но неявный.


> Метод equals(Object) находится в предке всех классов


Ничто не мешает реализовать его функц.аналог в данном случае.


 
Sandman31   (2007-09-28 17:44) [45]

ferr ©   (28.09.07 17:38) [43]

Программист может подкорректировать, если хочет.


 
Сергей М. ©   (2007-09-28 17:45) [46]


> Sandman31   (28.09.07 17:44) [45]


Кстати, наверняка существуют ДелфиIDE-эксперты, делающие то же самое.


 
Sandman31   (2007-09-28 17:46) [47]

Сергей М. ©   (28.09.07 17:42) [44]

Почему бы и нет, если свойств не так уж и много ?

1. Потому что происходят лишние операции. Особенно если отличия в первом поле.
2. Программист учится плохому :)


 
Sandman31   (2007-09-28 17:47) [48]

Сергей М. ©   (28.09.07 17:45) [46]

Надеюсь. Вот их и надо использовать, а не изобретать квадратное колесо.


 
KSergey ©   (2007-09-28 17:51) [49]

> Сергей М. ©   (28.09.07 17:42) [44]
> > Записывать в потоки, чтобы сравнить 2 объекта
> Почему бы и нет, если свойств не так уж и много ?

Да как бы это... Дороговасто, однако, получается. И памяти как минимум еще на 2 копи объекта надо...
не, комп. железный, конечно, но как-то это...


 
имя   (2007-10-07 22:11) [50]

Удалено модератором


 
имя   (2007-10-07 22:13) [51]

Удалено модератором



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

Текущий архив: 2007.11.04;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.019 c
2-1191954003
sdaf
2007-10-09 22:20
2007.11.04
IB


1-1187684815
ehhhh
2007-08-21 12:26
2007.11.04
наложение изображения


15-1190767093
DimaL
2007-09-26 04:38
2007.11.04
Связь с 1С


15-1191397694
Реактор
2007-10-03 11:48
2007.11.04
Сохранение инфы с почтового сервера.


8-1168494147
roughneck
2007-01-11 08:42
2007.11.04
Быстрый способ чтения Jpeg