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

•  3D Designer  433

•  Sik Screen Capture  309

•  Patch Maker  269

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

•  ListBox Drag & Drop  247

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

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

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

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

•  Canvas Drawing  265

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

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

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

•  Paint on Shape  109

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

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

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

•  Пазл Numbrix  102

•  Заборы и коммивояжеры  183

•  Игра HIP  123

 

 

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

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

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

 

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, чтобы предсказать, где будет находиться нижний выровненный элемент управления, и перенастроить размер и верхнюю часть других элементов управления до фактической операции изменения размера.

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

 

 

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


 

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


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-2021 "DS"

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