![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Нужно реализовать запись в файл информация в котором будет хранится в двоичном коде, то есть bin файл. Реализовать это нужно так что бы записывалась HEX последовательность - 1 байт - NNh. Для этого был выбран нетипизированный файл. То есть "File1: File;"
как указано в примере использовалась процедура BlockWrite(); Все на первый взгляд работает, но на самом деле в этот файл записывается нечто другое, а именно абсолютно не те байты, что нужно. Хотя при обратном считывании данные идентичны с записываемыми. Похоже не корректно работает BlockWrite(); Задача состоит в том что бы записывалось все именно в первоначальной HEX последовательности, так как это прошивка для чипа. Помогите разобратся. Далее привожу исходник: Код:
|
#2
|
||||
|
||||
![]() Если я правильно понял твою глубокую мысль, то попробуй так
Код:
|
#3
|
|||
|
|||
![]() Не работает программа. Выбрасывает ошибку в строке _To[0] := $FF;
Но мне все-таки кажется что понял ты меня не правильно. Файл должен быть именно формата HEX, а у тебя там получается Byte. Он ведь получается хранится в другом формате или нет? |
#4
|
||||
|
||||
![]() Цитата:
FillChar( _Ti, Long, 0 ); FillChar( _To, Long, 0 ); Цитата:
В твоем примере переменная To имеет тип string, и ты ей присваиваешь 'FF' (To:='FF'), после чего записываешь To в файл. Если ты хочешь, чтобы в файле после этого было 'FF' (то-есть, что записал, то и увидел), то работай с файлом как с обычным текстовым... |
#5
|
|||
|
|||
![]() Чувак респект, похоже я начинаю догонять, что означает нижнее подчеркивание в переменных и символ доллара?
|
#6
|
||||
|
||||
![]() Нижнее подчеркивание (_) - ничего оно не значит... Просто переменную To объявить нельзя, т.к. в Delphi это зарегистрированное слово (в цикле for). Вот я и поставил впереди подчеркивание...
Символ доллара ($) - означает, что за ним идет число в шестнадцатиричном формате ($FF = 255)... |