Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.04 c
2-1165968733
ph0sgen
2006-12-13 03:12
2006.12.31
Загрузка DLL


11-1142536671
Lakearo
2006-03-16 22:17
2006.12.31
Прозрачный TextOut


15-1165089940
Cyrax
2006-12-02 23:05
2006.12.31
Java - это же не Yava...


15-1166040455
palva
2006-12-13 23:07
2006.12.31
Gmail открыли для всех


15-1165919871
Jus
2006-12-12 13:37
2006.12.31
ADSL подключение