Форум программистов, компьютерный форум, киберфорум
Pure Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.97/1078: Рейтинг темы: голосов - 1078, средняя оценка - 4.97
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502

PureBasic

13.03.2009, 15:00. Показов 246518. Ответов 1214

Студворк — интернет-сервис помощи студентам
Есть такая замечательная разновидность диалекта бейсика именуемая PureBasic.
Сайт разработчика http://www.purebasic.com/
Рускоязычное зеркало http://pbasic.spb.ru/

Как и любой другой бейсик он прост в освоении.
Заточен полностью под винду.
С его помощью можно разрабатывать консольные, окнонные (с поддержкой стиля XP) и игровые программы.
При этом не нужно знать как работает комп или искать инфу по API функциям, т. к. есть более 800 встроеных функций различного назначения, которых в большенстве случаев достаточно чтобы написать не сложную прогу. При необходимости можно использовать API (есть встроеная поддержка) или ассемблерные вставки. При необходимости можно добавить в среду дополнительные функции из внешних библиотек, большой выбор которых есть на страничке http://www.purearea.net/pb/english/userlibs.php

Вот простоейший пример программы отображающей надпись в окне
PureBasic
1
2
3
4
5
6
7
8
9
; Открываем окно
OpenWindow(1,200,250,300,50,"Заголовок окна",#PB_Window_MinimizeGadget)
CreateGadgetList(WindowID(1)) ; Создаём новый список гаджетов
TextGadget(2,80,20,180,15,"Демонстрационная программа") ;Отображаем текст
 
Repeat ; Начало главного цикла Repeat-Until
 Event=WaitWindowEvent() ; Получаем текущий идентификатор события
Until Event=#PB_Event_CloseWindow ; Прерываем цикл при попытке закрыть окно (щелчёк по крестику в заголовке окна)
End ; Завершаем работу программы
Размер скомпилированого файла всего 14КБ!

В архиве есть парочка примеров.

Высказывайте выше мнение об PureBasic
Вложения
Тип файла: rar Примеры_PB_1.rar (39.3 Кб, 2371 просмотров)
9
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.03.2009, 15:00
Ответы с готовыми решениями:

PureBasic 4.60
Пару дней назад вышла версия 4.60. Демо версии можно скачать на официальном сайте http://purebasic.com/download.php В этой версии...

Purebasic и AV
Добрый день, скажите почему Антивирусы так не любят пурик? достаточно 1 команды например rename() и все сразу детект 5 антивирусами на...

Purebasic 5.0 + html
Как использовать PB в web разработке ? Возможно ли применить его вместо JS и PHP ? Откликнитесь кто знает ответ !

1214
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 16:33
Студворк — интернет-сервис помощи студентам
ВОТ обновил
Вложения
Тип файла: rar Anim2.rar (2.4 Кб, 31 просмотров)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 16:49  [ТС]
Если я правильно понял, нужно заменить фоновую картинку?
Тогда наиболее простой способ, загрузить другой рисунок в спрайт, используемый в качестве фона.
В данной программе у него идентификатор 13

Не компилировал (нет всех требуемых рисунков), но по идее, должно работать.
Вложения
Тип файла: rar Anim2_2.rar (2.4 Кб, 28 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 17:23
я почитал код и вправду должно работать но при нажатии ничего не происходит я выложил примеры картинок код и всё что нужно для проверки, заранее благодарен.
и ещё у меня фоновая мелодия mp3 у тебя mid в коде нужно поменять формат всё выложил всё там)
Вложения
Тип файла: rar anim2_3.rar (163.6 Кб, 39 просмотров)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 17:40  [ТС]
При клике по кнопке "Новая игра" (идентификатор 1) производится проверка существования спрайта с идентификатором 1.
Code
1
If IsSprite(1)
Возможно он был раньше, но сейчас отсутствует.
Нужно убрать эту проверку и все будет работать как задумано.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 17:54
обалденно спасибо большое чо то я не догадался посмотреть туда где при нажатии, но странно почему кнопка удалялась а картинка не менялась сразу просто они вместе находятся кнопка тоже по идеи должна остаться, ну ладно без разницы главна что сейчас всё работает)

