Как бы при чтении структуры из файла "перевернуть" значения
От: Аноним  
Дата: 01.04.04 14:20
Оценка:
имеется структура
TRec = record
   x,y,z : integer;
end;


файл представляет собой следующий набор байтов
 00 00 02 00 00 00 03 00 00 00 04 00


данные цифры имеют смысл — числа 512, 768, 1024

но при чтении
 FileSream.ReadBuffer(Rec, sizeof(TRec));


получаются другие значения , т.к. они рассматриваются как $00020000, $00030000, $00040000
вот и не понятно как быть. Перевернуть впринципе не очень сложно. Но как избавится от того чтобы зачитывать каждое поле структуры отдельно.
т.е. пока вижу только способ
  Rec.x := MyFileStream.MyReadSwappedInt;
  Rec.y := MyFileStream.MyReadSwappedInt;
  Rec.z := MyFileStream.MyReadSwappedInt;


ладно когда 3 поля , но когда их около 50-ти то вероятность ошибки велика.
по сравнению с чтением сразу структуры целиком.

Мож кто-нибуть посоветует приемлемый способ ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.