OberonCore
https://forum.oberoncore.ru/

Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и ZLib
https://forum.oberoncore.ru/viewtopic.php?f=47&t=2839
Страница 1 из 1

Автор:  Oleg N. Cher [ Воскресенье, 12 Сентябрь, 2010 02:14 ]
Заголовок сообщения:  Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и ZLib

Давайте адаптируем (разработаем интерфейсные модули) для BlackBox/XDS такие библиотеки как SDL, SQLite и ZLib. Немедленно появится возможность разрабатывать кроссплатформенные (Windows, Linux) графические и мультимедийные программы, работающие с базами данных, на языках Компонентный Паскаль и Оберон-2. А если подключить XDS-C, то количество платформ резко возрастёт.

SDLhttp://www.libsdl.org
Это многоплатформенная графическая библиотека + целая подсистема работы с таймером, клавиатурой, сокетами, звуком, многозадачностью и т.д. Есть возможность работы с OpenGL. Очень хороша для написания игр и мультимедиа-приложений. Возможно, легче будет адаптировать Паскаль-версию — Jedi-SDL (http://sourceforge.net/projects/jedi-sdl).

SQLitehttp://www.sqlite.org
Это библиотека для работы с движком реляционной БД, сильно облегчённый вариант признанного лидера среди БД — MySQL. Кроссплатформенный. Простота и удобство встраивания SQLite привели к тому, что библиотека используется в браузерах, музыкальных плеерах и многих других программах.

ZLibhttp://www.zlib.net
Свободная кроссплатформенная библиотека для сжатия данных. Сотни приложений для Linux, Microsoft Windows и Palm OS используют ZLib. Про этот порт для ББ (http://forum.oberoncore.ru/viewtopic.php?f=47&t=963&hilit=ZLib) я в курсе. Есть ли версия для XDS?

Все три библиотеки безплатны и не накладывают никаких ограничений на их коммерческое использование. В вариантах XDS и XDS-C сие выглядит заманчиво.

Может быть, кто-нибудь знает ещё хорошие кроссплатформенные готовые библиотеки, советуйте. Хватит нычиться по углам с самопальными адаптациями пары функций из dll под свои маленькие задачи, централизация поможет их: а) распространить; б) доработать и усовершенствовать; в) найти возможные ошибки; г) привести к законченному виду.

Цель темы в том, чтобы Оберон-программисты не изобретали своих велосипедов, подпорок и костылей, а пользовались хорошо продуманными и проверенными временем готовыми решениями.

P.S. Также меня интересует связь ББ/XDS с Microsoft Speech API.

Автор:  Александр Ильин [ Воскресенье, 12 Сентябрь, 2010 05:55 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

FreeImage.dll: viewtopic.php?p=37489#p37489

Автор:  Иван Кузьмицкий [ Воскресенье, 12 Сентябрь, 2010 07:57 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

ZLib для BlackBox: http://zinnamturm.eu/downloadsTZ.htm#Zlib

SQLite тоже есть, только не до конца отглаженный.

Автор:  Oleg N. Cher [ Воскресенье, 12 Сентябрь, 2010 13:32 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

Иван Кузьмицкий писал(а):

Про этот порт Владимира Сидорова с BlueBottle я знаю (см. выше), я сам выслал его Гельмуту (Helmut Zinn) для размещения на его сайте. Там есть ряд отличий от оригинального ZLib. Интересует же интерфейсная обёртка именно к классическому.
Цитата:
SQLite тоже есть, только не до конца отглаженный.

Отлично, давайте. Будем отлаживать. :)
Видите, всё не так плохо. Даже SDL есть — http://forum.oberoncore.ru/viewtopic.php?f=2&t=314&hilit=SDL. Осталось её только заполучить. Для всех. Чтобы пользовались.

Автор:  Иван Кузьмицкий [ Воскресенье, 12 Сентябрь, 2010 14:06 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

Oleg N. Cher писал(а):
Видите, всё не так плохо.
Я разве говорил, что плохо? У меня всё отлично :)

Автор:  Александр Ильин [ Понедельник, 27 Сентябрь, 2010 11:25 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

Готова предварительная версия интерфейсных модулей SQLite для XDS: http://github.com/AlexIljin/SQLiteForOberon
По ссылке находится скрипт, генерирующий SQLite.lib и SQLiteDef.def из данных sqlite3.h и sqlite3.dll, так что работать должно и для будущих версий sqlite.
Пока что не получилось залить на Github скомпилированную пару def/lib, поэтому выкладываю здесь.
Вложение:
SQLite3.zip [89.75 КБ]
Скачиваний: 346
Могут быть недоработки, поскольку опыт практического использования пока ограничивается простенькими процедурами из сообщения viewtopic.php?p=5381#p5381

Желающие могут присоединяться к проекту. Например, можно добавить интерфейсный модуль для ББ. Если нет желания изучать Git, можно скачать исходник архивом и прислать доработки мне для публикации. Стандартный путь участия - форк на Github.

Перед проектом нет цели делать объектную обёртку, только базовую привязку, чтобы можно было подключать sqlite3.dll к программам на XDS, ББ и т.д.

Автор:  Oleg N. Cher [ Понедельник, 27 Сентябрь, 2010 14:25 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

Александр Ильин писал(а):
Готова предварительная версия интерфейсных модулей SQLite для XDS

Отлично, Александр. Приятно констатировать умощнение и расширение области применения Оберон-средств. Было бы очень хорошо выслать (попозже, когда всё будет готово) интерфейсный модуль для размещения на официальном сайте http://sqlite.org. Это стратегически важно, чтобы все посетители сайта начали краем глаза замечать расширяющуюся Оберон-активность.

Респект за движение в данном направлении, Александр! Это нам обязательно пригодится.

Автор:  Oleg N. Cher [ Четверг, 21 Октябрь, 2010 20:01 ]
Заголовок сообщения:  Re: Давайте адаптируем для ББ/XDS библиотеки SDL, SQLite и Z

Появилась возможность разрабатывать графические приложения для Windows/Linux на Component Pascal (BlackBox). Готова предварительная версия SDL для BlackBox: http://sourceforge.net/projects/sdl-for-oberon/.

В процессе реализации проекта было принято решение обойтись в названиях идентификаторов без подчёркиваний, это сделано для совместимости, поскольку классический Оберон не поддерживает "_" в именах. Поэтому вместо Sdl.SDL_CreateRGBSurface используем Sdl.CreateRGBSurface (и вместо Sdl.PSDL_ColorArray — Sdl.PColorArray), что, кроме того, убирает избыточное "Sdl.SDL_". Я подозреваю, что некоторым господам такое решение не понравится, но всем не угодишь. Не нравится — делайте свой вариант.

Работа над адаптацией SDL ведётся не с помощью скриптов и утилит, автоконвертирующих заголовки, а вручную на базе интерфейса JEDI-SDL для Дельфи. Так достигается более адекватная адаптация (в частности, flag: UInt32 адаптировано как SET, что логичнее), кроме того, я не думаю, что интерфейс функций SDL будет кардинально изменяться в следующих версиях.

Я не ставлю цели адаптировать к ББ все функции из SDL, только необходимые для моих целей, так что извините. Не ставлю также цели поддержать XDS. Есть намерение в будущем ограниченно поддержать ETH Oberon. Надо больше — милости прошу.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/