Делаем электронные книги в Визуал Бейсике

  Электронные книги со стихами я начал делать в 2009-м году. Сейчас я проект обновил и о нём расскажу. Мне, да и вам тоже, этот проект может быть интересен не только с практической точки зрения, но и с точки зрения того, как всё это устроено. То есть, с точки зрения программиста.
  На иллюстрации вы видите скрин стандартного окна среды разработки Визуал Бейсик, и готовую книгу Бориса Фэрра, раскрытую на первой странице.

  Концептуально, книга представляет собой «заготовку», в которой есть всё для управления чтением, то есть кнопочки для перехода на соседние страницы, средства для просмотра и перехода по оглавлению, кнопки для прокрутки текста вверх-вниз, средства для изменения размера шрифта и проч. К этой «заготовке» программист пристёгивает текст, тоже специальным образом оформленный.
  Текст этот состоит из обращений к подпрограммам печати заголовка (крупным шрифтом) и к печати собственно строк стихотворения (более мелким шрифтом). Выглядит этот текст так –


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


Рецензии
Добрый вечер! Дмитрий.
Я очень прошу ВАС удалить на стихи ру, т.н. рецензии на элект. книги
оскорбляющие меня. Если ВЫ прочли и согласны с мнением "дам" ,мне печально.
Я ценила и ценю нашу дружбу долгие годы. И мне больно читать у ВАС на странице гадость.
Почему они меня так оскорбляют не знаю.
Очень прошу удалить рецензию №7 полностью.
Я ВАМ перевела 2тысячи баллов.
С уважением.

Безкорсая Жанна   05.03.2024 21:00     Заявить о нарушении
Жанна, я эту рецензию удалю завтра. Но пока я написал на неё ответ. Посмотрите.
Рецензия эта была написана полгода назад, но я её не заметил. Такое случается, поскольку я постоянно нахожусь на стихи.ру на другой своей страничке.
Так что уж простите меня. Не доглядел.
Рецензенты Ваши, как авторы, они вполне нормальные. Но, как бы это можно выразиться, одноглазые. Судят о поэзии со своей колокольни.

Дмитрий Маштаков   06.03.2024 01:03   Заявить о нарушении
Рецензия удалена.

Дмитрий Маштаков   06.03.2024 02:40   Заявить о нарушении
Спасибо.
Жаргон рецензий говорил о лит. недостатках написавших.

Вы получили баллы?

Безкорсая Жанна   06.03.2024 05:28   Заявить о нарушении
За баллы спасибо, но они меня особенно не волнуют. Ко мне читатели по большей части по поисковику заходят. Статей на политические темы я не пишу, поэтому пропагандировать мне нечего ))
А на анонсы стихов баллов хватает.

Дмитрий Маштаков   06.03.2024 07:42   Заявить о нарушении
Те авторы, у которых собственное творчество ограничено, иногда оказываются неспособными правильно оценивать творчество других. Посмотрите на творчество М. Оно более чем обширно, но ни одного(!) верлибра. Зато таких закостенелых форм, как венки сонетов полно. Ещё и терцины и бог знает что. Чтобы пародии писали терцинами в первый раз такое вижу )) Свободный стих есть, но нет в нём тех преференций, которые он может дать, автор их не чувствует, нет особой интонации свободных форм. Вот мне в Ваших стихах, Жанна, именно интонация нравится, если читатель её чувствует, то она ведёт. Примерно так же, как музыка.
Ну, об интонации в стихосложении можно рассуждать долго. Я в этом плане экспериментирую, и, как мне кажется, успешно - http://proza.ru/2024/02/29/420
Успехов Вам!


Дмитрий Маштаков   06.03.2024 08:14   Заявить о нарушении
На это произведение написаны 3 рецензии, здесь отображается последняя, остальные - в полном списке.