Хочу поведать вам о языке программирования PureBasic. PureBasic — это мощный, компилируемый язык, основанный на синтаксисе стандартного Бейсика. Предназначен для создания автономных консольных и GUI приложений, игр и многого др. для различных платформ. Язык разрабатывается более 10 лет и постоянно совершенствуется.
Главная особенность PureBasic — кроссплатформенность. На данный момент поддеживаются операционные системы: Windows, Linux, MacOS и AmigaOS. Это значит, что тот же самый код может быть спокойно скомпилирован на разных платформах, с небольшими изменениями или без них вовсе.
С помощью языка PureBasic вы напишете любую программу любой сложности. Этот язык обладает очень простым синтаксисом, в то же время поражает своей функциональностью. Поэтому он легко усваивается и подходит для начинающих программистов. Впрочем, и для опытных кодеров имеется хороший арсенал инструментов.
Имеется визуальный проектировщик окон. Установленная среда разработки занимает около 25 МБ, не требует серьезных настроек и быстро загружается. В программе имеется лишь один маленький минус — она платная. Но это действительно не сильно смущает, не так ли? 😉
Share your code with modules — PureBasic 101
Главные особенности PureBasic
- Огромный набор встроенных команд (более 800) позволяет быстро и легко создать любое приложение или игру
- Поддержаны все ключевые слова стандартного Бейсика
- Очень быстрый компилятор, создает чрезвычайно оптимизированный исполняемый код
- Созданные исполняемые файлы не требуют сторонних DLL или интерпретаторов
- Полный доступ к OS API для продвинутых программистов
- Простой и очень быстрый 2D движок для игр (DirectX, SDL, HGE. )
- Простая и высококачественная реализация 3D на движке OGRE
- Оптимальное использование доступных аппаратных средств
- Исходный текст совместим между Windows, Linux, MacOS и AmigaOS для игр и приложений
- Удобная и компактная среда разработки, встроенный визуальный GUI редактор
- Встроенный отладчик упрощает выявление и отлов программных ошибок
Пример
Продемонстрирую вам пример «Hello, Habr». К сожалению, код после нативного хабраредактора выглядит не очень красиво, поэтому я приложу скриншот.
Эта программа открывает окно с текстом и кнопкой закрытия. Если не считать комментарии, на все ушло 9 строчек кода. Исполняемый файл занимает 13 КБ.
С официального сайта можете скачать демо-версию программы. В поставке идет большое количество примеров.
* Бесплатная демоверсия ограничивает рамер кода 800 строками и невозможностью вызывать API функции OS.
UPD: Статью дополнил.
Источник: habr.com
The PureBasic 5.0 Form Designer — A Quick Tutorial
Примеры программ на purebasic
PureBasic Варезник:
http://forum.ru-board.com/topic.cgi?forum=35topic=13995#1
PureBasic — коммерческий язык программирования высокого уровня, основан на синтаксисе BASIC.
Предназначен для создания кроссплатформенных прикладных программ для AmigaOS, Linux, Microsoft Windows, Windows NT и Mac OS X. Компилятор PureBasic способен компилировать программы в код процессоров IA-32, m68k и PowerPC. Поддерживает компиляцию исполняемых файлов и динамических библиотек. Если не злоупотреблять API операционной системы, то код можно скомпилировать не изменяя его на все поддерживаемые платформы.
Поддерживает разные API: Windows API, MFC (Windows), SDL (Linux) и OpenGL.
Многопроходный компилятор PureBasic состоит из переводчика кода в ассемблер, ассемблера (FASM) и компоновщика. У PureBasic также есть и неплохой отладчик. Так как в компиляторе присутствует ассемблер, есть возможность в коде использовать ассемблерные вставки. Поддерживает наборы символов ASCII и Unicode.
Цитата:
Одно большое ИМХО(. ) («священные войны», если хотите): Скачал я себе енто. Из чистого любопытства. Посмотрел. Ну, Basic. Ничего особенного. Удивлен, что кто-то на нем пишет. Разве что группка программеров-энтузиастов. Т.е. те, кто создали PureBasic. Остальным он незачем. |
вообще-то это вовсе не «ничего особенного».
взять хотя бы то, что сделанное в этом «ну, Basic»‘е оконное приложение (минимального функционала, но всё-же) имеет размер 10kb (. ). При этом простота написания именно BASIC’овская! При этом всё умещается в 9 строк кода (. ) из которых окно создает одна (. ).
И при всем при этом это не VisualBasic’овская концепция — для работы приложения необходима библиотека на полтора метра, а именно полноценное так сказать standalone приложение работающее под виндовсом от 95 до 2003. Ну и ещё возможность скомпилировать это приложение как под виндовс, так и под линукс и мак!
При этом всё это чудо после установки занимает на диске 15 мегабайт . (с хелпом и туториалами) и в дальнейшем установки не требует вовсе (просто копируем папку и работаем). Так что я её без проблеи ношу на флешке и на любом компе могу в нужный момент быстренько склепать программку коли возникнет потребность.
Такое впечатление, что если эта штука подо что-то не заточена специально, то приспособить ее — практически глухой номер.
Цитата:
Господа, не появилось ли за прошедшее время какое-либо описание для сего продукта на старославянском, можно на новорусском? |
Немного сдесь есть http://pbasic.spb.ru/
Окно с надписью «Демонстрационная программа»
Окно с кнопкой.
При клике по кнопке выккакивет окно сообщением об этом
Repeat ; Начало главного цикла.
Event=WaitWindowEvent() ; Получаем идентификатор события.
Gadget=EventGadget() ; Узнаём идентификатор активного гаджета.
If Event=#PB_Event_Gadget And Gadget=2 ; Условие будет выполнено при щелчке по кнопке.
MessageRequester(«Сообщение»,»Была нажата кнопка») ; Выводим на экран сообщение.
EndIf
Until Event = #PB_Event_CloseWindow ; Прерываем цикл при закрытии окна
Размер скомпилированых прог примерно по 15 Кб каждая.
Для их работы не нужны никакие внешние файлы.
Работать будут под любой виндой начиная с Win95.
Добавлено:
Вот окно редактора
Цитата:
Кто знает, почему недоступны сайты pbasic.spb.ru (pbasic.info) и boolean.ru? |
А какое отношение 1С (boolean.ru) имеет к PureBasic?
Страницы: 1 2 3 |
Источник: forum.ru-board.com
Лаунчер (на PureBasic)
Отправлено: 21-Апр-2018 10:27
Иногда требуется собрать какое то количество программ в оболочку, для удобного запуска.
Программ AutoPlay , имеется множество, но если по каким то критериям, они не устраивают, можно написать свою.
В данной теме, покажу (напишу и выложу исходник) как создать оболочку в PureBasic (если у пользователей появится интерес к данной теме)
Как то давно, пытался понять, принципы написания программ на PureBasic .
Но язык не в какую не поддавался осмыслению.
Хотелось написать лаунчер, нарисовал окно в редакторе форм и. завис.
Долго думал, как навесить события на нажатие клавиш, как подправить дизайн созданного окна,
так как в редакторе форм, нет возможности изменять все свойства элементов.
Но так и не справился.
Теперь чуть накопил знаний, могу научить и вас.
В чем же преимущество данного Лаунчера:
Малый размер файла
Можно создать как х86 так и х64
Можно добавить любой функционал, ограниченный лишь вашими знаниями языка.
Познакомитесь с PureBasic и возможно возьмете его на вооружение.
Минусы:
Сам язык платный, но не дорогой. (в интернете можно найти, полные, свежие версии)
Рисовать интерфейс лучше вручную, указывая позицию и размер элементов
Ну или в редакторе форм, набросать интерфейс, а потом перенести код, в основной.
Набросал тестовый проект, прошу протестировать правильное отображение кнопок (сверить с картинкой)
(в PureBasic изначально нет функции показа картинки с текстом на кнопке, поэтому сделана отдельная процедура на API)
Последний раз редактировалось: Joker-2013 (2019-03-03 16:32), всего редактировалось 2 раз(а)
Отправлено: 02-Мар-2019 21:53 (спустя 10 месяцев 11 дней)
AZJIO , смена иконки у запущенногозапускаемого файла:
SendMessage_(WindowID(0),#WM_SETICON,0,ExtractIcon_(0,»Shell32.dll»,23))
If PathFileExists_(GetExePath()+»icon.ico»)
LoadImage(0, GetExePath()+»icon.ico»)
If IsImage(0)
SendMessage_ (WindowID(0, #WM_SETICON, 0, ImageID(0))
EndIf
EndIf
Извлечение иконок из файла:
Последний раз редактировалось: Joker-2013 (2019-03-02 22:10), всего редактировалось 1 раз
Отправлено: 02-Мар-2019 22:00 (спустя 6 минут)
В вообще, по поводу Лаунчера с ini.
Если есть время, то можно сделать приложение, без ручной конфигурации файла ini
Видел код, когда объекты можно двигать по окну.
В итоге, делаем небольшой конструктор, в котором можно создавать объекты, например кнопки,
размещать их в окне приложения, растягивать окно итд итп.
Или как делфи7 отдельное окно с объектами и рабочее окно.
Но нужно много сил и времени.
Отправлено: 02-Мар-2019 22:12 (спустя 12 минут)
Но нужно много сил и времени.
вот это наверно определяющее, и ещё желание. Я уже делал прогу для создания гуи где можно перемещать элементы и делать доводку до пикселей стрелками, но это в лаунчере лишнее. Я наоборот делал чтобы кнопки сами размещались автоматически. Вариант на AutoIt3 протестирован, можно указать область размещения кнопок, указать число колонок, отступы между кнопками и они сами подстроятся под размеры.
Но я пробовал лаунчеры с пропиской координат кнопок, не знаю насколько это удобно, каждому своё, но там проблема допустим втиснуть кнопку, надо все переписывать.
LauncherPB — добавил Выход, сворачивание и область в ini
Отправлено: 02-Мар-2019 22:36 (спустя 23 минуты)
AZJIO , Вот ещё волшебная команда для управления только клавиатурой (Tab Enter)
;Навешиваем на окно:
AddKeyboardShortcut(0, #PB_Shortcut_Return, #Menu_Enter)
;А в действиях: (#Menu_Enter)
PostEvent(#PB_Event_Gadget, GetActiveWindow(), GetGadgetEnter, #PB_EventType_LeftClick)
По Enter выполняется действие как по ЛКМ и не надо дописывать дополнительные события.
Могу рабочий вариант накропать, если надо.
Отправлено: 04-Мар-2019 16:47 (спустя 1 день 18 часов)
Добавил поддержку иконок. Но в варианте AutoIt3 была функция _WinAPI_PathFindOnPath, то есть найти dll для иконок, я сделал проще, так как скорее всего для иконок и картинок лучше использовать соседнюю папку, то если относительный путь не содержит «», то ищем в System32. Также остался баг с вычислением колонок, при нечётном, когда не помещаются идеально квадратом, то есть в одной колонке 3 кнопки в другой 2, то не как ожидалось. Скорее всего это связано с тем что в PureBasic интегрер всегда округляется то целого, в AutoIt3 вычисляется в с плавающей точкой, при этом в PureBasic это решается добавлением десятичного к числу, например d*1.0, тогде вычисления будут в типе с плавающей точкой, а округлятся итоговый, но пока не разгадал где нестыковка, надо осмысливать, а я просто конвертировал код.
Отправлено: 05-Мар-2019 19:01 (спустя 1 день 2 часа)
Насчет запускатора с INI — написан давно.
Называется «Menu 4.2.2.56» функционал гибкий, осваивается быстро, работает уже у меня лет 15.
Автораны для пиратских игровых CD только на нем и писались. Всё время в сети распространяется с примером и хелпами от автора.
P.S. Блин, я такой старый, что вижу снова и снова на форумах одно и то же. Прогеры пишут то, шо давно написано, потом про их труды забывают и новые прогеры пишут то же самое по новой.
Источник: usbtor.ru