Добавлено через 8 минут
погоди а вот ты мне про файлы рассказывал как вывести четыре числа но они не выводятся учтя что у меня полный экран и картинка есть.
а тут ваще как присвоить и вывести значение переменной? просто раньше я в паскале писал там просто
Pascal
1
2
3
4
5
var a:integer;
b:string;
a:=1;
b:=("Privet");
writeln(a,b); //выведет = 1Privet
а тут как?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 18:16  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
но они не выводятся
Как выводишь?

Цитата Сообщение от aristov-96 Посмотреть сообщение
просто раньше я в паскале писал там просто
Это консольная программа, а не полноэкранная.
Вот аналогичная на PureBasic
PureBasic
1
2
3
4
5
6
7
a.i ; Создание переменной типа integer
b.s ; Создание переменной типа string
OpenConsole() ; Открытие окна консоли
a=1
b="Privet"
PrintN(Str(a) + b) ; Вывод текста в консоль
Input()          ; Ввод строки, заканчивающейся нажатием на кнопку Enter
Функция Str преобразовывает число в строку текста.
А функция Input нужна чтобы консоль не закрылась.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 18:35
погоди вот ты говоришь консольные полно экранные я запутался) а вот ты аналогично написал это можно в моей полно экранной программе сделать? если нет то есть другие способы?
ну я выводил
Цитата Сообщение от PB Посмотреть сообщение
DrawText(20,20,Str(Var1), RGB(255, 255, 255)) DrawText(20,50,Str(Var2), RGB(255, 255, 255)) DrawText(20,80,Str(Var3), RGB(255, 255, 255)) DrawText(20,110,Str(Var4), RGB(255, 255, 255)
аа я понял я не так делал слушай то получается что бы в моей программе вывести переменные может тоже DrawText(20,110,Str(a), RGB(255,255,255)) DrawText(20,110,Str(b), RGB(255,255,255))
получиться?)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 18:40  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
аа я понял я не так делал слушай то получается что бы в моей программе вывести переменные может тоже
Если переменные имеют имена A и B, то да.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 18:44
это вообще удобно и классно)) надо запомнить)) а можно сделать проверку если файл есть (txt) то брать из него числа если нет то создать ввести и взять из него?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 19:12  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
можно сделать проверку если файл есть (txt) то брать из него числа если нет то создать ввести и взять из него?
PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Dim Setting.i(10) ; Создание массива, содержащего 11 переменных, типа Integer
 
If FileSize("File.txt")<0 ; Такого файла нет.
  If CreateFile(0,"File.txt") ; Создание файла. Если файл существовал, то его содержимое будет стерто!
    WriteInteger(0, 1) : 
    WriteInteger(0, 2)
    WriteInteger(0, 3)
    WriteInteger(0, 4)
    CloseFile(0)
  Else
    MessageRequester("", "Не удалось создать файл!")
  EndIf
EndIf
 
If ReadFile(0, "File.txt") ; Открытие файла, только для чтения
  For i=1 To 4
    Setting(i) = ReadInteger(0) ; В цикле читаем данные из файла и помещаем в массив
  Next i
  CloseFile(0)
Else
  MessageRequester("", "Не удалось открыть файл!")
EndIf
 
; Это чтобы показать что было прочитано из файла
For i=1 To 4
  Debug Setting(i)
Next i
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 19:27
а чёрный это какой номер

Цитата Сообщение от aristov-96 Посмотреть сообщение
RGB(255, 255, 255))
надо чёрный текст белый фон
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 19:45  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
надо чёрный текст белый фон
Code
1
DrawText(20,20,"Тут текст", RGB(0, 0, 0), RGB(255, 255, 255))
Для этого можно использовать инструмент "Создать цвет".
В нем подбираем требуемый цвет и щелкаем по кнопке "Вставить RGB".
Миниатюры
PureBasic  
Изображения
 
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 19:51
чо то я с файлами не разобрался просто глянь код я думаю ошибка очень простая)
Вложения
Тип файла: rar Anim2.rar (2.5 Кб, 27 просмотров)
0
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
15.10.2010, 20:10
а всё понял там имя другой файла поставить надо)

