![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте! Возникла проблема! Есть программа, она считывает информацию из TXT, конвертирует ее в HEX и записывает в Memo1. Но вот проблема:в файле есть как слова, так и цифры. Слова программа правильно конвертирует, а цифры - нет. Вот сайт, где указаны данные и их перевод(служит мне примером) https://ccrma.stanford.edu/courses/4...ts/WaveFormat/ именно эта картинка https://ccrma.stanford.edu/courses/4...wave-bytes.gif Как сделать, что бы в Memo1 было так, как на рисунке?:
52 49 46 46 24 08 00 00 57 41 56 45 66 6d 74 20 10 00 00 00 01 00 02 00 22 56 00 00 88 58 01 00 04 00 10 00 64 61 74 61 00 08 00 00 00 00 00 00 А не так: 52 49 46 46 0D 0A 32 30 38 34 0D 0A 57 41 56 45 0D 0A 66 6D 74 20 0D 0A 31 36 0D 0A 31 0D 0A 32 0D 0A 32 32 30 35 30 0D 0A 38 38 32 30 30 0D 0A 34 0D 0A 31 36 0D 0A 64 61 74 61 0D 0A 32 30 34 38 0D 0A Ясное дело цифры могут быть разными, но это пример. Вот код программы: Код:
unit Unit1;
interface
uses
SysUtils, Classes, Controls, Forms, StdCtrls, Dialogs, sSkinManager,
sButton, sMemo, sLabel, sEdit;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
sSkinManager1: TsSkinManager;
sButton2: TsButton;
sLabel1: TsLabel;
sEdit1: TsEdit;
sMemo1: TsMemo;
sButton1: TsButton;
procedure sButton1Click(Sender: TObject);
procedure sButton2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.sButton2Click(Sender: TObject);
var
F:file of byte;
z:byte;
s:string;
i:integer;
begin
sMemo1.Clear;
s:='';
i:=0;
assignfile(F, sEdit1.Text);
reset(F);
while not eof(F) do
begin
read(F,z);s:=s+IntToHex(z,2)+' ';
i:=(i+1) mod 16;
if (i=0) or eof(F) then
begin
sMemo1.Lines.Add(s);
s:='';
end;
end;
end;
procedure TForm1.sButton1Click(Sender: TObject);
begin
with OpenDialog1 do
if Execute then sEdit1.Text:=FileName;
end;
end.
P.S. Использую компонент AlphaControls, но можно и без него, если вам не удобно. Он для интерфейса. Программа в целом внизу. |