![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!
У меня есть файл. Вот на него ссылка: http://dl.dropbox.com/u/280706/bul_hip_art.spo Информация к файлу: Данные представлены последовательно тремя отсчетами в формате long по трем каналам (t - указатель чтения потока данных из файла): Код:
red = bufstream[t]; //канал красного fon = bufstream[t+1]; //канал фона ired = bufstream[t+2]; //канал инфракрасного Помогите, пожалуйста, прочитать данные из файла с помощью Delphi и создать по одному массиву чисел на каждый канал. Заранее спасибо. |
#2
|
||||
|
||||
![]() Ну если там действительно данные идут так как вы описали, без всяких дескрипторов промежуточных, то можно попробовать так:
Код:
Type TVideoData = record red, fon, ired: LongInt; end; var VideoData: Array of TVideoData; VideoFile: File of TVideoData; i: Integer; begin AssignFile(VideoFile, 'c:\bul_hip_art.spo'); Reset(VideoFile); i := 0; while not Eof(VideoFile) do begin SetLength(VideoData, Length(VideoData)+1); Read(VideoFile, VideoData[i]); Inc(i); end; CloseFile(VideoFile); end. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
![]() Я не очень все поняла. Дескрипторов не должно быть, такое описание файла мне прислали. Этот файл - это запись с мед прибора пульсоксиметра (он записывает данные по трем каналам, по которым в последствии строятся графики). Я так поняла, что формат long - это формат языка С++ (но не уверена до конца). Как вы думаете, это действительно так? Просто по описанию этого формата, одно число состоит из 4 байт. Если это так, мне кажется, что этот код не подходит. Либо я что-то не понимаю.
Спасибо, жду ответа. |
#4
|
|||
|
|||
![]() LongInt это и ести сишный long (4 байта целое знаковое число).
|