Вниз
Скачать: 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.028 c
15-1165573913
plotn
2006-12-08 13:31
2006.12.31
Иконки


3-1161186750
Shopot
2006-10-18 19:52
2006.12.31
InterBase. Не могу найти WISQL!!!


15-1165819931
Priest
2006-12-11 09:52
2006.12.31
Подскажите как конструктор называется


4-1156328889
sem2001
2006-08-23 14:28
2006.12.31
Процессы


15-1165582706
pasha_golub
2006-12-08 15:58
2006.12.31
lex for pascal




   Наверх