Главная страница
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.021 c
11-1175550542
nsvi
2007-04-03 01:49
2007.11.04
Не могу найти пакет KOLNTprivileges, про который пишет в своей кн


2-1192393803
Ярослав
2007-10-15 00:30
2007.11.04
0,146 <> 0,146!!!


15-1190835191
Eraser
2007-09-26 23:33
2007.11.04
Delphi, механизм документирования кода


2-1192368884
Blind Guardian
2007-10-14 17:34
2007.11.04
Странная штука с записью и чтением в и из файла


15-1191477876
PPop
2007-10-04 10:04
2007.11.04
Проверить, с какой стороны лежит точка.