Получить текстовый заголовок из бинарного файла - VB

Узнай цену своей работы

Формулировка задачи:

Привет форумчанам! Есть необходимость зачитать текстовый заголовок графического файла (DICOM), не загружая весь файл. Исходя из FAQ по DICOM, длина заголовка 794 байта ("...в DICOM-файле первые 128 байт не используются (заполнены нулями), за ними следуют символы 'D', 'I', 'C', 'М'. Далее следует определенным образом сгруппированная информация заголовка, занимающая 794 байта..."). Вот их то как бы выдернуть и прочитать. На первый взгляд задача пустяковая, но уперся в нее рогом уже 3-й день! В общем-то файлики по 5 кб, можно и весь загрузить как текст и находить нужную инфу среди кракозябров, но если блокнотом файл открывается весь, а через Open ... For Input только первый блок или строка, либо вообще выдает ошибку (62: Input past end of file)! Файл корректный, приложениями для просмотра инфа из заголовков отображается правильно. Пробовал так (SR000001 - этот файл без расширения):
Листинг программы
  1. Dim MyFile
  2. Dim usr As String * 922
  3. MyFile = FreeFile
  4. Open (App.Path & "\SR000001") For Binary As #MyFile
  5. Get #MyFile, 922, usr
  6. Close #MyFile
  7. MsgBox usr
выдает 18 символов и всё (922 - длина вместе с первыми пустыми 128 байтами)! И бинарно весь файл:
Листинг программы
  1. Dim Str As String
  2. Dim FileNum As Byte
  3. FileNum = FreeFile
  4. Open App.Path & "\SR000001" For Binary As FileNum
  5. Str = Space(LOF(FileNum))
  6. Get #FileNum, , Str
  7. Text1 = Text1 & Str
  8. Close #FileNum
Вообще - 0. Подскажите, кто в теме! Файл во вложении

Решение задачи: «Получить текстовый заголовок из бинарного файла»

textual
Листинг программы
  1. Public Type hdrDICOM
  2.     Preamble(1 To 128) As Byte
  3.     DICM As Long
  4. End Type

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы