PureBasic для PC

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Аватара пользователя
Dmitry Dubrovenko
Поставщик валерьянки для Кота
Сообщения: 2349
Зарегистрирован: Вс янв 09, 2011 16:51:39
Откуда: Санкт-Ленинград
Контактная информация:

Re: PureBasic для PC

Сообщение Dmitry Dubrovenko »

А на форуме ПурБейсика Вы это выкладывали?
ICQ нет, и, в ближайшее время, не будет.
БАТАН
Родился
Сообщения: 1
Зарегистрирован: Вт фев 05, 2013 18:08:04

PureBasic

Сообщение БАТАН »

В поисках очень быстрого и простого языка натолкнулся на Purebasic 5 , но учебников на него очень мало , кто знает где есть стоящий бесплатный учебник в pdf буду благодарен ! И еще бенчи ищу , может кто встерчал . А так синтексис у него - пой и танцуй !
Аватара пользователя
blackx
Говорящий с текстолитом
Сообщения: 1518
Зарегистрирован: Пт дек 28, 2012 21:56:46
Откуда: St. Petersburg

Re: PureBasic

Сообщение blackx »

БАТАН писал(а):А так синтексис у него - пой и танцуй !

Ага, с бубном...
Изображение only pure true norwegian blackx Изображение
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: PureBasic

Сообщение Мурик »

На русском литературы действительно мало, но ее достаточно для изучения основ, а дальше все будет намного проще.
Для начала прочитайте эту подборку. http://www.cyberforum.ru/pure-basic/thread354195.html
http://purebasic.ucoz.ru/publ/uchebnye_ ... ra/4-1-0-9

Много полезной информации можно найти в справке.
Если с английским на вы, то есть русскоязычная онлайн справка и офлайн справка. Так же среду программирования не сложно русифицировать. http://www.cyberforum.ru/pure-basic/thread354222.html

После этого посмотрите примеры программ. http://www.cyberforum.ru/pure-basic/thread354254.html
Выберите какой-то пример по проще и попытайтесь понять как он работает. Когда поймете это, попробуйте доработать пример - что-то изменить в нем или даже улучшить.
Так постепенно и поймете что к чему.
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: PureBasic

Сообщение kalobyte »

решил поковырять его
и столкнулся с гимором

значит я там использую генератор форм и он генерит некий код

Код: Выделить всё

