Недавно добавленные исходники

•  TDictionary Custom Sort  1 002

•  Fast Watermark Sources  1 333

•  3D Designer  2 155

•  Sik Screen Capture  1 790

•  Patch Maker  1 870

•  Айболит (remote control)  1 689

•  ListBox Drag & Drop  1 399

•  Доска для игры Реверси  35 956

•  Графические эффекты  1 646

•  Рисование по маске  1 579

•  Перетаскивание изображений  1 254

•  Canvas Drawing  1 168

•  Рисование Луны  1 008

•  Поворот изображения  925

•  Рисование стержней  964

•  Paint on Shape  632

•  Генератор кроссвордов  938

•  Головоломка Paletto  863

•  Теорема Монжа об окружностях  1 060

•  Пазл Numbrix  740

 

 

Архив исходников

   
  Базы данных
  Графика & Мультимедиа
  Сети & Интернет
  Система
  Разное
   

Ссылки и Баннеры ...

 

Delphi Sources

Delphi Sources

 




 

ИСХОДНИК ПРОГРАММЫ

 

. : HEX View : .

 

Delphi - Отображение содержимого файлов в виде шестнадцатеричных (основание 16) данных

Исходник программы, показывающей пример отображения содержимого файлов в шестнадцатеричном формате (основание 16).

Существует 16 шестнадцатеричных цифр со значениями от 0 до 15, для удобства они помечены от «0» до «9» и от «A» до «F». Каждая шестнадцатеричная цифра также может быть записана 4 двоичными битами (от 0000 до 1111).

Шестнадцатеричные числа удобны для использования при отображении памяти компьютера или файлов, поскольку две из этих 4-битных шестнадцатеричных цифр могут представлять базовую единицу хранения в памяти, 8-битный «байт».

Использование программы говорит само за себя: выберите файл для просмотра и используйте клавиши PgUp, PgDn для пролистывания. Ctrl + PgUp перейдет на страницу 1, Ctrl + PgDn перейдет на последнюю страницу. Клавиша выхода «Esc» закроет файл. Символы, которые представляют допустимые символы, будут отображаться в каждой строке рядом с шестнадцатеричными данными.

Заметки для программистов

Элемент управления TFileStream используется для доступа к отображаемому файлу. Чтобы избежать проблем с памятью при работе с большими файлами, объем данных (BufLen) для заполнения страницы рассчитывается для каждой операции отображения на основе текущего размера элемента управления TMemo. Для каждой страницы процедура ShowPage ищет начало следующей отображаемой страницы (CurPage * BufLen) и считывает байты данных BufLen. Hexchars - это массив, содержащий метки из 16 шестнадцатеричных символов. Код Delphi использует цикл для N и J для преобразования каждого байта каждой строки в два отображаемых символа и добавления его в строку Hex. N отражает позицию начала текущей строки в буфере, а J указывает на текущий преобразуемый символ. Строка преобразования кода выглядит так:

hex: = шестнадцатеричный + шестнадцатеричный символ [(буфер [n + j] и $ F0) shr 4] + шестнадцатеричный символ [(буфер [n + j] и $ 0F)];

Левый «полубайт» (4 бита байта) преобразуется «и» с шестнадцатеричным F0 (11110000 двоичный), чтобы очистить правый полубайт, а затем сдвигается вправо (= делится на 16), чтобы вернуть его обратно. диапазон 0-15, который затем используется как индекс в массиве Hexchars. Правая половина прикуса затем преобразуется аналогичным образом, за исключением того, что делить на 16 нет необходимости.

Отображаемые строки добавляются в TStringlist (список), строки которого назначаются свойству Memo1.Lines после построения страницы. Это устранило проблему мерцания, которая возникала, когда строки были встроены непосредственно в Memo1.

Еще одна интересная проблема, с которой я столкнулся и которая может сэкономить вам время в будущем. Когда элемент управления выравнивается по нижнему краю формы (например, элемент управления TStatictext в этом случае) и форма изменяется до меньшей высоты, элемент управления размещается под всеми существующими элементами управления. Регулировать размеры в выходе OnResize слишком поздно, чтобы предотвратить эту проблему. Решение состоит в том, чтобы использовать выход OnCanResize, чтобы предсказать, где будет находиться нижний выровненный элемент управления, и перенастроить размер и верхнюю часть других элементов управления до фактической операции изменения размера.

Просмотры: 743
Дата: 11.07.2021, Автор: Gary Darby
Написать сообщение:
 

 

 

Скачать (5 Кб)   ↓ 13   Регистрация >>


 

Похожие исходники


Bin (hex) Editor

DHex

Hex-Bin Converter

Hexagon Boards

 

View ID3 Tag

BmpHViewer

3DS Viewer

Thumbnails Viewer

 

Image Viewer

NetView 2.3

ATViewer

PE Viewer

 

Sort in ListView

 

© 2004-2022 "DS"

Соглашение пользователя / Реклама / Карта сайта             Created by BrokenByte Software