Форум: "Начинающим";
Текущий архив: 2011.02.13;
Скачать: [xml.tar.bz2];
Внизсчитать байты в структуру Найти похожие ветки
← →
mem (2010-11-22 21:06) [0]Всем привет.
Type
TMyRec = record
....
end;
var
p: PChar;
MyArray: array [0..254] of TMyRec;
begin
GetMem(p, SizeOf(TMyRec) * 255);
with TFileStream.create("c:\myText.txt", fmOpenReadWrite) do
try
Seek(12134, soFromBeginning); //- тут лежит 255 записей типа TMyRec
read(p^, SizeOf(TMyRec) * 255);
//как теперь заполнить массив MyArray считанными значениями?
← →
Юрий Зотов © (2010-11-22 23:41) [1]1. Массив статический, поэтому GetMem не нужно.
2. Послеread(@MyArray[0], SizeOf(TMyRec) * 255);
массив уже заполнен считанными значениями.
3. Если среди полей TMyRec есть длинные строки или иные указатели, то весь этот код бесполезен.
← →
Сергей М. © (2010-11-22 23:41) [2]
> read(p^,
А что, читать из стрима сразу в массив тебе что-то мешает ?
ReadBuffer(MyArray, SizeOf(MyArray));
← →
Anatoly Podgoretsky © (2010-11-23 09:57) [3]> mem (22.11.2010 21:06:00) [0]
Либо P либо MyArray лишнее.
← →
mem (2010-11-23 11:27) [4]всем большое спасибо!
← →
mem (2010-11-23 11:30) [5]а как быть с отображенным в память файлом? Как тогда заполнять?
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.02.13;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c