|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.10.2010, 19:59 | #1 |
Регистрация: 24.10.2010
Сообщений: 4
|
Чтение типизированого бинарного файла (ILDA)
здравствуйте, Возникла проблемма в дельфи при чтении бинарного файла.
Что за глюк? немогу прочитать правильно бинарник - с другими никогда проблемм не возникало. Бинарник структкрированый, но не хочет читаться правильно. Файл формата ILDA (пдф ку с описанием прилагаю). Файл состоит из блока заголовков и блока данных, данные читаются хорошо, а вот заголовки всё время неправильно, пробовал несколькими способами результат один. из этого файла мне нужно прочитать к примеру 3D координаты - (формат код 0,0,0,0 по описанию) я создаю новый тип Код:
Код:
Код:
результат такой: LDA 0 256 0 56473 1 244 А должен быть (смотрел в hex редакторе) (прилагаю тестовый файл). ILDA 0 формат код 0 формат код 0 формат код 0 формат код Fr00000 имя фрейма Название компании 548-Количество точек 1-номер кадра 1- количество кадров 0- Сканирующая голова 0-футура тоесть дельфи отказывается читать этот файл как структурированый. Приходится читать по 1 байту за раз анализировать и так делее в итоге код типа (сильно не смеяться я с этой проблеммой неделю вожусь уже) Код:
зато координаты читаются отлично. вот пример: Код:
читать побитно не выход, помогите прочитать этот файл. Хотя бы заголовки. |
24.10.2010, 20:53 | #2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Код:
и кстати, а побитно это как? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.10.2010, 21:04 | #3 |
Регистрация: 24.10.2010
Сообщений: 4
|
|
24.10.2010, 21:05 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
а вы посмотрели что я изменил не только packed?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.10.2010, 21:10 | #5 |
Регистрация: 24.10.2010
Сообщений: 4
|
Спасибо Помогло.
ILDA_ident : array[1..4] of ANSIChar; - я делал просто char с этим не работало. Я отвечал когда - еще ваш пример не пробовал еще, ответил только за то что пробовал. |
24.10.2010, 21:12 | #6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
АНСИ символ и ЮНИКОД символ, это разные вещи
кстати можете попробывать ANSIstring[4] поставить, может сработать(string удобнее порой) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
24.10.2010, 21:16 | #7 |
Регистрация: 24.10.2010
Сообщений: 4
|
Со стринг не получается, он не полностью строку читает, ANSIstring пробовал давно еще - там вообще ошибка вылетает при чтении.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Удалить строку из типизированого файла Delphi | prod87 | Помощь студентам | 4 | 03.07.2010 09:09 |
Windows-service.Некорректное чтение бинарного файла. | Ifmomax | Общие вопросы Delphi | 0 | 02.07.2010 16:47 |
Чтение из бинарного файла. | kir_rik | Помощь студентам | 2 | 04.06.2010 00:31 |
Удаление из типизированого файла | SnowSin | Помощь студентам | 1 | 06.12.2009 16:08 |
Запись/чтение из бинарного файла - непонятные проблемы.... | Jorgen | Общие вопросы C/C++ | 1 | 26.11.2009 11:45 |