Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Записи [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 - ошибка


Наверх

Титульная страница Поиск, карта сайта Написать письмо