|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
||||||
Чтение бинарного файла10.06.2011, 16:12. Показов 8262. Ответов 18
Метки нет (Все метки)
Добрый день, ребята помогите разобраться с проблемой, читаю бинарный файл с последующим отображением содержимого в компоненте Memo. При этом текст набранный кирилицей отображается в виде абракадабры, перепробовал разные варианты все в пустую. Я разрабатываю в CodeGear 2009, а в этой версии они перешли на Unicode и поэтому нужно преобразовать формат данных. Ниже приведен код:
0
|
||||||
| 10.06.2011, 16:12 | |
|
Ответы с готовыми решениями:
18
Чтение бинарного файла
|
|
return (true);
1977 / 1112 / 221
Регистрация: 19.04.2011
Сообщений: 2,346
|
|
| 10.06.2011, 17:10 | |
|
Такой огород вместо Memo1->Lines->LoadFromFile печален
0
|
|
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 10.06.2011, 17:22 [ТС] | |
|
Такое решение напрашивается само собой, но к сожалению не снимает проблемы с кодировкой
0
|
|
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 10.06.2011, 18:32 [ТС] | |
|
Файл который я читаю с лету в memo не загружается, появляется только первая строчка в виде абракадабры
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
| 10.06.2011, 20:32 | |
|
Arushan, если файл бинарный, ты не можешь его загрузить как текстовый файл!!!
Добавлено через 3 минуты http://ru.wikipedia.org/wiki/Двоичный_файл http://ru.wikipedia.org/wiki/Текстовый_файл Все числа, содержащиеся в двух бинарных файлах одновременно, переписать в третий файл
0
|
|
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 10.06.2011, 20:57 [ТС] | |
|
Как же мне решить эту проблему, ведь я его почти прочитал, не коректно отображаются только символы на кирилице
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
||||||
| 10.06.2011, 23:11 | ||||||
|
Если файл не бинарный, а проблема только с кодировкой, могут помочь вот такие варианты
Добавлено через 29 минут Если хочешь, можешь прикрепить свой файл, я тебе скажу, какой он - бинарный или нет. Если текстовый, скажу, в какой кодировке. Или сам: 1. Открываешь в Акелпаде 2. Если файл будет бинарным, акелпад выдаст предупреждение 3. Если файл текстовый, внизу окна, в статус баре будет поле "определить кодировку" 4. Нажимаешь на него, будет определена кодировка
0
|
||||||
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 10.06.2011, 23:40 [ТС] | |
|
Maluda, я попробовал твой код, на варианте Sysutils::TEncoding::Unicode пишет абракадабру, а на остальных ничего не показывает. Прикрепиь файл не удается, пишет некорректный файл.
0
|
|
|
|
|
| 11.06.2011, 11:10 | |
|
Ну вы даете!!! если файл бинарный, первое что необходимо знать это структуру бинарника...
1. Ты знаешь? Далее...это с++, используй TFileStream или fstream. Добавлено через 1 минуту 2. от куда у тебя этот файл?
0
|
|
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|||
| 11.06.2011, 11:38 | |||
|
Arushan, я же тебе написал если файл не бинарный!!!
Короче, прикрепляй файл и получишь по нему полный расклад.
0
|
|||
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 11.06.2011, 13:26 [ТС] | |
|
Привет всем, файл упаковал надеюсь теперь получится.
0
|
|
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
|
| 11.06.2011, 14:01 [ТС] | |
|
Файл просил Maluda.
Добавлено через 2 минуты Что касается структуры, то он состоит из области заголовка в которой содержится описание записанной информации (дата, размер и пр.) и области данных.
0
|
|
|
|
||||||
| 11.06.2011, 14:47 | ||||||
|
структура описывается как
Вопрос тогда другой. Как ты записал туда информацию? Это необходимо знать, так как если ошибешься хотя бы на байт, информацию считает не правильно!!!
1
|
||||||
|
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
|
|
| 11.06.2011, 17:23 | |
|
Файл текстовый, кодировка 866 OEM русская
Первая часть файла вот такая **************************************** ******************** TN-Reader версия 3.2.1.55 Nov 11 2004 тел.(095)556-73-91 кассета версия 500, серийный N 124, устройство сбора - ТН1ПК, серийный N 200124 Файл данных **************************************** ******************** Изделие "Ми-28Н", бортовой N 304, полет N 1 - 17.03.2009 в 14:00 Режим N 1 из 3, размер режима - 2*375*389*184 байт ЗАПИСЬ - 17.03.2009, Начало в 0:31:51, Окончание в 1:38:25 ЧТЕНИЕ - 29.04.2011 в 15:58 **************************************** ******************** Задание - N 1, размер задания - 32896 байт ------------------------------------------------------------ Частота следования меток времени - 1024 Гц Последовательный код RS - Линии: Линия 1 - код RS-422/485, частота = 115.2 кБод, длина слова = 8 бит, число стоп-битов - 1, четность - без четности Линия 2 - код RS-422/485, частота = 115.2 кБод, длина слова = 8 бит, число стоп-битов - 1, четность - без четности Последовательный код МКИО - Линии: Основная линия 1 Резервная линия 1 Основная линия 2 Резервная линия 2 Параллельный код - Гамма-К Информация ARINC - Регистрация с прореживанием - Адреса: Вход 0 адрес 000 - коэффициент прореживания = 1 Вход 0 адрес 001 - коэффициент прореживания = 1 Вход 0 адрес 002 - коэффициент прореживания = 1 Вход 0 адрес 003 - коэффициент прореживания = 1 Вход 0 адрес 004 - коэффициент прореживания = 1 Вход 0 адрес 005 - коэффициент прореживания = 1 Вход 0 адрес 006 - коэффициент прореживания = 1 Вход 0 адрес 007 - коэффициент прореживания = 1 Вход 0 адрес 010 - коэффициент прореживания = 1 Вход 0 адрес 011 - коэффициент прореживания = 1 Вход 0 адрес 012 - коэффициент прореживания = 1 Вход 0 адрес 013 - коэффициент прореживания = 1 Вход 0 адрес 014 - коэффициент прореживания = 1 Вход 0 адрес 015 - коэффициент прореживания = 1 Вход 0 адрес 016 - коэффициент прореживания = 1 Вход 0 адрес 017 - коэффициент прореживания = 1 Вход 0 адрес 020 - коэффициент прореживания = 1 Вход 0 адрес 021 - коэффициент прореживания = 1 Вход 0 адрес 022 - коэффициент прореживания = 1 Вход 0 адрес 023 - коэффициент прореживания = 1 Вход 0 адрес 024 - коэффициент прореживания = 1 Вход 0 адрес 025 - коэффициент прореживания = 1 Вход 0 адрес 026 - коэффициент прореживания = 1 Вход 0 адрес 027 - коэффициент прореживания = 1 Вход 0 адрес 030 - коэффициент прореживания = 1 Вход 0 адрес 031 - коэффициент прореживания = 1 Вход 0 адрес 032 - коэффициент прореживания = 1 Вход 0 адрес 033 - коэффициент прореживания = 1 Вход 0 адрес 034 - коэффициент прореживания = 1 Вход 0 адрес 035 - коэффициент прореживания = 1 Вход 0 адрес 036 - коэффициент прореживания = 1 Вход 0 адрес 037 - коэффициент прореживания = 1 Вход 0 адрес 040 - коэффициент прореживания = 1 Вход 0 адрес 041 - коэффициент прореживания = 1 Вход 0 адрес 042 - коэффициент прореживания = 1 Вход 0 адрес 043 - коэффициент прореживания = 1 Вход 0 адрес 044 - коэффициент прореживания = 1 Вход 0 адрес 045 - коэффициент прореживания = 1 Вход 0 адрес 046 - коэффициент прореживания = 1 Вход 0 адрес 047 - коэффициент прореживания = 1 Вход 0 адрес 050 - коэффициент прореживания = 1 Вход 0 адрес 051 - коэффициент прореживания = 1 Вход 0 адрес 052 - коэффициент прореживания = 1 Вход 0 адрес 053 - коэффициент прореживания = 1 Вход 0 адрес 054 - коэффициент прореживания = 1 Вход 0 адрес 055 - коэффициент прореживания = 1 Вход 0 адрес 056 - коэффициент прореживания = 1 Вход 0 адрес 057 - коэффициент прореживания = 1 Вход 0 адрес 060 - коэффициент прореживания = 1 Вход 0 адрес 061 - коэффициент прореживания = 1 Вход 0 адрес 062 - коэффициент прореживания = 1 Вход 0 адрес 063 - коэффициент прореживания = 1 Вход 0 адрес 064 - коэффициент прореживания = 1 Вход 0 адрес 065 - коэффициент прореживания = 1 Вход 0 адрес 066 - коэффициент прореживания = 1 Вход 0 адрес 067 - коэффициент прореживания = 1 Вход 0 адрес 070 - коэффициент прореживания = 1 Вход 0 адрес 071 - коэффициент прореживания = 1 Вход 0 адрес 072 - коэффициент прореживания = 1 Вход 0 адрес 073 - коэффициент прореживания = 1 Вход 0 адрес 074 - коэффициент прореживания = 1 Вход 0 адрес 075 - коэффициент прореживания = 1 Вход 0 адрес 076 - коэффициент прореживания = 1 Вход 0 адрес 077 - коэффициент прореживания = 1 Вход 0 адрес 100 - коэффициент прореживания = 1 Вход 0 адрес 101 - коэффициент прореживания = 1 Вход 0 адрес 102 - коэффициент прореживания = 1 Вход 0 адрес 103 - коэффициент прореживания = 1 Вход 0 адрес 104 - коэффициент прореживания = 1 Вход 0 адрес 105 - коэффициент прореживания = 1 Вход 0 адрес 106 - коэффициент прореживания = 1 Вход 0 адрес 107 - коэффициент прореживания = 1 Вход 0 адрес 110 - коэффициент прореживания = 1 Вход 0 адрес 111 - коэффициент прореживания = 1 Вход 0 адрес 112 - коэффициент прореживания = 1 Вход 0 адрес 113 - коэффициент прореживания = 1 Вход 0 адрес 114 - коэффициент прореживания = 1 Добавлено через 1 минуту Остальная часть - это шифрованные данные - очень похоже на бортовой самописец или "чёрный ящик" по другому Добавлено через 1 минуту Arushan, короче ты решил стать самым умным и расшифровать "чёрный ящик" вертолёта ![]() Для этого есть специальный код дешифровки!!!
1
|
|
|
1 / 1 / 0
Регистрация: 05.05.2011
Сообщений: 22
|
||||||
| 12.06.2011, 10:49 [ТС] | ||||||
|
Привет всем, спасибо за посильную помощь. Но вопрос как изменить кодировку прочитанной информации для отображения в Memo в нормальном виде все еще остается не решенным. Что касается файла то пишу его не я моя задача представить информацию в нем в удобоваримом виде.
Добавлено через 3 минуты Я предполагаю, что здесь i
0
|
||||||
|
|
|
| 12.06.2011, 20:22 | |
|
а почитать самому про ОЕМ в АНСИ и пр. ? где найти ? в интернете, быстрее всего...
0
|
|
| 12.06.2011, 20:22 | |
|
Помогаю со студенческими работами здесь
19
Чтение/запись определенного количества байт из бинарного файла Чтение бинарного файла и построение графика на основе его данных
Чтение бинарного файла - чтение первых 9 байт Внешняя сортировка бинарного файла (чтение после конца файла невозможно) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
|
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO
Апнулись до NET10.
Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта
так и в интерактивном режиме. из сложностей - чисто функциональный подход.
Решил. . .
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|