Добавлено через 7 минут
Вроде всё сделал а текст появляется только не секунду почему так?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
15.10.2010, 20:23  [ТС]
Потому что отображать текст нужно в главном цикле программы.
Ведь как все на экране отображается?
Сначала, функция ClearScreen полностью очищает весь экранный буфер (всего их два).
Затем, производится рисование по этому экранному буферу.
После чего, с помощью функции FlipBuffers() текущий буфер отображается на экране, а тот что отображался, скрывается и по нему будет производится рисование. Затем, буферы меняются.
Это происходит довольно часто (примерно 60 раз в секунду).
Вложения
Тип файла: rar Anim2_4.rar (2.6 Кб, 38 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
16.10.2010, 15:22
я записал в файл(txt) 5-ое число и мне надо так
если 1 число + 2 число + 3 число + 4 число + (5 число *3) меньше 1 число + 2 число + 3 число + 4 число то добавляет кнопку
вот мой вариант
PureBasic
1
2
3
If Setting(1)+Setting(2)+Setting(3)+Setting(4)+(Setting(5)*3)>Setting(1)+Setting(2)+Setting(3)+Setting(4)
          addbutton(27,500,500,"pic16.bmp","pic17.bmp")
        EndIf
есть ошибки?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
16.10.2010, 15:38  [ТС]
При данном условии, надо > заменить на <

Только вот условие не совсем корректно.
1 число + 2 число + 3 число + 4 число + (5 число *3)
Будет всегда больше чем
1 число + 2 число + 3 число + 4 число

Если только 5 число не является отрицательным.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
16.10.2010, 15:45
ну во первых я перепутал там не меньше а больше мне просто вот что надо
эта кнопка которая должна появиться при нажатии повышает число (1 или 2 или 3 или 4)
получается так
4+(5 число *3)>1 число + 2 число + 3 число + 4 число
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
16.10.2010, 16:08  [ТС]
Сейчас условие не выполняется?
Если бы это была бы консольная или оконная прога, то можно было бы с помощью отладчика посмотреть по какой причине оно не выполняется, но в полноэкранном режиме, не добраться до редактора кода, разве что принудительно остановить прогу отладчиком.

Добавьте перед операцией сравнения этот код
PureBasic
1
2
3
Debug Setting(1)+Setting(2)+Setting(3)+Setting(4)+(Setting(5)*3)
Debug Setting(1)+Setting(2)+Setting(3)+Setting(4)
CallDebugger
Сразу скажу, что при его выполнении, прога может на несколько секунд повиснут, после чего, она "свернется" и станут доступны окна редактора и отладчика.
Запустить работу проги с места ее останови модно выбрав в меню "Отладчик" пункт "Продолжить" или просто нажав на кнопку F7.

Но наиболее вероятная причина того, что условие не выполняется - ноль в Setting(5)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
16.10.2010, 16:20
там ошибки были я исправилты вот когда делал процедуру добавление кнопки у тебя ширина и длина нажатия одинаковая можно как-нибудь сделать, ну просто у меня маленькие кнопки мне надо меньше область нажатия, можно так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.10.2010, 16:20

Возможности PureBasic
PureBasic Shaders Clothes Simulation Physics Демонстрация тестовой версии игры Домино3D Онлайн Демо Версия Меню SDP...

Изучать ли purebasic?
Здравствуйте. У меня такие цели, подскажите пожалуйста подойдет ли purebasic для них: 1. создание оконных приложений на только windows,...

Литература по PureBasic
Небольшая подборка учебников и обучающих материалов на русском. Она будет полезна тем, кто только начинает изучать язык PureBasic.

Из vbs в purebasic
Если есть, кто может помочь с переводом из vbs в purebasic, то просьба помочь. Нужно перевести код из скрипта vbs в код purebasic. Код...

Sound в PureBasic
Приветствую всех. Когда-то, очень давно, на cyberforum была моя тема о выборе бейсика для написания звуковой игры. Для информации: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
120
Закрытая тема Создать тему
Новые блоги и статьи
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки. Добавлены следующие реквизиты типа Булево: - Буквы; - Цифры; - Символы. Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей. Самым главным критерием для. . .
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store. И так: 1. Скачиваем с. . .
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге). Задача: Программно добавить префикс в нумерацию документов. Решение: В модуле объекта. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru