|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
Преобразование неизвестного формата (.US0) в .txt11.01.2013, 23:34. Показов 5267. Ответов 30
Метки нет (Все метки)
Подскажите пожалуйста способ, как преобразовать формат .US0 (его структура известна) в .txt в Builder C++. Например, как с использованием посимвольного чтения сделать вывод на экран информации из заголовка файла и так далее, а в следствии сохранения этой информации в файле текстового формата в определенной последовательности?
0
|
|
| 11.01.2013, 23:34 | |
|
Ответы с готовыми решениями:
30
Преобразовать текст из *.txt (в любой кодировке) в картинку формата *.bmp Преобразование исходного текстового формата txt в таблицу xls |
|
273 / 241 / 56
Регистрация: 29.05.2012
Сообщений: 889
|
|
| 11.01.2013, 23:39 | |
|
Т.к. не знаю структуры опишу общие шаги.
1. Описать структуры описывающие структуру заголовка. 2. Описать дополнительные структуры. 3. Пишем код который открывает файл в режиме бинарного чтения, создаёт структуру заголовка, читает заголовок. В соответствии со структурой создаёт и заполняет дополнительные структуры. 4. Написать код который выводит в текстовый файл инф. в нужном вам виде.
1
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 11.01.2013, 23:45 [ТС] | |
|
Вот структура данного файла.
Чтобы описать структуры необходимо задавать массивы, как я понимаю?
0
|
|
|
|
||
| 12.01.2013, 15:10 | ||
|
Omniknight, вероятно, документ битый, вордом не открывается - проверь и еще раз выложи.
![]() Добавлено через 25 минут Ну, слегка битый оказался - libreoffice пофыркал малость и открыл. ![]() Впредь лучше выкладывай в виде текста или изображения. Вот то, что открылось:
Приведи информацию полностью и еще выложи один файлик .US0 для измывательств общественности.
0
|
||
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 04.02.2013, 00:41 [ТС] | |
|
Файл полностью открылся, или то что выложили - это все что открылось?
Суть в том, что сначала идет заголовок один, потом множество паспортов, а потом идет информация. Файл формата .US0 занимает большой объем памяти. Сюда вряд ли его можно разместить. Постараюсь найти минимального размера и выложить.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 05.02.2013, 00:26 [ТС] | |
|
Я скоро в Питер вернусь и выложу все корректно.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 15.02.2013, 11:19 [ТС] | |
|
Структура файлов формата УС0
Файл УС0 предназначен для хранения ТМИ медленноменяющихся параметров и состоит из следующих полей: – заголовок файла (от 40 до 295 байт); – таблица паспортов; – наименование и значения ТМП. Структура заголовка приведена в таблице П.1.1. Таблица П.1.1 – Структура заголовка файла УС0 УС0 Имя изделия Имя испытания Дата испытания ТН ТК КП РФ L Комментарий 4 байта 8 байтов 8 Байтов 8 байтов 4 байта 4 байта 2 байта 1 байт 1 байт (L) байтов В первом четырехбайтном поле находятся литеры УС0. В полях "имя изделия", "имя испытания" и "дата испытания" содержатся символьные строки по восемь байт. Поля ТН и ТК содержат начальное и, соответственно, конечное время из этого файла и задаются в формате числа с плавающей точкой. Поля КП (количество паспортов) и L (длина комментария) являются целыми без знака, при значении L равным нулю комментарий отсутствует. В комментарии первые четыре байта в формате числа с плавающей точкой занимает временная поправка, по которой производится пересчет текущего времени. Структура паспорта объекта приведена в таблице П.1.2. Таблица П.1.2 – Структура паспорта объекта Имя объекта Индекс Ф Т А0 А1 Размерность параметра 12 байтов 2 байта 1 байт 1 байт 4 байта 4 байта 8 байтов Поля “Имя объекта” и “Размерность параметра” – символьные. Поля “Индекс”, “Ф” (формат объекта) и “Т” (тип объекта) являются целыми без знака. Поля “А0” и “А1” (масштабные коэффициенты) задаются в формате числа с плавающей точкой. Существуют следующие форматы объектов: а) 0 - массив (кадр, строка) неопределенной длины; б) 1 - длина 1 байт; в) 2 - длина 2 байта; г) 4 - длина 4 байта; д) 8 - длина 8 байтов. Выделяют несколько типов объектов: а) 0 - время в формате числа с плавающей точкой; б) 1 - измеряемый параметр в кодовом виде; в) 2 - измеряемый параметр в виде масштабированного целого без знака; г) 3 - измеряемый параметр в виде числа с плавающей точкой; д) 4 - структура измерительной системы; е) 5 - элемент структуры; ж) 6 - время в формате беззнакового целого. При рассмотрении структуры паспорта необходимо учитывать следующее: а) масштабные коэффициенты А0 и А1 используются для типов объекта 2 и 3. б) допустимые сочетания форматов и типов объектов отмечены в таблице П.1.3. Таблица. П.1.3 – Допустимые сочетания форматов и типов объектов Формат Тип объекта 0 1 2 3 4 5 0 Х Х Х 1 X X X X 2 X X X X X 4 X X X X X X 8 X в) имя структуры измерительной системы не должно превышать восьми символов, а имя элемента структуры при этом содержится в виде, представленном в таблице П.1.4. Таблица. П.1.4 – Вид имени элемента структуры Имя структуры Номер (адрес) элемента в данной структуре 8 байтов 4 байта Возможны следующие разновидности файлов: а) 0 - универсальный файл. б) 2 - В6Н. в) 1 - файл с укороченным индексом. В файле с укороченным индексом отличие от файла В6Н заключается лишь в формате представления поля "Индекс" Таблица. П.1.5– Вид массива файла с укороченным индексом ХХ Индекс 2 бита 14 битов Два бита ХХ содержат индикатор длины значения параметра и означают следующее: – 00 - массив переменной длины; – 01 - значение занимает 2 байта; – 10 - значение занимает 4 байта; – 11 - значение занимает 8 байтов. В файле с укороченным индексом однобайтные коды не допускаются. г) 3 - c кодами (признаками) ошибки. Структура файла УС0 с дешифрованной информацией Для унификации всей дешифрованной информации в качестве базовой выбрана разновидность файла УС0 - файл с укороченным индексом. Паспорта объектов имеют следующие поля: а) формат объекта: 4 - длина четыре байта; б) типы объекта определяются исходя из значений таблицы 1.3: 1) Т = 1 и Т = 3; 2) для временной информации Т = 0 и Т = 6. Диапазон изменения индекса от 0 до 65535, т.е. два байта. Значение параметра определенно форматом объекта - четыре байта.
0
|
|
|
|
|
| 16.02.2013, 12:15 | |
|
Omniknight, таблицы в таком виде нечитабельны, хоть картинки выложи что ли...
И выкладывай уже файлик для тестирования - пусть он будет большой, инет сейчас у многих позволяет не беспокоиться за траффик.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 18.02.2013, 22:32 [ТС] | |
|
Вот снимок.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 18.02.2013, 22:33 [ТС] | |
|
http://webfile.ru/6384716
вот ссылка на файл формата УС0
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 02.03.2013, 10:47 [ТС] | |
|
http://files.mail.ru/DFC4225EE... ABB39E5DCA
Вот здесь хранится файл в zip.
0
|
|
|
|
||||||
| 03.03.2013, 11:08 | ||||||
|
Структурки заголовков можно так оформить:
Понятно, в каком виде хранятся заголовки, однако неясно, как хранятся сами данные. Что за массивы неопределенной длины - где задается их размер? Что за "структура измерительной системы"? Добавлено через 11 часов 52 минуты Хотя, нет, это я вроде соврал... там же куча однобайтовых массивов и более объемные типы стоят на кратных позициях. Если выравнивание поставить в один байт, то вполне можно читать структуры целиком. Это надо попробовать.
1
|
||||||
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
||||||
| 03.03.2013, 11:22 [ТС] | ||||||
|
Это тема моей выпускной квалификационной работы, хотя программированием никогда я не занимался. Но дипломный руководитель говорил, что нужно файл открывать в посимвольном чтении. Вот какой он дал пример:
0
|
||||||
|
|
|
| 03.03.2013, 11:32 | |
|
Это просто вычитка файла в массив char и отображение в таблице в виде пар "литера - число". Пример этот не имеет практически никакого отношения к теме.
Если нужно таким же макаром читать эти US0 - милости прошу. ![]() А так нужно больше информации по формату, выбивай ее из препода.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 03.03.2013, 11:42 [ТС] | |
|
А что нужно именно спросить, я в этом деле совсем чайник. Он пример этот дал, но ни какой пользы мне это не принесло. Пример я сделал, но он не рабочий.
0
|
|
|
|
|||
| 03.03.2013, 13:14 | |||
|
Как потом идут данные? Что они из себя представляют и где именно задается размер каждого отдельно взятого куска данных? Еще у тебя упоминаются различные разновидности файлов данного формата: универсальный, ВН6, с укороченным индексом и с дешифрованной информацией. Выложенный тобой файл к каким относится?
0
|
|||
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 03.03.2013, 13:26 [ТС] | |
|
В данной программе должен использоваться ус0 с укороченным индексом.
В ус0 после паспортов идут значения параметров с привязкой их к шкале времени. В войсках используется программа на подобие по созданию отчетов, делается в принципе тоже самое, сейчас выложу руководство той программы. Добавлено через 4 минуты http://files.mail.ru/205C1C941... 57E16B54A4 здесь файл с руководством оператора.
0
|
|
|
0 / 0 / 0
Регистрация: 11.01.2013
Сообщений: 18
|
|
| 03.03.2013, 14:00 [ТС] | |
|
Я пробовал, просто нельзя было(( велик размер
0
|
|
| 03.03.2013, 14:00 | |
|
Помогаю со студенческими работами здесь
20
Чтение из файла неизвестного формата
Загрузить в мемо текст из неизвестного .txt с известным path Исследование "неизвестного" формата (отрезать начало файла до определённого заголовка) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|