![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Записи [D6, XP]
webpauk © (2006-12-14 17:25:00)можно ли сравнивать 2 переменных типа record, или только через сравнение record1.value1 c record2.value1?
Anatoly Podgoretsky (2006-12-14 23:54:00) [1]> Loginov Dmitry (14.12.2006 23:50:08) [8]
Так все остальные методы в общем случае не работают, даже для простых данных. Поскольку выравнивание и грязные неиспользуемые байты. Вариант packed - частный случай.
Loginov Dmitry (2006-12-14 23:50:00) [2]Универсальный метод:
function RecordsIsEqual(const Rec1, Rec2: TmyRecord): Boolean;
begin
Result := (Rec1.value1 = Rec2.value1) and (Rec1.value2 = Rec2.value2) и т.д.
end;
Reindeer Moss Eater (2006-12-14 17:48:00) [3]CompareMem(P1, P2: Pointer ; Length: Integer)
webpauk (2006-12-14 17:39:00) [4]разобралси
спсб
webpauk (2006-12-14 17:33:00) [5]CompareMem(R1, R2, ?)
Reindeer Moss Eater (2006-12-14 17:31:00) [6]заменить строки на короткие и СompareMem
BiN (2006-12-14 17:30:00) [7]CompareMem
BiN (2006-12-14 17:30:00) [8]...только не со строками
webpauk (2006-12-14 17:29:00) [9]type
TmyRecord = record
value1: Integer;
value2: String;
...
end;
var
R1, R2: TmyRecord;
if R1<>R2 - ошибка