Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.02.13;
Скачать: CL | DM;

Вниз

считать байты в структуру   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.01 c
2-1290450696
АЛЬБИНА
2010-11-22 21:31
2011.02.13
помогите пожалуйста


15-1289148440
faustpatron13
2010-11-07 19:47
2011.02.13
Текстовые файлы


15-1288350110
Очень злой
2010-10-29 15:01
2011.02.13
Установка программ через групповую политику active directory


2-1290171238
Alex_C
2010-11-19 15:53
2011.02.13
Сохранить в одном файле несколько файлов


15-1288781210
Sergey Masloff
2010-11-03 13:46
2011.02.13
А так хорошо начиналось... только за искусство заговорили ;-)