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

PureBasic

13.03.2009, 15:00. Показов 235476. Ответов 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 Кб, 2365 просмотров)
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
03.10.2010, 17:06
Студворк — интернет-сервис помощи студентам
ха прикольно!! ваще спасибо большое но я немножко не про это я про то что просто курсор будет моим я сам назначаю а на фоне будет моя анимация(то есть полно экранный режим анимация на фоне пользовательский курсор - 3 нужных пункта)

Добавлено через 16 минут
Цитата Сообщение от PB Посмотреть сообщение
Высказывайте выше мнение об PureBasic
из языков программирования PureBasic для меня самый интересный буду его изучать)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 17:40  [ТС]
Правильнее в этом случае, создать несколько отдельых картинок заменять их по очереди, как сделано с курсором.
Но можно использовать туже, GIF анимацию или даже использовать видео.

Вот пример.
После запуска проги, нужно укзать путь к GIF или AVI файлу
Вложения
Тип файла: rar OpenScreen.rar (30.4 Кб, 117 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 18:19
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
If InitSprite()=0 Or InitKeyboard()=0 Or InitMouse()=0 Or InitMovie() = 0
  MessageRequester("", "Ошибка инициализации библиотек")
  End
EndIf
 
If LoadMovie(0, GetPathPart(ProgramFilename())+"abc.gif")
    OpenWindow(0, 100, 150, MovieWidth(0), MovieHeight(0), "Progamm", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
    PlayMovie(0, WindowID(0))
         OpenScreen(1024,768,16,"")
Else
  MessageRequester("Error", "Нет рисунка", 0)
    EndIf           
 
LoadFont(0,"Arial", 30) ; Загрузка шрифта "Arial" с размером 30. Ему присваивается идентификатр 0
 
If OpenScreen(1024,768,16,"") ; Переход в полноэкранный ражим, с параметрами 1024х768, 16 бит
  SetFrameRate(60)
  MouseLocate(1024/2, 768/2) ; Расположение курсора мышки в середине экрана
  TransparentSpriteColor(-1,RGB(255,0,255))
  CatchSprite(0,?Cursor)
  CreateSprite(1,MovieWidth(0), MovieHeight(0))
  PlayMovie(0,#PB_Movie_Rendered)
  ;RenderMovieFrame(0, SpriteID(1))
  AnimStep=0
  Repeat ; Главный цикл программы
    AnimStep+1
    ClearScreen(RGB(57, 123, 65)) ; Очитска экрана, заполнением его темно-зеленым цветом
    RenderMovieFrame(0, SpriteID(1))
    DisplaySprite(1,20,20)
      
    If StartDrawing(ScreenOutput()) ; Начало рисования по экрану
      DrawingFont(FontID(0))        ; Используемый шрифт
      DrawingMode(#PB_2DDrawing_Transparent) ; При рисовании, будет прозрачный фон у надписи
      DrawText(140,300,"Для завершения работы программы,", RGB(255, 255, 255))
      DrawText(200,350,"нажмите на кнопку Esc", RGB(255, 255, 255))
      StopDrawing() ; Завершение рисования
    EndIf
    
     ExamineMouse() ; Опрос состояния мышки
    
     MX=MouseX()  ; Текущие координаты мышки
     MY=MouseY()
     
     If (MX <> MX_Old Or MY <> MY_Old) And AnimStep>=6 ; Координаты мышки изменились, нужно произмести анимацию курсора
       SonicWalk3+1
       If SonicWalk3>7:SonicWalk3=0:EndIf
       
       If (MX < MX_Old+2 And SpritePos<>0) Or (MX+2 < MX_Old And SpritePos=0)
         SpritePos=320
       Else
         SpritePos=0
       EndIf
       
       MX_Old = MX
       MY_Old = MY
       AnimStep=0
     EndIf
     ClipSprite(0, SonicWalk3*40+SpritePos,0, 32, 36) ; Выбираем какую часть спрайта нужно отобразить
     DisplayTransparentSprite(0,MX,MY) ; Отображение спрайта в позиции, опередяемой координатами мышки
     
    
    FlipBuffers() ; Отображение на эуране буфера, по которому рисовали
    ExamineKeyboard() ; Опрос кнопок клавиатуры
    
  Until KeyboardPushed(#PB_Key_Escape) ; Прерывание цикла при нажатии на кнопку Esc на клавиатуре
  
Else
  MessageRequester("", "Не удалось перейти в полноэкранный режим с параметрами"+Chr(10)+"1024х768, 16 бит")
EndIf
End
 
DataSection
  Cursor:
  IncludeBinary "abc.gif" ;"sonwalk.bmp" ;"Cursor.bmp" 
EndDataSection
EndIf
смотри тут по идеи я открываю анимацию но когда запускаю пишет что типо программа завершена
Вложения
Тип файла: zip Архив ZIP - WinRAR.zip (12.7 Кб, 90 просмотров)
0
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 18:20
у тебя всё правильно просто я хотел бы что бы сразу анимация без выбора)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 18:47  [ТС]
Это не нужно
Code
1
2
3
    OpenWindow(0, 100, 150, MovieWidth(0), MovieHeight(0), "Progamm", #PB_Window_MinimizeGadget|#PB_Window_ScreenCentered)
    PlayMovie(0, WindowID(0))
         OpenScreen(1024,768,16,"")
Вложения
Тип файла: rar Anim.rar (7.3 Кб, 110 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 19:00
ну вот блин а щас без курсора((((((((
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 19:03  [ТС]
А разве там был рисунок курсора?
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 19:20
так я его вставил там же в коде прописан соник)
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 19:21  [ТС]
Вот с курсором
Вложения
Тип файла: rar Anim.rar (7.6 Кб, 115 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 19:51
ага спасибо!!!

Добавлено через 17 минут
слушай у тебя в примерах есть кнопка я напрмер хочу занести её в прогу
я в проге вставляю
PureBasic
1
2
3
4
5
6
Event=WaitWindowEvent() ; Получаем идентификатор события.
  Gadget=EventGadget() ; Узнаём идентификатор активного гаджета.
   If Event=#PB_Event_Gadget And Gadget=2 ; Условие будет выполнено при щелчке по кнопке.
    MessageRequester("Сообщение","Была нажата кнопка") ; Выводим на экран сообщение.
   EndIf 
  Until Event = #PB_Event_CloseWindow ; Прерываем цикл при закрытии окна
но кнопки нету может что-то ещё надо?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 20:00  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
я в проге вставляю
Это в оконном или полноэкранном режиме?
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 20:02
вся программа в полном экране
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 20:13  [ТС]
Тот код только для оконного режима, т. е. для окон, созданых операционной системой.
В полноэкранном все по другому. Там надо самому создавать кнопки (скажем из спрайтов) и отслеживать клики по ним.

Добавлено через 8 минут
Но если использовать 3D движок, то можно создавать окна в полноэкранном режиме.
В папке с примерами, входящими в дистрибутив есть файл Window3D.pb
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
03.10.2010, 20:31
блин ну можно же как-нибудь по другому сделать например по сложнее сделать так что бы просто надпись была и просто если нажал кнопку(на мышке) в нужно диапазоне координат(вокруг надписи) то идут уже следующие действия можно как-то так?

Добавлено через 8 минут
слушай ещё кое-что вот тут
PureBasic
1
    ClearScreen(RGB(57, 123, 65)) ; Очитска экрана, заполнением его темно-зеленым цветом
тёмно-зелёный а как сделать белый?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
03.10.2010, 21:02  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
тёмно-зелёный а как сделать белый?
ClearScreen(RGB(255, 255, 255))
В меню "Инстументы", есть пункт "Создать цвет".



Цитата Сообщение от aristov-96 Посмотреть сообщение
бы просто надпись была и просто если нажал кнопку(на мышке) в нужно диапазоне координат(вокруг надписи) то идут уже следующие действия можно как-то так?
Вот пример с кнопкой, созданой из двух спрайтов
Вложения
Тип файла: rar Anim.rar (31.8 Кб, 113 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
04.10.2010, 13:30
Слушай а как сделать что бы на протяжении всё программы играла музыка а при нажатии на кнопки звуки?

Добавлено через 4 часа 33 минуты
и ещё например я хочу две кнопки добавить то я пишу
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
If InitSprite()=0 Or InitKeyboard()=0 Or InitMouse()=0 Or InitMovie() = 0
  MessageRequester("", "Ошибка инициализации библиотек")
  End
EndIf
 
If LoadMovie(0, GetPathPart(ProgramFilename())+"abc.gif") = 0
  MessageRequester("Error", "Нет рисунка", 0)
EndIf           
 
LoadFont(0,"Arial", 30) ; Загрузка шрифта "Arial" с размером 30. Ему присваивается идентификатр 0
 
If OpenScreen(1024,768,16,"") ; Переход в полноэкранный ражим, с параметрами 1024х768, 16 бит
  SetFrameRate(60)
  MouseLocate(1024/2, 768/2) ; Расположение курсора мышки в середине экрана
  TransparentSpriteColor(-1,RGB(255,0,255))
  CatchSprite(0,?Cursor)
  CatchSprite(2,?ImegeExit_1)
  CatchSprite(3,?ImegeExit_2)
  CatchSprite(4,?pic1)
  CatchSprite(5,?pic2)
  CreateSprite(4,SpriteWidth(3), SpriteHeight(3))
  CopySprite(2,4)
  
  CreateSprite(1,MovieWidth(0), MovieHeight(0))
  PlayMovie(0,#PB_Movie_Rendered)
 
  ButtonExitState=0
  ButtonGadget=0
    Repeat ; Главный цикл программы
    AnimStep+1
    ClearScreen(RGB(255, 255, 255)) ; Очитска экрана, заполнением его темно-зеленым цветом
    RenderMovieFrame(0, SpriteID(1))
    DisplaySprite(1,20,20)
      
    If StartDrawing(ScreenOutput()) ; Начало рисования по экрану
      DrawingFont(FontID(0))        ; Используемый шрифт
      DrawingMode(#PB_2DDrawing_Transparent) ; При рисовании, будет прозрачный фон у надписи
            StopDrawing() ; Завершение рисования
    EndIf
    
     ExamineMouse() ; Опрос состояния мышки
    
     MX=MouseX()  ; Текущие координаты мышки
     MY=MouseY()
     
     If MX <> MX_Old Or MY <> MY_Old; Координаты мышки изменились, нужно произмести анимацию курсора
       
       If SpriteCollision(0, MX, MY, 4, 950, 1) = 0 ; Проверка нахождения курсора на спарйте=кнопка
         If ButtonExitState=1
           CopySprite(2,4) : ButtonExitState=0  ; Изменяем спрайт
         EndIf
       ElseIf ButtonExitState=0
         CopySprite(3,4) : ButtonExitState=1
       EndIf
            
      If SpriteCollision(0, MX, MY, 4, 1, 1) = 0 ; Проверка нахождения курсора на спарйте=кнопка
         If ButtonGadget=1
           CopySprite(2,4) : ButtonGadget=0  ; Изменяем спрайт
         EndIf
       ElseIf ButtonGadget=0
         CopySprite(3,4) : ButtonGadget=1
       EndIf
       
       MX_Old = MX
       MY_Old = MY
     EndIf
     
     If SpriteCollision(0, MX, MY, 4, 950, 1) = 1 ; Курсор мышки на спрайте-кнопке
       If MouseButton(#PB_MouseButton_Left)=1 ; Нажата левая кнопка мышки
         End                                  ; завершение работы проги
       EndIf
     EndIf
     
     If SpriteCollision(0, MX, MY, 4, 1, 1) = 1 ; Курсор мышки на спрайте-кнопке
       If MouseButton(#PB_MouseButton_Left)=1 ; Нажата левая кнопка мышки
         End                                  ; завершение работы проги
       EndIf
     EndIf
           
     
     DisplaySprite(4,950,1)
     DisplayTransparentSprite(0,MX,MY) ; Отображение спрайта в позиции, опередяемой координатами мышки
     
    DisplaySprite(4,1,1)
     DisplayTransparentSprite(0,MX,MY) ; Отображение спрайта в позиции, опередяемой координатами мышки
     
    FlipBuffers() ; Отображение на эуране буфера, по которому рисовали
    ExamineKeyboard() ; Опрос кнопок клавиатуры
    
  Until KeyboardPushed(#PB_Key_Escape) ; Прерывание цикла при нажатии на кнопку Esc на клавиатуре
  
Else
  MessageRequester("", "Не удалось перейти в полноэкранный режим с параметрами"+Chr(10)+"1024х768, 16 бит")
EndIf
End
 
 DataSection
   Cursor:
   IncludeBinary "Cursor.bmp" 
   pic1:
   IncludeBinary "pic1.bmp"
   pic2:
   IncludeBinary "pic2.bmp"
   ImegeExit_1:
   IncludeBinary "выход из проги_0.bmp"
   
   ImegeExit_2:
   IncludeBinary "выход из проги_1.bmp" 
 EndDataSection
только та кнопка уже не выход пусть просто она будет (пофигу на то что там написано выход при нажатии) у меня она не появляется((
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
04.10.2010, 15:40  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
Слушай а как сделать что бы на протяжении всё программы играла музыка
Примерно так же как с анимацией рисунка.
Загрузаем музыку (mp3, wav, midi и др.) с помощью LoadMovie и воспроизводим с помощью PlayMovie
Вложения
Тип файла: rar Anim2.rar (39.4 Кб, 128 просмотров)
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
04.10.2010, 15:53
а может ли pure basic подключаться к БД(Базе Данных) не знаешь?

Добавлено через 2 минуты
и где ты такие красивые кнопки берёшь))?
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
04.10.2010, 16:00  [ТС]
Цитата Сообщение от aristov-96 Посмотреть сообщение
а может ли pure basic подключаться к БД(Базе Данных)
Можно.
В справке, есть раздел Database. Его же можно найти в сети
Там есть описание функций работы с базами данных.


Цитата Сообщение от aristov-96 Посмотреть сообщение
где ты такие красивые кнопки берёшь
Создаю с помощью программы Web Button Menu Maker.
1
12 / 12 / 0
Регистрация: 29.08.2010
Сообщений: 613
04.10.2010, 16:24
можешь программу вложить найти не могу с кейгеном(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.10.2010, 16:24
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru