Текущий архив: 2006.12.31;
Скачать: 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 вся ветка
Текущий архив: 2006.12.31;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.045 c