Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2021, 18:33   #31
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
if i>0 then
s:=... //как и было с запятой
else
s:=... //БЕЗ запятой
Евгений этот момент понял и уяснил , огромный ГУД Вам !!!


Код:
 count :=fbin.Read(b[0], BYTES_IN_LINE);
for i := 0 to count - 1 do
if i>0 then
s :=s+','+''+ IntToHex(b[i],2)
else
s :=s+''+''+ IntToHex(b[i],2);
s := s+', ' + sLineBreak;
ftxt.Write(s[1], Length(s));
end;
Цитата:
Сообщение от evg_m Посмотреть сообщение
если текст(шапка) должен быть ОДИН раз то и выводить его надо не в цикле, а ДО.
А вот этот момент не уяснил, не понял, что значить выводить ?
Я до цикла переменной G типа string присвоил шапку, так как шапка постоянная и не меняется то её надо записывать наверное первой, а не выводить? Честно говоря этот момент не понял

Код:
 G:='S9030000FC, ';

Последний раз редактировалось BDA; 14.03.2021 в 06:38.
sergey.serg-72 вне форума Ответить с цитированием
Старый 08.03.2021, 23:09   #32
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
тата:
Сообщение от evg_m
если текст(шапка) должен быть ОДИН раз то и выводить его надо не в цикле, а ДО.
Ну ни как не получается , делал так :
Код:
 s:=g+sLineBreak;
