![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 |
Подтвердите свой е-майл
Регистрация: 17.01.2014
Сообщений: 16
|
![]()
[QUOTE=Семён-2014;1329560]Что конкретно нужно я уже подробно отправил на почту человеку( он в теме предложил помощь), он ознакомился с материалами и сказал что всё понятно, что надо и сказал что к воскресенью напишет, но потом куда то пропал....
Вы пишите что никто не покажет, Вы не правы !!! у нас на сайте мастеров, начинающим мастерам, всё до каждого действия объясняют и даже на скриншотах показывают, куда надо подпаяться и сколько проводов , какой флюс и какая температура паяльной станции, всё до мелочей, в плоть до того что человек не державший паяльник в руках сможет сделать... Я сам не однократно описывал процесс на сайте из расчёта на человека не владеющего начальными навыками.... И знаете понимают даже новички.... Из чего понял сам, что нет плохих учеников, есть учителя не способные правильно и подробно объяснить материал... Когда мы становимся профи, мы почему то забываем, что сами ни чего ,когда-то не знали и пытаемся объяснить начинающему человеку, как профи и негодуем если человек не понял.... Иногда полезно опускаться до уровня начинающего и с этого уровня объяснять. А унас извените все материалы , на тему программирования, как будто с многолетними профи объясняються. Самое лучшее объяснение, это когда на примере показано и расписано, где удаётся найти подробный материал, проблем с написанием нет, но таких единицы. А писать для новичка на языке , фалехов гентохаселапе, извените не очень правильно. Суть проблемы, в том что мне надо на примере, показать как можно из файла в формате Bin с нужных адрессов, на разных строках файла считать определённое количество байтов, при необходимости перевести их из 16теричной в 10 теричную систему и вывести на экран программы. А все примеры что я видел работают от начало строки, или с конца и всё текстовые файлы.... А что по программированию тоже есть даташиты? В моём случае даташиты не нужны, надо просто считать инфу , переконвертировать, если вазникнит такая необходимость и вывести результат в программу. |
![]() |
![]() |
![]() |
#12 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Вот пример упрощенной работы c bin-файлом на чтение. Да, строк в bin-файле как таковых не существует
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#13 |
Регистрация: 18.01.2014
Сообщений: 4
|
![]() |
![]() |
![]() |
![]() |
#14 |
Регистрация: 18.01.2014
Сообщений: 4
|
![]()
Кстати для админов попытался войти в блог получил извещение---
Веб-страница: http://www.pblog.ru Комментарий: ESET Smart Security заблокировал доступ к веб-странице. Страница находится в списке веб-сайтов с потенциально опасным содержимым. Открыть базу знаний ESET | www.eset.com |
![]() |
![]() |
![]() |
#15 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
Аватар привёл именно такой код, как я и сам хотел набросать в качестве примера. Так что, можете его брать в качестве шаблона и ваять из него то, что Вам нужно. Возникнут вопросы/проблемы - welcome! p.s. похоже, что ESET у Вас параноит... Зашёл с KAV, никаких проблем, всё работает, опасного контента не видно! ![]() Последний раз редактировалось Serge_Bliznykov; 21.01.2014 в 22:58. |
|
![]() |
![]() |
![]() |
#16 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Он и у меня параноит, и не только, уже с год или около того на блог ругается. Какого-то занесли в список запрещенных сайтов
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#17 | |
Подтвердите свой е-майл
Регистрация: 17.01.2014
Сообщений: 16
|
![]() Цитата:
Пол вечера сидел и так и так, ни фига не выходит по этому коду, удалось только разобраться как правильный адрес ввести, а считывает не то что надо... В общем по этому коду считать нужное не получилось. Вот файл у меня и что надо считать и перевести : 000000B0: 02 DD ED AB 45 07 09 67 FF FF CA ED 08 76 DD DA 000000С0: 00 00 00 00 31 00 EC 00 00 00 00 00 00 00 00 00 000000D0: 00 FF 00 00 00 AD 00 45 00 FF 00 00 00 00 00 00 000000E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 000000F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E1 00 00000100: 33 00 01 85 07 24 AA CC FF 00 00 00 32 00 00 00 С первой строки( адрес: 000000В0) - считать надо все данные и вывести в прогу ( Label) так : заместо 02, надо просто 2, заместо DD, надо :221( перевод из Hex в Dec), AB, 45=69, заместо 07, надо просто 7( 0 отбросить), 09 - просто 9( ноль отбросить), 67 =103, FF =255, СА=202, ED =237 итак всю строчку в прогу выводим цифры, и так всю строку, каждую цифру( только цифру) в отдельный Label. 000000F0 : с этой строки выводим только одно значение это E1, причём значение этой ячейки выводится так , или EA, EB, EC, ED в этой строке выводится только так и ни как иначе, или будет неправильно. Поэтому смотря какое там значение прописалось, такое и должно вывестись в прогу. А значение может быть от E1,E2,E3,E4,E5,E6,E7,E8,E9, далее только такие могут быть : EA, EB,EC, ED. 00000100: Из этой строчки только вот эти данные и больше ничего, другие не нужны( лишние) значения такие :33 00 01 85(выводится строго в один Label) всё , в таком виде выводятся в прогу, в один Label . всё конец. Желательно чтоб все данные выводились в разные Label , причём самая верхняя строка должна каждая получившаяся цифра в свой Label, а не все в кучу, в одной строке. С кодом представленым выше, это реалезовать не удаётся. И надо чтоб программа принимала строго один объём файла в 512 байт и только, чтоб не больше , ни меньше файл не брала. То-есть ограничение размера файла, тоже надо ввести обязательно. Последний раз редактировалось Семён-2014; 22.01.2014 в 00:36. |
|
![]() |
![]() |
![]() |
#18 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Ну что-бы совсем было понятно и по-простому то так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 22.01.2014 в 10:13. |
![]() |
![]() |
![]() |
#19 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
Аватар, спасибо за пример. (Вы опять избавили меня от необходимости писать код!
![]() небольшие замечания/уточнения для Семён-2014 Код:
ну и вместо кучи Label я бы предложил использовать таблицу (TSTringGrid, например). впрочем, это уже дело хозяйское... |
![]() |
![]() |
![]() |
#20 | |
Подтвердите свой е-майл
Регистрация: 17.01.2014
Сообщений: 16
|
![]() Цитата:
Аватар огромное спасибо !!! всё получилось, создал заготовку, всё считывает и показывает, всё сделал при помощи Label, ну это пока, потом разберусь с функцией TsTrigGrid и перейду на работу с ней. Зато разобрался с чтением нужной инфы из файла Огромное спасибо Serge Bliznykov, ценная поправка, ввёл её, теперь окошко вылетает о неправильном файле( не правильный объём). Ребята при первой компиляции, компилятор упёрся и не хотел компилировать из за строки: Stream:=TFileStream.Create('e:\MyFi le.bin',fmOpenRead or fmShareDenyNone); не нравилось ему ' e\MyFile.bin', пришлось менять на вот так : Stream:=TFileStream.Create(OpenDial og1.FileName,fmOpenRead or fmShareDenyNone); OpenDialogFileName, по другому ни как , замучелся. Не пойму в чём дело? вот весь код мой : procedure TForm1.Button1Click(Sender: TObject); var Stream: TFileStream; a: array [0..1023] of Byte; begin if OpenDialog1.Execute then else ShowMessage('загрузка файла отменена пользователем !' ); begin Stream:=TFileStream.Create(OpenDial og1.FileName,fmOpenRead or fmShareDenyNone); if Stream.Size<>512 then ShowMessage('недопустимый размер файла !'); begin Stream.Position:=$B0; только так с компилировался и ни как подругому. Прога делает всё правильно, считывает и выводит, всё как хотел. Но есть маленький касячёк... Если прогу открыл первый раз, нажал кнопку загрузить файл, открылись диски на выбор, любой выбираю, открываю диск с, или D, вижу файлы нужные, но жму отменить и ничего не загружаю, выскакивает сообщение что загрузка отменена пользователем, жму ок, а далее выскакивает сообщение от Винды наверное суть которого вот : Cannot open File'''' системе не удаётся найти указанный путь.... А вот если запустив прогу в первый раз, загрузил файл,, потом открываю другой файл и отменяю загрузку, тогда всё путём, выскакивает окошко, о том что отменено пользователем и всё ошибки не возникает. Только при первой загрузке, если файл не загрузил, а просто отменил загрузку. Не пойму в чём проблема, код с текстовыми файлами и с таким кодом, всё ок без ошибок. А здесь проблема. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
file->HEX HEX->BIN | kakawkin | Общие вопросы Delphi | 1 | 25.04.2012 01:02 |
перевод чисел из hex в bin. ASM. | crashmanx | Помощь студентам | 0 | 25.12.2011 21:35 |
Нужно реализовать программу на Дельфи | Aizada | Помощь студентам | 1 | 16.05.2011 21:45 |
Перевод BIN -> HEX | Piar | Помощь студентам | 2 | 20.05.2009 15:44 |