Вниз
Скачать: CL | DM;

Record - сравнивание записей   Найти похожие ветки 

← →
igordth ©   (2009-07-30 17:01) [0]

При сравнивании записей выдает ошибку несовместимость типов:

...
var
 Art: array[1..500] of TArtist;
 ArtMem:TArtist;
 dat:file of TArtist;
...
for i:=1 to j do
while not Eof(dat) do begin
read(dat,ArtMem);
if Art[i]=ArtMem then          //тутачки ошибочка!!!
Break
else
...

возможно ли вообще такое сравнивание??


← →
clickmaker ©   (2009-07-30 17:24) [1]

> возможно ли вообще такое сравнивание??

нет. см., например, EqualRect()


← →
igordth ©   (2009-07-30 17:35) [2]

спасибо, хотел покороче написать


← →
Юрий Зотов ©   (2009-07-30 20:00) [3]

Если записи упакованы и не содержат указателей, то "покороче написать" можно через CompareMem.


← →
Anatoly Podgoretsky ©   (2009-07-31 13:15) [4]

Ты про то, что разные указатели могут указывать на одинаковые, но разные данные?


← →
Юрий Зотов ©   (2009-07-31 15:12) [5]


> Anatoly Podgoretsky ©   (31.07.09 13:15) [4]

Угу. Точнее - у одинаковых по сути данных могут быть разные адреса.


← →
Тимохов_   (2009-08-03 12:51) [6]

Не согласен с 3 в общем случае, даже если нет указателей.

Например вещественные типы могут иметь разное бинарное представление (comparemem даст "не равно"), но по сути иметь одинаковое значение с точностью до машинного епсилон.

В общем я за то, чтобы писать явное сравнение в любом случае, т.е. сделать сравнение (по правилам, применимым к сравниваемому типу) для каждого члена записи и объединить его AND.

Ну это я так, зужу.


← →
Anatoly Podgoretsky ©   (2009-08-03 13:17) [7]

CompareMem может вызвать проблемы с .NET

Я тоже за поелементное сравнение, но в случае с float не явное, а относительное сравнение.



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.007 c
2-1292935575
adigozelov
2010-12-21 15:46
2011.03.20
Treeview1.items.itemid


15-1291659561
bss
2010-12-06 21:19
2011.03.20
Как определяют PR и тИЦ сайтов?


2-1293439574
NanoTek
2010-12-27 11:46
2011.03.20
Поменять шрифт Редактора кода


1-1249657830
ягость
2009-08-07 19:10
2011.03.20
Удалить строки из RichEdit


1-1249031018
Scyth
2009-07-31 13:03
2011.03.20
Отображения объектов DLL по ссылкам




   Наверх