Что нового
  • Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Утилита просмотра файлов в шестнадцатеричном формате

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,200
Баллы
155
Щелчок по пункту меню активирует диалог открытия файла. В диалоговом окне пользова-тель выбирает для просмотра любой файл. Данные из файла считываются в массив, состоя-щий из 16 ячеек. Затем, после нумерации строк и несложного форматирования, текст по-строчно передается в компонент Memo1. Операция считывания повторяется вновь до тех пор,
пока не доберется до конца файла.

1578322442436.png
Код:
procedure TfrmMain.miOpenClick(Sender: TObject);
var FS :TFileStream;
LineNum :integer;
buf : Array[0..15] of byte;
s :string;
begin
if OpenDialog1.Execute then
begin
Memo1.Lines.BeginUpdate;
Memo1.Clear;
try
FS:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead);
LineNum:=0;
while FS.Position<FS.Size do
begin
ZeroMemory(@buf,High(buf)+1); //обнуляем буфер
FS.Read(buf,SizeOf(Buf));
S:=Format('%.6x| %.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x
%.2x %.2x %.2x %.2x %.2x %.2x %.2x %.2x',
[LineNum,buf[0],buf[1],buf[2],buf[3],buf[4],buf[5],buf[6],buf[7],
buf[8],buf[9],buf[10],buf[11],buf[12],buf[13],buf[14],buf[15]]);
Memo1.Lines.Add(s);
INC(LineNum,$10);
end;
finally
Memo1.Lines.EndUpdate;
FS.Free;
end;
end;
end;
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
Memo1.Font.Name:='Courier New';
Memo1.ReadOnly:=True;
OpenDialog1.Filter:='Все файлы|*.*';
end;
 
Вверх