Procedure mainwindow()
  Window_0 = OpenWindow(#PB_Any, 0, 0, 140, 130, "", #PB_Window_SystemMenu)
  Text_0 = TextGadget(#PB_Any, 6, 5, 52, 25, "X pos.")
  Text_1 = TextGadget(#PB_Any, 6, 39, 54, 25, "Y pos.")
  Text_2 = TextGadget(#PB_Any, 6, 74, 54, 25, "Timeout")
  Text_3 = TextGadget(#PB_Any, 10, 100, 120, 22, "F10 to save all data")
  xpos = TextGadget(#PB_Any, 70, 10, 60, 20, "")
  timeout = StringGadget(#PB_Any, 70, 70, 60, 25, "")
  ypos = TextGadget(#PB_Any, 70, 39, 60, 25, "")
EndProcedure


потом я этот код сохраняю в файл pbf, который типа обычный исходник
потом в главном файле я этот файл подключаю

IncludeFile "mouse.pbf"

а потом вызываю функцию отрисовки окна

mainwindow()

While 1
Window_0_Events()
Wend

и получается ошибка в файле формы в строке Procedure mainwindow()
говорит типа syntax error

собственно в чем тут дело? :dont_know:
версия пб 5.11 с кряком
тематические ответы только в форуме, в приват не пишите
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: PureBasic

Сообщение Мурик »

Все нормально компилируется. В коде ошибок нет.

Код: Выделить всё

Procedure mainwindow()
  Window_0 = OpenWindow(#PB_Any, 0, 0, 140, 130, "", #PB_Window_SystemMenu)
  Text_0 = TextGadget(#PB_Any, 6, 5, 52, 25, "X pos.")
  Text_1 = TextGadget(#PB_Any, 6, 39, 54, 25, "Y pos.")
  Text_2 = TextGadget(#PB_Any, 6, 74, 54, 25, "Timeout")
  Text_3 = TextGadget(#PB_Any, 10, 100, 120, 22, "F10 to save all data")
  xpos = TextGadget(#PB_Any, 70, 10, 60, 20, "")
  timeout = StringGadget(#PB_Any, 70, 70, 60, 25, "")
  ypos = TextGadget(#PB_Any, 70, 39, 60, 25, "")
EndProcedure

mainwindow()

While 1
  ;Window_0_Events()
  If WaitWindowEvent() = #PB_Event_CloseWindow
    Break
  EndIf
Wend
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: PureBasic

Сообщение kalobyte »

срань господня, это глюки пб
вот еще прикол

Код: Выделить всё

  MainWindow = OpenWindow(#PB_Any, 439, 209, 104, 103, "mouse control", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_BorderLess)

    Text_0 = TextGadget(#PB_Any, 5, 5, 45, 20, "X pos.")
    Text_1 = TextGadget(#PB_Any, 5, 30, 45, 20, "Y pos.")
    Text_2 = TextGadget(#PB_Any, 5, 55, 45, 20, "Timeout")
    Text_3 = TextGadget(#PB_Any, 5, 80, 95, 20, "F10 to save all data")
    xpos = TextGadget(#PB_Any, 55, 5, 45, 20, "")
    ypos = TextGadget(#PB_Any, 55, 30, 45, 20, "")
    timeout = StringGadget(#PB_Any, 55, 50, 45, 20, "")
    CreatePopupMenu(0) ; Создаём всплывающее меню
    MenuItem(0,"Выход") ; Добавляем пункт к меню


image = CatchImage(#PB_Any, ?mouse)
AddSysTrayIcon(1, WindowID(MainWindow), ImageID(image))
SysTrayIconToolTip(1, "Icon 1")

Repeat
  Event = WaitWindowEvent()
  Menu = EventMenu()
 
  Select Event
   Case #PB_Event_MinimizeWindow
    HideWindow(MainWindow,#True)
   
    Case #PB_Event_SysTray
    If  #PB_EventType_RightClick = EventType()
      Debug "dfg"
      DisplayPopupMenu(0, WindowID(MainWindow))
    EndIf
   
  Case #PB_Event_SysTray
    If EventType() = #PB_EventType_LeftClick
        HideWindow(MainWindow,#False)
        SetWindowState(MainWindow, #PB_Window_Normal)
        SetActiveWindow (MainWindow)
        DisplayPopupMenu(0, WindowID(MainWindow))
        Debug "левый клик"
    EndIf
 
    Default
   
EndSelect
 
 
 
Until Event = #PB_Event_CloseWindow
End

DataSection
  mouse: IncludeBinary "mouse.ico"
EndDataSection
 
 


или я идиот, или создатели этой штуки
или же там и правда глюк, но не работает последняя секция селекта, где на трее левой кнопкой кликаю
если же этот кусок поместить предпоследним, то он работает, но не работает последний

в чем дело? :facepalm:
тематические ответы только в форуме, в приват не пишите
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: PureBasic

Сообщение Мурик »

kalobyte писал(а):это глюки пб
Вряд ли. Иначе о них было известно. Скорее всего ошибка в коде.

kalobyte писал(а):но не работает последняя секция селекта, где на трее левой кнопкой кликаю
В справке написано.
It will then compare this value to all of the Case <expression> values and if a given Case <expression> value is true, it will then execute the corresponding code and quit the Select structure.
Ищется первое совпадение и на этом заканчивается сравнение.

Код: Выделить всё

MainWindow = OpenWindow(#PB_Any, 439, 209, 104, 103, "mouse control", #PB_Window_SystemMenu|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_BorderLess)

Text_0 = TextGadget(#PB_Any, 5, 5, 45, 20, "X pos.")
Text_1 = TextGadget(#PB_Any, 5, 30, 45, 20, "Y pos.")
Text_2 = TextGadget(#PB_Any, 5, 55, 45, 20, "Timeout")
Text_3 = TextGadget(#PB_Any, 5, 80, 95, 20, "F10 to save all data")
xpos = TextGadget(#PB_Any, 55, 5, 45, 20, "")
ypos = TextGadget(#PB_Any, 55, 30, 45, 20, "")
timeout = StringGadget(#PB_Any, 55, 50, 45, 20, "")
CreatePopupMenu(0) ; Создаём всплывающее меню
MenuItem(0,"Выход") ; Добавляем пункт к меню


image = CatchImage(#PB_Any, ?mouse)
AddSysTrayIcon(1, WindowID(MainWindow), ImageID(image))
SysTrayIconToolTip(1, "Icon 1")

Repeat
  Event = WaitWindowEvent()
  Menu = EventMenu()
 
  Select Event
    Case #PB_Event_MinimizeWindow
      HideWindow(MainWindow,#True)
     
    Case #PB_Event_SysTray
      If #PB_EventType_RightClick = EventType()
       
        Debug "dfg"
        DisplayPopupMenu(0, WindowID(MainWindow))
       
      ElseIf EventType() = #PB_EventType_LeftClick
       
        HideWindow(MainWindow,#False)
        SetWindowState(MainWindow, #PB_Window_Normal)
        SetActiveWindow (MainWindow)
        DisplayPopupMenu(0, WindowID(MainWindow))
        Debug "левый клик"
       
      EndIf
     
    Default
     
  EndSelect
 
 
 
Until Event = #PB_Event_CloseWindow
End

DataSection
  mouse: : IncludeBinary #PB_Compiler_Home+"Examples\Sources\Data\CdPlayer.ico"
EndDataSection
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: PureBasic

Сообщение kalobyte »

:facepalm: вот тебе и программирование
а на сях выполнение продолжается дальше, а чтобы не продолжалось, после каждого кейса ставят брейк
а я еще подумал, чего это брейка в примерах нигде нет
тематические ответы только в форуме, в приват не пишите
bolek
Сверлит текстолит когтями
Сообщения: 1178
Зарегистрирован: Пт авг 21, 2009 03:22:12

Re: PureBasic

Сообщение bolek »

Я на пурике за много уже лет написал не одну программу, и, практически всегда, когда я думал про глюки в PB, глюки были у меня. :))
Не идеален он, конечно... как и мы сами.
И да, прежде чем писать программу, желательно почитать хотя бы основы языка. А то со "свиным рылом (С-шными замашками) да в калашный ряд" :)

А инфу по PB лучше искать на оф.форуме
http://www.purebasic.fr/english/
и двух наших
http://purebasic.info/phpBB3ex/index.php
http://purebasic.mybb.ru/
bolek
Сверлит текстолит когтями
Сообщения: 1178
Зарегистрирован: Пт авг 21, 2009 03:22:12

Re: PureBasic

Сообщение bolek »

kalobyte писал(а):...а я еще подумал, чего это брейка в примерах нигде нет

BREAK есть, только для другого - выйти из цикла. Вот сразу видно: ничего не читал, а туда же... глюки...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: PureBasic

Сообщение BOB51 »

Есть скан книжи
p000000 Копировать.jpg
(117.71 КБ) 787 скачиваний

и кучка бейсиков под ДОС/винь98(с XP также пашут, но любят FAT32, a не NTFS диски).
Но токмо по е-mail. Как обработаю книжкин скан - выложу в "СУНДУК" (ежли примут :))) ).
:tea:
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: PureBasic

Сообщение Мурик »

BOB51 писал(а):ДОС/винь98
Эти системы мало кто использует.
Даже с ХРюшы постепенно переходят на 7 и 8. Программы под DOS на них проблематично запускать.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: PureBasic

Сообщение BOB51 »

А в таком случае - визуал студио с наворотами от мелкософта ( включая визуал бейсик и прочее) или AutoIt.
Кому чего нравится в зависимости от поставленнрй задачи.
8)
bolek
Сверлит текстолит когтями
Сообщения: 1178
Зарегистрирован: Пт авг 21, 2009 03:22:12

Re: PureBasic

Сообщение bolek »

BOB51 писал(а):А в таком случае - визуал студио с наворотами от мелкософта ( включая визуал бейсик и прочее) или AutoIt
Ну ты горазд кидаться из крайности в крайность: или п.... пополам или х.. в дребезги :))
В свое время, когда искал бесплатный и доступный язык для не слишком навороченных программ в Win, перебрал много чего, в том числе и бейсики всякие и паскали с лазарусами. У всех общие недостатки: нестабильность, малое число примеров, немногочисленные и не очень дружелюбные форумы и т.д.
Пурик этих недостатков лишен, плюс генерит очень компактные программы, плюс очень легко и просто делается графический интерфейс программы (не совсем, конечно WYSIWYG, но приемлемо), плюс обширные библиотеки для разных разностей.
Сравни-ка 47 мегабайт - папка PB, против ХХХ гигабайт визуал студии. Даже CodeBlocks и то занимает в 5! раз больше места, чем пурик.

P.S. Я PB на радостях даже купил - евры тогда еще дешевле 37 руб. были, не то, что сейчас...
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: PureBasic

Сообщение BOB51 »

Так поглянь про AutoIt - и махонький и фриваре и файлы в комплекте прицепляет в свой экзешник...
:)
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: PureBasic

Сообщение Мурик »

BOB51 писал(а):Так поглянь про AutoIt
Годится разве что для автоматизации действий. У AutoIt много недостатков. Только некоторые из них.
AutoIt интерпретируемый и поэтому довольно медленно работает. Даже при создании EXE, не производится компиляция, а "склеивается" скрипт с интерпретатором. EXE никак не защищен от декомпиляции и исходник легко из него достать, т. е. о создании платного софта и речи быть не может - тут же взломают. А если "очень повезет", так еще перебьют копирайты и выдадут вашу разработку за свою. :shock: :kill:

AutoIt не поддерживает многопоточность.

AutoIt не позволяет создавать DLL и т. д., что понятно ведь ЯП интерпретируемый.

Нет нормальной IDE, с отладчиком и прочими фишками.
Из плюсов у AutoIt только поддержка автоматизации (оно и понятно, ведь для этого создавался). Больше плюсов не заметил.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15543
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: PureBasic

Сообщение BOB51 »

А разве этого в большинстве случаев для примитивного пользователя не достаточно? :)
bolek
Сверлит текстолит когтями
Сообщения: 1178
Зарегистрирован: Пт авг 21, 2009 03:22:12

Re: PureBasic

Сообщение bolek »

Для примитивного пользователя это вообще не нужно - зачем ему AutoIt, он пальцами по клаве давить будет, переключать окошки и запускать программы.

У меня потребности в выполнении скриптов никогда не было, а вот общаться с приборами по COM порту - часто нужно. Или сделать снимок чего удаленного через IP камеру, например.

Недавно понадобилось делать снимки и хранить их в базе данных - легко. И хотя для серьезной работы с базами данных удобнее другие пакеты, я не смог бы с их помощью делать сами снимки, для этого мне потребовалась бы еще программа, которая их сделает, сохранит в виде файлов, а уж потом эти файлы-картинки я бы запихал в базу.
Короче, тягомотина.

В AutoIt, как я понимаю, для этого нужно иметь программу, которая все это умеет, а уж он ее запустит - понажимает за меня кнопки.
А если такой программы нет - обломись, сам он этого не сделает. Или я не прав, посмотрев на скорую руку хелп к нему?

В любом случае, AutoIt - это несколько другое программирование, типа макросов в офисе. Хотя и в экселе умудряются играть в тетрис, но это, скорее, сродни извращению.
Инструмент лучше брать тот, что удобнее для решения конкретного круга задач, а не тот, что первым попался под руку.
Doom на макросах экселя не написать, и AutoIt тоже не поможет :)
kalobyte
Друг Кота
Сообщения: 13796
Зарегистрирован: Чт сен 20, 2007 14:08:00

Re: PureBasic

Сообщение kalobyte »

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

нашел пока несколько минусов
синтаксис бейсика мерзкий, некоторые операторы работают не как в сях
тот же switch case оказывается не проходит все пункты до конца, из-за чего пришлось делать быдлокод

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

аутоит мне понравился простотой и возможностью компилировать в ехе
на нем можно вполне писать мелкие проги на 1-2 действий без многопоточности

решил переписать свою прогу на пб, т.к. ощущаю, что она тормозит и 500к многовато для нее будет

у меня есть индикатор раскладки клавиатуры и написан он в 2005 что ли на чистом си и винапи, так занимает 25к вроде
примерно столько же дает пб, но не надо копаться в винапи

bolek писал(а):Или я не прав, посмотрев на скорую руку хелп к нему?

насчет скриншота, то можеш нажимать принт скрин и брать из буфера
я думаю есть винапи функция захвата экрана или одного окна, а ее можно легко вызвать из длл любой
можно поискать длл для работы с изображениями
я вот нашел длл для работы со сканером через виа и буду писать очередную платную прогу, а то уже хотел делать на шарпе

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

Вернуться в «Интеграция с ПК»