Отвечает: PavelGM
Здравствуйте, Романов Александр Вячеславович!
Через указатели. Только лучше массив тоже типом сделать. Например TArray = array [0..53] of Byte; Buffer : TArray; Rec : TRec;
Тогда преобразование (для присваивания) будет выглядеть так (можно использовать эту технику и для доступа к полям без присваивания - TRec((@Buffer)^).a)
P.S. Только учтите, что такое преобразование "обходит" проверки типов и за размерами
структур вы должны следить сами.
Еще вариант просто копирование
Move(Rec, Buffer, Sizeof(Rec));
И напоследок, если хотите использовать одни и те же данные по одному адресу по-разному (без копирования и преобразований), то используйте директиву absolute. Пример: Buffer : TArray; Rec : TRec abslolute Buffer; -- Buffer и Rec будут расположены по одному и тому же адресу.
Ответ отправил: PavelGM (статус: Практикант)
Ответ отправлен: 29.12.2008, 10:33
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 239953 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5 Комментарий оценки: Спасибо!
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.