Делаем электронные книги в Визуал Бейсике
На иллюстрации вы видите скрин стандартного окна среды разработки Визуал Бейсик, и готовую книгу Бориса Фэрра, раскрытую на первой странице.
Концептуально, книга представляет собой «заготовку», в которой есть всё для управления чтением, то есть кнопочки для перехода на соседние страницы, средства для просмотра и перехода по оглавлению, кнопки для прокрутки текста вверх-вниз, средства для изменения размера шрифта и проч. К этой «заготовке» программист пристёгивает текст, тоже специальным образом оформленный.
Текст этот состоит из обращений к подпрограммам печати заголовка (крупным шрифтом) и к печати собственно строк стихотворения (более мелким шрифтом). Выглядит этот текст так –
CASE 0
'If PP = 1 Then Picture1.PaintPicture Image1, 5, 50, 130, 130
Call TT("Д.Маштаков Стихи ")
Call TT("")
T("май 2022 г.")
CASE 1
'If PP = 1 Then Picture1.PaintPicture Image2, 5, 50, 130, 130
Call TT("Чудо ночь")
Call TT("")
T("Где разросся барбарис, обитает джинн Борис. *")
T("Там, в кустах лежит кувшин, из него выходит джинн.")
T("Собирает как пьянчужка, кислых ягод в свою кружку.")
Call T("")
T("Давит сок, и пролезает в щёлочку под Вашу дверь,")
T("На подушку проливает этот сок. Пойди, проверь -")
T("Кровь ли это или сок? И чей длинный волосок")
Call T("")
T("Оказался на подушке? Ночью девочки подружки")
T("Плачут и боятся спать, вдруг кто ночью на кровать")
T("К ним запрыгнет. Хвать за пятку! И утащит не на грядку,")
Call T("")
T("А туда, где барбарис гроздью красною повис.")
Call T("")
T("Тихо тихо наступает чудо-ночь, хвосты комет")
T("В темноте прозрачной тают. Им Борис летит вослед...")
Call T("")
T("_______")
T("* Борис, это наш сосед по даче. Увлекается электросваркой, ")
T("являясь волонтёром, судит соревнования Формулы 1, слегка лысоват, ")
T("но импозантный мужчина, с чёрной бородой. )) Как и у всякого ")
T("джинна, у него на участке много разных металлических предметов.")
T("___________________")
CASE 2 … и так далее.
Как вы видите, этот текст хорошо читается. Операторы Call T("") и T("") абсолютно равноценны, но записаны по-разному, с тем, чтобы разделение текста на абзацы было ясно видно.
В случае чего, текст можно править и в таком виде, однако создавать его неудобно. Гораздо лучше, просто скопировать тексты стихов со своих страничек в один общий файл, используя программу Блокнотик. А разделить стихи между собой можно, используя символ «решётка», вот так –
#1
Д.Маштаков Стихи
Книга 2
май 2022 г.
#2
Чудо ночь
Где разросся барбарис, обитает джинн Борис. *
Там, в кустах лежит кувшин, из него выходит джинн.
Собирает как пьянчужка, кислых ягод в свою кружку.
Давит сок, и пролезает в щёлочку под Вашу дверь,
На подушку проливает этот сок. Пойди, проверь -
Кровь ли это или сок? И чей длинный волосок
Оказался на подушке? Ночью девочки подружки
Плачут и боятся спать, вдруг кто ночью на кровать
К ним запрыгнет. Хвать за пятку! И утащит не на грядку,
А туда, где барбарис гроздью красною повис.
Тихо тихо наступает чудо-ночь, хвосты комет
В темноте прозрачной тают. Им Борис летит вослед...
_______
* Борис, это наш сосед по даче. Увлекается электросваркой,
являясь волонтёром, судит соревнования Формулы 1, слегка лысоват,
но импозантный мужчина, с чёрной бородой. )) Как и у всякого
джинна, у него на участке много разных металлических предметов.
___________________
# … и так далее.
Как вы видите, вслед за некоторыми знаками «решётка» стоят цифры. Это значит, что тут предусмотрена вставка иллюстрации.
Программисту не нужно заморачиваться тем, чтобы преобразовать второй текст в первый. Специальная программа CON_T осуществляет это преобразование. По ходу дела, она преобразует запись #2 в запись
'If PP = 1 Then Picture1.PaintPicture Image2, 5, 50, 130, 130 создавая основу для внедрения иллюстраций.
Чтобы внедрить иллюстрацию программисту нужно поместить на форму элемент «Image», заполнить его изображением картинки и сделать невидимым.
Затем программист снимает апостроф со строки, описывающей иллюстрацию, и выставляет в этой строке нужные числа, указав на положение иллюстрации на страничке и на её размер (отдельно по горизонтали и вертикали).
Как видите, программисту особо напрягаться не нужно. Строки, формирующие оглавление, тоже создаются и выводятся в другой файл, а программисту нужно только их скопировать и подсоединить к тексту основной программы. Напоследок остаётся исключительно приятная дизайнерская работа - небольшими указаниями кое-где поправить иллюстрацию или подвинуть текст, да и то, в большинстве случаев этого не требуется.
Не забыл я и о красотах. Полосочка сверху, которую вы видите на иллюстрации, расширяется и преобразуется в элемент «Picture1», на котором печатается текст и показываются иллюстрации. А четыре кнопочки правее преобразуются вертикальную декоративную полоску, отделяющую элемент «Picture1» от кнопок управления программой.
Если же говорить об общем интерфейсе проекта, то он направлен именно на восприятие стихов – каждое стихотворение записывается столбиком на отдельной странице и этот столбик можно продвигать вверх-вниз, не нарушая положение иллюстрации. Книга имеет оглавление, а страницы листаются, то есть, переход на соседнюю страницу делается кликами по удобно расположенным кнопкам. Есть кнопка для вывода всего текста книги в простой текстовый файл с записью строк в столбик.
Тот случай, когда текста чрезмерно много, легко обходится путём дробления текста на отдельные подпрограммы, с разделением длинного списка Case на более мелкие части.
Первую книгу я сделал с согласия автора, Бориса Фэрра, вот его страничка на сайте стихи.ру - http://stihi.ru/avtor/blud06 скачать эту книгу можно тут - http://disk.yandex.ru/d/v4CjPaTe3LkZXD Вот тут я читаю стихи из этой книги, и вы можете посмотреть, как книга выглядит, и насколько удобно использовать её для чтения стихов - http://youtu.be/-52uHPRBZ1E
А вот в этой папке находится всё, относящееся к книгам ехе формата - https://disk.yandex.ru/d/KeTiLSWsbu2NVw там есть все сделанные мной книги в отдельном архиве, есть вся «кухня» их изготовления, с исходниками и примерами, а также подробнейшее описание всего процесса изготовления таких книг, в файле пдф формата - http://disk.yandex.ru/i/SHg8MWfcXOGm2A и в формате Ворд - https://disk.yandex.ru/i/NCCwykrncuJ6og
Видео на эту тему смотрим тут - http://youtu.be/UtA96xBaQ0M
Если кто заинтересовался – милости прошу. Спасибо за внимание.
__________
21.05.2022
Свидетельство о публикации №222052101499
Я очень прошу ВАС удалить на стихи ру, т.н. рецензии на элект. книги
оскорбляющие меня. Если ВЫ прочли и согласны с мнением "дам" ,мне печально.
Я ценила и ценю нашу дружбу долгие годы. И мне больно читать у ВАС на странице гадость.
Почему они меня так оскорбляют не знаю.
Очень прошу удалить рецензию №7 полностью.
Я ВАМ перевела 2тысячи баллов.
С уважением.
Безкорсая Жанна 05.03.2024 21:00 Заявить о нарушении
Рецензия эта была написана полгода назад, но я её не заметил. Такое случается, поскольку я постоянно нахожусь на стихи.ру на другой своей страничке.
Так что уж простите меня. Не доглядел.
Рецензенты Ваши, как авторы, они вполне нормальные. Но, как бы это можно выразиться, одноглазые. Судят о поэзии со своей колокольни.
Дмитрий Маштаков 06.03.2024 01:03 Заявить о нарушении
Жаргон рецензий говорил о лит. недостатках написавших.
Вы получили баллы?
Безкорсая Жанна 06.03.2024 05:28 Заявить о нарушении
А на анонсы стихов баллов хватает.
Дмитрий Маштаков 06.03.2024 07:42 Заявить о нарушении
Ну, об интонации в стихосложении можно рассуждать долго. Я в этом плане экспериментирую, и, как мне кажется, успешно - http://proza.ru/2024/02/29/420
Успехов Вам!
Дмитрий Маштаков 06.03.2024 08:14 Заявить о нарушении