Чтобы не скачивать кота в мешке, привожу фрагменты из файла sdch090.txt .
Диалог программы СДЧ
Главное окно программы СДЧ включает следующие элементы диалога:
- кнопка "Ц": выбор цвета текста: черный, синий, зеленый, темно-серый,
белый;
- кнопка "Ф": задание цвета фона или цветов изображения подложки;
- кнопка "Ш": выбор шрифта - стандартный/myfont;
- кнопка "Р": выбор размера шрифта; в конфигурации задаются
размеры большого (Шрифт 1) и малого (Шрифт 2) стандартных шрифтов;
для моих фонтов myfont - большой шрифт, myfont2 - малый шрифт;
myfont2 получился грязноватым, но у меня не было задачи выглаживать
шрифт до идеального состояния;
<рис.3>
- кнопка "Ч": включение/отключение подчеркивания текста;
- кнопка "В": включение/отключение выделения строк цветом, отличным
от цвета фона;
- кнопка "И": включение/отключение изображения подложки;
- кнопка "=": включение/отключение выравнивания строк текста по
ширине экрана книги;
- кнопка "Кф": вызов окна конфигурации;
- кнопка "БК": буфер конфигураций; т.к. в окне конфигурации можно
задать только один цвет рамки книги и 2 варианта цветов изображения
подложки, то был введен буфер конфигураций; для заполнения буфера
конфигураций в окне конфигурации следует:
1) нажать кнопку "Сброс буфера конф.";
2) задать нужный цвет рамки книги или цвета изображения подложки;
3) нажать кнопку "В буфер конф.";
после задания таким образом нескольких (до 10) цветов рамки экрана
вернуть цвет экрана рамки по умолчанию, после чего нажать кнопку
"Сохранить"; после закрытия окна конфигурации установится цвет рамки
экрана по умолчанию; для перехода к цветам буфера конфигураций
следует нажать кнопку "БК";
- кнопка "П": открыть меню перехода к заданной строке/поиска заданной
строки;
- кнопки с уголками на верхней и нижней сторонах книги отвечают за
листание книги по страницам;
- кнопка "О": открыть окно информации о программе СДЧ.
Кроме того, вызов действий по кнопкам может быть выполнен при нажатии
клавиш клавиатуры, соответствующих русским буквам (вне зависимости от
текущей раскладки клавиатуры: eng/рус), указанным на кнопках; для
постраничного листания - клавиши "PgUp" и "PgDn"; построчная прокрутка -
стрелки "вверх" и "вниз"; к началу и концу текста - Сtrl+Home, Ctrl+End.
Сборка файла sdch090.exe
Выполняемый exe-файл был собран только для ВВ 1.5, т.к. в ВВ 2.0
DevLinker.Link выдает сообщение:
Kernel open fail with loc.res=2
Kernel not found
exe-файл программы СДЧ собран в среде ВВ v.12.11 по методу,
предложенному Александром Ильиным в oberoncore.ru/blackbox/make_exe,
который я упростил, обойдясь без использования припакованных файлов.
Для сборки exe-файла в ВВ 1.5 следует:
1) Сохранить все открытые файлы с исходным кодом.
2) Создать в новом файле модуль Config
MODULE Config;
IMPORT VpSdch090;
PROCEDURE Setup*;
BEGIN
VpSdch090.Do;
END Setup;
END Config.
и скомпилировать его.
3) Запустить на выполнение ^Q DevLinker.Link sdch090.exe (см. файл
sdch090.odc).
4) Выйти из ВВ. При этом новый модуль Config в ВВ сохранять не нужно.
Т.к. новый скомпилированный Config.ocf будет записан в подкаталог
BlackBox/Code, то перед началом сборки exe-файла следует переименовать
находящийся там Config.ocf (для ВВ 1.5 v.08.04), чтобы после выхода
из ВВ удалить новый Config.ocf, а старый Config.ocf вернуть на место
(для ВВ 1.5 v.12.11 подкаталог /Code пустой, так что здесь следует
только удалить новый Config.ocf).
5) Скопировать сгенерированный sdch090.exe в его рабочий каталог, где
он будет запускаться на выполнение. Выполняемый sdch090.exe со всеми
необходимыми для его работы файлами находится в архиве sdch090.zip .
Файлы исходного кода программы СДЧ:
- sdch090.odc: головной файл программы СДЧ:
PROCEDURE ImportBitmap - чтение bmp-файла;
PROCEDURE Write_myfont - перезапись bmp-файлов шрифтов myfont и
myfont2 в файлы myfont.txt и myfont2.txt; т.к. работа с bmp-файлами
в ВВ 2.0 v.24.07 для linux отсутствует, то потребовалось использовать
независящий от ОС формат хранения шрифтов; сейчас в процедуре
StartSDCH строка Write_myfont(1); Write_myfont(2); закавычена -
чтобы включить генерацию myfont.txt и myfont2.txt, в ВВ 1.5 достаточно
раскавычить эту строку;
PROCEDURE (v: View) HandlePropMsg - задание размеров окна СДЧ;
PROCEDURE (v: View) HandleCtrlMsg - обработка событий от клавиатуры
и мыши;
PROCEDURE (v: View) Restore - обработка вывода на экран;
PROCEDURE StartSDCH - головная процедура программы СДЧ; здесь
производится инициализация основных переменных программы, чтение
файлов конфигурации и текстового файла;
- Restore.odc: вывод на экран
- MyDialog.odc: обработка для кнопок, полосы прокрутки, клавиатуры и
мыши
- GoFindUI.odc: обработка диалогов "Переход/Поиск" и "Конфигурация",
запись и чтение файлов конфигурации
- Mybook.odc: работа со структурами данных книги:
- Perekod.odc: процедуры перекодировки
По размерам архивов:
sdch090.zip: размер sdch090.exe - примерно 1.07 Мб + файлы из каталога /Rsrc
sdch_ish.zip: тут не только исходные файлы, но и каталоги ресурсов для ВВ 1.5 и ВВ 2.0.
Под конец привожу пример чтения достаточно большого текстового файла:
Вложение:
ris_3.JPG [ 309.83 КБ | Просмотров: 81 ]