|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.03.2021, 01:39 | #1 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 376
|
Создать копию бинарного файла в формате txt, с разбивкой строк и адресацией.
Доброй ночи !
Суть задания : считать данные из файла bin и записать данные в файл txt, чтоб в строке 16 байт данных и присвоение адреса. Файлы от 167 байт и до больших . Считать данные из файла получается и записать данные в файл txt, но данные записываются в одну строку, а надо разбить на строки по 16 байт в строке и присвоить адрес данных. Не получается от слова совсем ни построчно разбить, ни присвоить адрес. В архиве пример тест 1 как у меня выходит, а тест2 как надо. Буду признателен за помощь. Ни когда с подобной задачей не сталкивался. Вот мой код считывания и записи : Код:
|
02.03.2021, 09:14 | #2 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
правильнее всего считать файл(bin) не целиком
Цитата:
желательно ДО считывания узнать(запомнить) адрес(позицию в файле) данной строки. а теперь вывести известный адрес и известное число байт в нужном формате. и повторить до тех пор пока есть что выводить.
программа — запись алгоритма на языке понятном транслятору
|
|
02.03.2021, 11:10 | #3 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
Вообще-то для хранения бинарных данных в текстовом виде люди придумали специальный формат.
https://ru.wikipedia.org/wiki/Intel_HEX Именно так распространяются прошивки для МК и много чего ещё. Есть даже специальные перекодировщики BinToHex. Если это не требуется - пусть будет так, для расширения кругозора. |
02.03.2021, 12:43 | #4 | ||
Форумчанин
Регистрация: 12.03.2019
Сообщений: 376
|
Цитата:
Да , Вы наверное правы я думал об этом, но в программировании ещё начинающий и мне трудно ещё воплотить в коде. И циклом пробую, не получается пока, а примеров найти не могу. Вот и тему создал. Цитата:
Да про IntelHex я знаю и мотороловский есть формат. Но задание дали именно так, микроконтроллеры здесь не при чём. Может преподаватель готовит на будущее , для работы с IntelHex и s19, не знаю, пока задание такое, надо сделать так. А для чего сам не понимаю. Выбирать не приходится. Последний раз редактировалось BDA; 11.03.2021 в 00:07. |
||
02.03.2021, 13:22 | #5 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
и примите за правило для каждого действия иметь СВОЙ отдельный объект(и переменную).
(+имена переменных должны отражать назначение объектов) в данном случае --чтение исходного файла --вывод текста "преобразованного" файла Код:
Код:
просто иллюстрация к вышеизложенному.
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось BDA; 11.03.2021 в 00:08. |
02.03.2021, 14:47 | #6 | ||
Форумчанин
Регистрация: 12.03.2019
Сообщений: 376
|
Цитата:
С переменными fbin: TMemoryStream; ftxt: TMemoryStream; согласен так наверное удобней, я честно говоря, в первый раз так вижу, опыт совсем маленький. Непонятно с переменными a и r в Вашем коде, это переменные какого типа byte , integer ? Откуда эти переменные и какого типа. Код не работает, ругается компилятор на переменные a и r . Цитата:
r := это переменная какого типа? и а тоже не понятно, я менял переменным и string и integer и byte не нравится ему и всё тут. Не понятные переменные и их тип. Последний раз редактировалось BDA; 11.03.2021 в 00:09. |
||
02.03.2021, 16:22 | #7 | ||||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Цитата:
Цитата:
r смотри что такое format http://www.delphibasics.ru/Format.php Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
||||
02.03.2021, 17:36 | #8 | |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 376
|
ответ
Цитата:
Да, написал бы , если мог бы.... Я всё ровно не понял , ясно одно : Ваш код не работает , про формат прочитал, но это не внесло ясности, почему не компилируется и выпадает в ошибку ? |
|
02.03.2021, 17:42 | #9 |
Форумчанин
Регистрация: 12.03.2019
Сообщений: 376
|
sergey.serg-72,
Пробую циклом, но записывается только 6 байт, что то в цикле не правильно делаю , но записывать надо через цикл это уже понятно, а вот как его правильно построить , это вопрос ? Код:
|
02.03.2021, 21:05 | #10 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,620
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужно создать "батник", вырезать из "2.txt" первых n строк и вставить их в "1.txt" | temphard | Помощь студентам | 2 | 03.09.2013 16:03 |
Удаление первых n-строк из txt-файла | Neksion | Помощь студентам | 2 | 10.07.2013 18:12 |
Создать чтение из файла и запись в файл txt на С++ | skifre | Фриланс | 0 | 01.06.2012 16:16 |
поиск и выципление строк из txt файла | D_e_n_n | Помощь студентам | 7 | 04.02.2011 05:39 |
C# Представление txt файла как массива строк | asheb | Помощь студентам | 7 | 20.04.2010 12:51 |