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

Записи   Найти похожие ветки 

← →
webpauk   (2006-12-14 17:25) [0]

можно ли сравнивать 2 переменных типа record, или только через сравнение record1.value1 c record2.value1?


← →
webpauk   (2006-12-14 17:29) [1]

type
 TmyRecord = record
    value1: Integer;
    value2: String;
    ...
  end;

var
  R1, R2: TmyRecord;

if R1<>R2 - ошибка


← →
BiN ©   (2006-12-14 17:30) [2]

CompareMem


← →
BiN ©   (2006-12-14 17:30) [3]

...только не со строками


← →
Reindeer Moss Eater ©   (2006-12-14 17:31) [4]

заменить строки на короткие и СompareMem


← →
webpauk   (2006-12-14 17:33) [5]

CompareMem(R1, R2, ?)


← →
webpauk   (2006-12-14 17:39) [6]

разобралси
спсб


← →
Reindeer Moss Eater ©   (2006-12-14 17:48) [7]

CompareMem(P1, P2: Pointer; Length: Integer)


← →
Loginov Dmitry ©   (2006-12-14 23:50) [8]

Универсальный метод:

function RecordsIsEqual(const Rec1, Rec2: TmyRecord): Boolean;
begin
 Result := (Rec1.value1 = Rec2.value1) and (Rec1.value2 = Rec2.value2) и т.д.
end;


← →
Anatoly Podgoretsky ©   (2006-12-14 23:54) [9]

> Loginov Dmitry  (14.12.2006 23:50:08)  [8]

Так все остальные методы в общем случае не работают, даже для простых данных. Поскольку выравнивание и грязные неиспользуемые байты. Вариант packed - частный случай.



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

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



Память: 0.46 MB
Время: 0.045 c
15-1165600933
Piter
2006-12-08 21:02
2006.12.31
Использование "пустых" try .. except


2-1165771806
FIL-23
2006-12-10 20:30
2006.12.31
запуск из одной процедуры другой процедуры


8-1147104191
Dstr
2006-05-08 20:03
2006.12.31
Stream и звук


2-1165689840
Pok
2006-12-09 21:44
2006.12.31
10040 Message too long


15-1166046445
sat
2006-12-14 00:47
2006.12.31
задача нужны идеи




   Наверх