purebasic.info

PureBasic forum
Текущее время: Пн окт 22, 2018 2:57 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3  След.
Автор Сообщение
СообщениеДобавлено: Ср окт 29, 2008 12:48 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Предлагаю здесь расказывать во некоторых возможностях Пурика по той или иной причине не упоминающихся в справке.

-------------------------

ComboBoxGadget

Если открыть справку на выпадающий список, то там нет ни слова о том, как отслеживать события открытия списка, и закрытия с выбором пункта или без выбора.
Раньше я для этого сравнивал числа, получекные с помощью GetGadgetState, но это позволяло узнавать тогоко то, что был выбран другой пункт и всё.
Оказывается список поддерживает EventType, а в справке ни слова! :shock:

Код:
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
 
If OpenWindow(0, 200, 200, 290, 130,"Выпадающий список",#PB_Window_MinimizeGadget)
If CreateGadgetList(WindowID(0))
; Создаём выпадающий список
ComboBoxGadget(0, 30, 30, 100, 30)
; Добавляем в него 4 пункта
AddGadgetItem(0,-1,"1")
AddGadgetItem(0,-1,"2")
AddGadgetItem(0,-1,"3")
AddGadgetItem(0,-1,"4")
; Делаем активным нулевой пункт (PIC16F84)
SetGadgetState(0, 0)
; Записываем в переменную номер текущего пункта
Active_Item.l = GetGadgetState(0)
Exit=0
; Начало цикла
Repeat
Event=WaitWindowEvent()
Gadget=EventGadget()
Type=EventType()
;Это условие будет выполняться, если щёлкнуть по выпадающему списку.
 If Event=#PB_Event_Gadget And Gadget=0
  Select Type
    Case 1
      Debug "1  Список закрылся с выбором пункта"
    Case 7
      Debug "7  Список открылся"
    Case 8
      Debug "8  Список закрылся без выбора пункта"
  EndSelect
 EndIf
 
Until Event=#PB_Event_CloseWindow
 
EndIf
EndIf


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 4:19 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Ещё в Пурике есть функция OpenComPort, открывающая COM порт, но в справке о ней ни слова!
Судя по всему эта функция похожа на OpenFile.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 5:39 pm 
Не в сети
ассистент

Зарегистрирован: Пт апр 20, 2007 8:08 pm
Сообщений: 21
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр писал(а):
Ещё в Пурике есть функция OpenComPort, открывающая COM порт, но в справке о ней ни слова!
Судя по всему эта функция похожа на OpenFile.

Is not a function? array?, macro or linked list.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср окт 29, 2008 5:56 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Это работает до версии PB4.20

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Сб авг 20, 2011 12:31 pm 
Не в сети
док

Зарегистрирован: Вт июл 17, 2007 1:34 pm
Сообщений: 90
Откуда: Пенза
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
OpenComPort = OpenFile_()

_________________
purebasic x64


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс дек 23, 2012 7:59 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Нашел в пурике несколько констант, о которых нет ни слова в справке и в инете.
Код:
1
2
3
4
Debug #PB_Event_ClientConnected
Debug #PB_Event_DataReceived
Debug #PB_Event_FileReceived
Debug #PB_Event_ClientDisconnected

Что за константы и для чего они? Очень похоже на события от асинхронных сокетов.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 12:01 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Не запуская код ответьте что будет при его запуске?
  • Пурик, ругнется на совпадение имен.
  • Вызовет библиотечную функцию OpenWindow(), проигнорировав макрос.
  • Вызовет макрос проигнорировав функцию.
Код:
1
2
3
4
5
Macro OpenWindow(Window, x, y, InnerWidth, InnerHeight, Title="", Flags="", ParentWindowID=0)
  MessageRequester(Title, "Ожидали вызов функции OpenWindow()?")
EndMacro
 
OpenWindow(0, 0, 0, 0, 0, "Форточка")


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 5:27 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
Пётр
Я думаю второе, из-за разного количества параметров.

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 6:36 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
А я думаю, мессага будет :D

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 7:03 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Никита Однороб писал(а):
А я думаю, мессага будет

Ну ты реально экстрасенс! :D

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 10:31 am 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
kvitaliy, я ж код не запускал :D Неправильно, да? :)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 10:42 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Никита, напиши почему ты считаешь что выполнится макрос, а не функция, или пурик не ругнется на совпадение имен?

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 12:48 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт дек 17, 2009 4:49 pm
Сообщений: 1230
Откуда: г. Ангарск
Благодарил (а): 2 раз.
Поблагодарили: 15 раз.
Пункты репутации: 10
Прикольно, так тоже работает
Код:
1
2
3
4
5
Macro MessageRequester()
  Debug "MessageRequester"
EndMacro
 
MessageRequester()


Интересно Фред знает? :)

_________________
.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 2:02 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Пётр, по твоему посту понял)) Я ж психолог - по расположению слов в посте понял твои мысли :D

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вс май 19, 2013 2:42 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11300
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
Никита Однороб писал(а):
Пётр, по твоему посту понял
Тут форум не по психологии, а по программированию, поэтому нужно было написать что по твоему мнению сделает компиль.

Еще интересный код.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
Procedure Message(Title.s, Message.s, Flag)
  ProcedureReturn MessageRequester(Title, Message, Flag)
EndProcedure
 
Macro MessageRequester(Title, Msg, Flag=0)
  Message(Msg, Title, Flag)
EndMacro
 
MessageRequester("Заголовок", "Текст")
 
UndefineMacro MessageRequester
 
MessageRequester("Заголовок", "Текст")

Обратите внимание где какой текст будет выведен.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 32 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB