![]() |
|
|
|
|
#1
|
|||
|
|||
|
Всем привет. Delphi начал изучать совсем не давно и не все справочники дают то чего хотелось бы. Хочу построить одно небольшое приложение которое будет работать с HEX данными.
Обрабатывать HEX в текст и обратно. Нашел один сайт хорошо отображающий данную задачу в действии hex.foxtools.ru Буду очень благодарен кто поможет в данной задаче. Пытаюсь использовать найденный в сети пример кода, но без особых результатов: Код:
procedure TForm1.Button3Click(Sender: TObject); var s: String; i: Integer; begin s := '$A0'; i := StrToInt(s); ShowMessage(IntToHex(i,2)); end; |
|
#2
|
||||
|
||||
|
Что не получается?
|
|
#3
|
||||
|
||||
|
Код:
type
TForm1 = class(TForm)
Edit1: TEdit;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
begin
Memo1.Clear;
for i:=1 to Length(Edit1.Text) do
Memo1.Text:=Memo1.Text+IntToHex(ord(Edit1.Text[i]), 2);
end; |
|
#4
|
|||
|
|||
|
Цитата:
|
|
#5
|
||||
|
||||
|
Смотря какие данные читать, прочитай в справке про BlockRead.
|
|
#6
|
|||
|
|||
|
Цитата:
![]() В примере был открыт обычный текстовый файл с текстом "Text". |
|
#7
|
|||
|
|||
|
Ну и в чем проблема?
Прими то, что любые данные, даже текст, это некоторые числа. Для компьютера они записаны в двоичной системе, но их всегда можно перевести в любую другую систему исчисления. Для файла у тебя 2 варианта. 1. Читать файл как текст и переводить отдельные символы в коды (Ord(S[i]) даст тебе десятичное значение для I-го символа строки S). 2. Читать файл как File Of Byte, например, и переводить значения в соотв. символы (Chr(B[i]) даст тебе символ, соотв. значению в I-ой ячейке некоторого массива байт B). |