имеется структура
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-ти то вероятность ошибки велика.
по сравнению с чтением сразу структуры целиком.
Мож кто-нибуть посоветует приемлемый способ ...