до цикла, получается с верху шапка всё вроде как надо но дальше через каждую строчку выводится, как в цикле блин.
Вложения
Тип файла: txt Тест -2.bin.txt (753 байт, 3 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 09.03.2021, 06:22   #33
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,285
По умолчанию

Про выравнивание - подумал, раз добавляется смещение, то понадобится и выравнивание смещения, но форматы srec и intelhex не накладывают ограничений на адрес (если судить по описанию с википедии). Если преподаватель не предлагает сделать, то лучше не надо - это не в одну строку кода добавляется. Про нехватку примеров - открыл первый попавшийся самоучитель по Дельфи (Иллюстрированный самоучитель по Delphi 7 для начинающих), примеры есть. Просто изучение предполагается с самых основ, чтобы узнать, какие есть доступные операторы, встроенные функции и т.д., а как их применить к конкретной задаче уже на совести программиста. Легче всего списать у разбирающего одногруппника, заодно спросив про непонятные моменты, так как он уже потратил время и имеет представление о решаемой задаче. Про заказ программы - тут всё зависит от обговоренных условий: необходимость комментариев к коду, использование или нет внешних библиотек, ооп или только процедурное программирование, да даже словесное описание реализации. Так сказать, любой каприз за ваши деньги. По поводу шапки, нужно перед циклом while просто записать строку в поток:
Код:
s := 'S9030000FC, ';
ftxt.Write(s[1], Length(s));
while fbin.Position < fbin.Size do
Не понимаю, правда, зачем вам запятая и пробел в конце строк. И вообще запятые, если их нет в srec и intelhex. Да и сама эта строка кодирует конец блока в srec, а не заголовок.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 09.03.2021, 23:31   #34
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Думаю, что следующим этапом преподаватель скажет выровнять адреса в выходном файле по 16 байтам.
Добрый вечер ! BDA , Вы как Ванга , в точку ударили сегодня на уроке препод именно , это и потребовал. Вы как в воду смотрели....
Благодаря Вашей помощи и помощи Евгения, сегодня я одним из первых, выполнил задание
Препод в шоке был, я один из безнадёжных горе программистов, сегодня его удивил....
В папке задание сегодняшнее , на котором большинство завалились.
Блестяще благодаря Вам и Евгению, заметьте, а не книгам .
В задание надо было с имитировать конвертацию, по примеру оригинала.
Вложения
Тип файла: rar Конвертер имитация смещения.rar (456.7 Кб, 2 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 09.03.2021, 23:48   #35
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Не понимаю, правда, зачем вам запятая и пробел в конце строк. И вообще запятые, если их нет в srec и intelhex. Да и сама эта строка кодирует конец блока в srec, а не заголовок.
Вы не понимали, я тоже не совсем понимал, но догадывался (препод «непредсказуем»)и правильно сделал, второе сегодня задание было, проставить двоеточие потребовал препод.
И это не для srec и intelhex. как он объяснил , а для закрепления работы с файлами.
И этот момент благодаря своевременной подсказке Евгения удалось решить, естественно запятые, на : заменил и всё. Очень своевременно, иначе завалился бы сегодня однозначно.
Очень благодарю за помощь.
sergey.serg-72 вне форума Ответить с цитированием
Старый 10.03.2021, 00:25   #36
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от sergey.serg-72 Посмотреть сообщение
Сообщение от BDA
Не понимаю, правда, зачем вам запятая и пробел в конце строк. И вообще запятые, если их нет в srec и intelhex. Да и сама эта строка кодирует конец блока в srec, а не заголовок.
Забыл архив приложить с заданием №2
Двоеточие и в конце байт контрольной суммы точка
Задание в архиве.
Вложения
Тип файла: rar задание №2.rar (455.4 Кб, 2 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 10.03.2021, 00:54   #37
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Про выравнивание - подумал, раз добавляется смещение, то понадобится и выравнивание смещения, но форматы srec и intelhex не накладывают ограничений на адрес (если судить по описанию с википедии). Если преподаватель не предлагает сделать, то лучше не надо - это не в одну строку кода добавляется.
Не знаю как на счёт выравнивания, мне кажется выравнивание нормально, не нормально, что байты контрольной суммы строки не совпадают, такое ощущение , что в s19 и hex подсчитывается по другому как то. Или в подсчёт идут байты адреса и количества.
Только начал читать про s19 и hex, пока изучаю.
Что касается не надо, то я бы с Вами согласился но приговор, сегодня прозвучал....
Конечным заданием будет либо srec, либо hex .
Препод сказал, что пол группы будет писать srec, остальная половина hex, будет жребий, кто, чего вытянет. Я тоже сказал бы не надо, но кто меня спрашивает ...
Так что я прав оказался, так и знал, к чему препод клонил....
Вопрос в другом : что выпадет, srec, или hex ?
К концу марта +- будет контрольная.
Вот BDA, для Вас тяжело как я понял, а что лузерам делать ?
Начал по тихоньку и srec и hex читать википедию, в идеале , хорошо бы и тем и тем овладеть.
В архиве задание сегодняшнее , близко к оригиналу, но как я понял, там количество байт в строке надо учитывать и смещение в srec, в hex вроде нет смещения.
Только начал изучать, но могу ошибаться
В идеале в коде не большие дополнения и мне кажется можно из этого материала сделать.
Вложения
Тип файла: rar Конвертер имитация смещения.rar (456.7 Кб, 1 просмотров)
sergey.serg-72 вне форума Ответить с цитированием
Старый 10.03.2021, 01:02   #38
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от BDA Посмотреть сообщение
Про нехватку примеров - открыл первый попавшийся самоучитель по Дельфи (Иллюстрированный самоучитель по Delphi 7 для начинающих), примеры есть. Просто изучение предполагается с самых основ, чтобы узнать, какие есть доступные операторы, встроенные функции и т.д., а как их применить к конкретной задаче уже на совести программиста.
Да Вы правы не спорю, но это скорей для тех, кто в дальнейшем будет программистом, чьё это будет ремесло, а тем кто вынужден заниматься , хотя знает, что программистом не будет (другая специфика). и главное : мне со здоровьем не очень повезло, из больниц почти не вылазию, когда выхожу, мне по основным предметам надо постоянно навёрстывать, выхожу и за голову хватаюсь, столько приходится учить на бегу (чтоб догнать группу) тут уж извините, не до томов по программированию... Хотя безусловно Вы правы на все 100%.

Цитата:
Сообщение от BDA Посмотреть сообщение
По поводу шапки, нужно перед циклом while просто записать строку в поток:
Огромное спасибо за помощь, Вы очень вовремя помогли, завалился бы сегодня, опоздай Вы на день.
Я ступил, делал то всё правильно в начале, просто вот этот момент напрочь почему то не учитывал :
Код:
ftxt.Write(s[1],Length(s));
Мне казалось что запись в конце, один раз и всё запишет .
А надо было с начало шапку записать, потом файл.
Благодаря Вам, уяснил ещё один, важный урок.
Зато теперь могу шапку в начале и в конце писать и знаю, как это делать.
В Вашем коде Вы забыли +sLineBreak;
Полностью так перед циклом :
Код:
 s:='S0030000FC,'+sLineBreak;
ftxt.Write(s[1],Length(s));
while fbin.Position < fbin.Size do
В связи с чем появился вопрос : Вы знаете, о таком моменте , когда используешь sLineBreak , или #13#10 что к выходу файла добавляются 2 байта, как я понял это конец строки?
Сегодня когда делали прогой конвертацию, то в редакторе при сравнении с файлом препода и моим нет расхождений, всё гуд ! а вот размеры отличались в два байта.
Препод спросил как это устранить? а я не готов . Сейчас только прочитал.
Как я понял, при работе с memo, перед загрузкой файла, просто очищаешь memo и всё, двух байт конец строки не будет. А как делать при конвертации файла? Как избавится от этих двух байт конец строки - перенос строки?
И второй вопрос, что лучше использовать : sLineBreak , или #13#10 в инете, мнения расходятся
Вот опять неизвестность нарисовалась. Я думаю что файлы много подводных камней ещё имеют...

Цитата:
Сообщение от BDA Посмотреть сообщение
Про заказ программы - тут всё зависит от обговоренных условий: необходимость комментариев к коду, использование или нет внешних библиотек, ооп или только процедурное программирование, да даже словесное описание реализации. Так сказать, любой каприз за ваши деньги
Естественно на Дельфи , комментарии к коду и желательно по шаговые, каждое действие, каждая строчка описываются подробным комментарием ( нам потом объяснять преподу и чтоб усвоить урок, а не тупо отмазаться, это не пройдёт) . Пример уже есть, моя прога имитация, у препода конверторы почти, как у меня (его форму и брали в пример), у препода нет, ни каких библиотек, как он сказал, всё должно делаться в один клик , окно для смещения (edit) и две кнопки загрузки файла и ни чего лишнего и огромного кода,ни библиотек но главное конвертер, должен корректно работать.
Одним словом, чем меньше и проще код, тем лучше .
Без широких обхватов, говоря военным языком и длинных и трудно понятных кодов.
Всё . Интересуюсь не только я, но и ребята с группы .
сколько это будет стоить ?
Очень нравится конверт препода, но он не даёт, говорит, что потом, когда задание выполните,то подарит.

Последний раз редактировалось BDA; 14.03.2021 в 06:39.
sergey.serg-72 вне форума Ответить с цитированием
Старый 10.03.2021, 13:04   #39
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 219
По умолчанию

Будет забавно, если Ваш препод тоже на этом форуме. Читает, улыбается, задает вопросы.
Пишу много и развернуто
Heneken87 вне форума Ответить с цитированием
Старый 10.03.2021, 18:10   #40
sergey.serg-72
Форумчанин
 
Регистрация: 12.03.2019
Сообщений: 376
По умолчанию

Цитата:
Сообщение от Heneken87 Посмотреть сообщение
Будет забавно, если Ваш препод тоже на этом форуме. Читает, улыбается, задает вопросы.
Ни чего забавного нет, он в возрасте по форумам не ходит это раз.
Второе, он в курсе как мы обучаемся, все по форумам, по знакомым, а что в этом плохого?
Ему нужны знания и решения, а как мы их добываем до лампочки.
Говорит просто: хоть Кузьма за Вас Задирищинский напишит мне главное, что бы вы объяснили что и как и понимали процесс, а методы, ему не интересны. Пусть читает, задаёт вопросы.

sergey.serg-72,
Очень актуальным остаётся вопрос : как убрать два байта, переноса строки ,
кто и как это делает, если это возможно сделать ?
Очень нужный момент плиз !!!

Код:
 s:='S00003'+sLineBreak;
ftxt.Write(s[1],Length(s));
При записи добавляет 2 байта переноса строки, размер файла на 2 байта больше, а надо этот момент убрать.

Последний раз редактировалось BDA; 14.03.2021 в 06:40.
sergey.serg-72 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужно создать "батник", вырезать из "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