Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Считывание данных со стрима


Camaro ©   (2013-02-15 16:19:00) 

есть запись вида:

PHeader = ^THeader;
THeader = packed record
 Signature: TSignature;
 Version: TVersion;
end;

размер записи 8 байт, она пишется в стрим. после нее пишутся какие-то данные длинной 8 б.

[8 байт ][8 байт ][8 байт ][8 байт ][8 байт ][8 байт ]
------------------------------------------------------
[THeader][Данные ][THeader][Данные ][THeader][Данные ]

если при считывании данные происходит ошибка, нужно перескочить на следующий хидер, чет на поиму как это сделать.


Anatoly Podgoretsky   (2013-02-16 07:46:00) [1]

> turbouser  (15.02.2013 17:47:04)  [4]

“устанавливаем позицию + “
Вот это и делай.


turbouser   (2013-02-15 17:47:00) [2]

запоминаем позицию
try
читаем 8 байт
except
обрабатываем ошибку
end
устанавливаем позицию + 8 байт

в чем проблема то?


Camaro   (2013-02-15 17:04:00) [3]


> Обычно в Header пишут ещё и длину блока данных.

длина блока данных постоянная - 8 байт


Ega23   (2013-02-15 17:01:00) [4]

Обычно в Header пишут ещё и длину блока данных.


turbouser   (2013-02-15 16:50:00) [5]

И как происходит считывание?


Наверх

Титульная страница Поиск, карта сайта Написать письмо