Автор Иван Лапшин задал вопрос в разделе Другие языки и технологии
Делфи запись/чтение массива в поток TFileStream и получил лучший ответ
Ответ от Diablo[гуру]
читать в массив чаров
Ответ от Лайт Ягами[гуру]
Потому что строки без заданого размера - это указатель на строку в памяти. Задавайте в структуре размеры строк, тогда будет записываться блоками. Типа такого:
TTest = Record
a:string[32];
ba:string[48];
c:string[32];
end;
И ещё, если собираешься структуру писать или читать из файла - рекомендуется record заменить на packed record, чтобы не зависеть от настроек компилятора и выравнивания полей в памяти.
Потому что строки без заданого размера - это указатель на строку в памяти. Задавайте в структуре размеры строк, тогда будет записываться блоками. Типа такого:
TTest = Record
a:string[32];
ba:string[48];
c:string[32];
end;
И ещё, если собираешься структуру писать или читать из файла - рекомендуется record заменить на packed record, чтобы не зависеть от настроек компилятора и выравнивания полей в памяти.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Делфи запись/чтение массива в поток TFileStream
Delphi, работа с файлами
1. Вы используете методы доступа к файлам, которые устарели лет на 15-20, сегодня они используются
подробнее...