PureCOLOR_SetButtonColor(i, 0, $6E77FA) ; Устанавливаем цвет кнопки
Какого типа переменная должна быть для $6E77FA, если я хочу задать этот параметр в виде переменной ??
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка (продолжение…)
PureCOLOR_SetButtonColor(i, 0, $6E77FA) ; Устанавливаем цвет кнопки
Какого типа переменная должна быть для $6E77FA, если я хочу задать этот параметр в виде переменной ??
Какого типа переменная должна быть для $6E77FA
Та что по умолчанию, т. е. Long или Integer (4 байта).
Пиши так:
Color=$6E77FA PureCOLOR_SetButtonColor(i, 0, Color)
Спасибо, получилось.
Dim col.l(11) col.l(1)=$6E77FA col.l(2)=$FF6699 For a=0 To 11 If 5+(40*a)<446+80 ButtonGadget(a,45+(40*a), 5, 30,30,Str(a)) EndIf PureCOLOR_SetButtonColor(a, 0,col.l(a)) ; Устанавливаем цвет кнопки
Осваиваем дальше.
Тут neo спрашивал про вставки Си, здесь пишут что можно делать UserLibraries из Сишного кода, так как, тоже интересен этот вопрос, может кто объяснить как этим пользоваться?(примеры в папке SDK - не понял)
здесь пишут что можно делать UserLibraries из Сишного кода
Да можно, но по сути это мало чем отличается от создания DLL или LIB файла, в плане, Си кода.
Скажем, часть библиотеки PBOSL написана на Си.
Для этого нужен инструмент LibraryDesigner и компилятор LccWin32.
Пётр
Для этого нужен инструмент LibraryDesigner и компилятор LccWin32
Это в лине работать будет? Если будет объясни как этим пользоваться(В Си дуб-дубом).
Это в лине работать будет?
Как думаешь если компилятор имеет в имени Win32?
Пётр
Я понимаю что для линя есть свой компилятор Си. Меня интересует теоретическая возможность создания UserLibraries из Си кода, в лине. Как правильно пользоваться? Допустим есть библиотека написанная на Сях, возможно её переделать в UserLibraries пурика?
Меня интересует теоретическая возможность создания UserLibraries из Си кода, в лине. Как правильно пользоваться? Допустим есть библиотека написанная на Сях, возможно её переделать в UserLibraries пурика?
Как это делать в лине - не знаю.
Думаю что проще создать статическую библиотеку (типа LIB в винде) и импортировать функции с помощью оператора Import.
1.Из учебника:
Процедуры в PureBasic'e - это функции, которые мы сами можем создавать и использовать в последствии.
Вопрос. А может процедура не быть функцией ?
Поясню: у меня процедура - это набор команд, которые отрабатывают в программе несколько раз, но никаких параметров при этом мне передавать не надо. Как описать такую процедуру?
2. Использование Global для массива:
Global Dim massiv(10) или каждую переменную массива описывать как Global ?
Поясню: у меня процедура - это набор команд, которые отрабатывают в программе несколько раз, но никаких параметров при этом мне передавать не надо. Как описать такую процедуру?
Procedure Test() a=10 b=20 Debug a+b EndProcedure Test() ; Вызов процедуры
Global Dim massiv(10) или каждую переменную массива описывать как Global ?
Каждую не надо, объявляется массив целиком, а число в скобках это количество переменных массива.
a1951
Используй:
Macro <name> [(Parameter [, ...])]
...
EndMacro
Параметры задавать не обязательно, но после имени должны стоять скобки.
Используй: Macro
Макрос это автоматизированное действие копипаст, что не всегда приемлемо.
Пётр
Не видя примера сложно понять смысл задумки человека, но
А может процедура не быть функцией ?
у меня процедура - это набор команд, которые отрабатывают в программе несколько раз, но никаких параметров при этом мне передавать не надо. Как описать такую процедуру?
Если я правильно понимаю человеку как раз подойдёт макрос
Как нажать кнопку в программе, а не мышью? Надо, чтобы при нажатии на одну из кнопок оказывалась нажатой еще одна (автоматически).
Надо, чтобы при нажатии на одну из кнопок оказывалась нажатой еще одна (автоматически).
Нужно чтобы кнопка визуально выглядела нажатой (при использовании флага #PB_Button_Toggle) либо же, нужно выполнить часть кода, выполняемого при программном нажатии кнопки?
А как обновить окно? Например в одной моей программе я сворачиваю окно, потом его разворачиваю и гаджетов открытых до того как я свернул окно нет. Я вожу мышкой по окну и когда я мышкой провожу по месту где должен быть гаджет он повляется. Кстати, на фоне стоит изображение которое после разворота остаётся. Только оно и появляетя. Я не приважу программы, потому-что она содержит много изображений и придётся пересылать целую папку.
Например в одной моей программе я сворачиваю окно, потом его разворачиваю и гаджетов открытых до того как я свернул окно нет. Я вожу мышкой по окну и когда я мышкой провожу по месту где должен быть гаджет он повляется. Кстати, на фоне стоит изображение которое после разворота остаётся.
Не замечал такого.
Попробовал повторить код по описанию - проблемы нет http://pure-basic.narod.ru/forum/Back_Image.rar
OpenWindow(0,10,10,635,480,"окно",#PB_Window_MinimizeGadget|#PB_Window_ScreenCentered) UseJPEGImageDecoder() LoadImage(1, "D:\b.jpg") ImageGadget(888, 0, 0, 0, 0, ImageID(1)) : DisableGadget(888,1) ButtonGadget(2,10,10,100,100,"button1") ComboBoxGadget(3,20,200,80,22) For a = 1 To 5 AddGadgetItem(3, -1,"ComboBox item " + Str(a)) Next StringGadget(4,540,20,100,20,"") Repeat q=WaitWindowEvent() If EventGadget()=2 Debug "Гаджет был нажат!!!" EndIf Until q=#PB_Event_CloseWindow
Каким образом создать список как на первом рисунке?
Если использовать ExplorerListGadget, то не красивое дерева папок.
А при ExplorerTreeGadget -отображается дерево всей системы, а надо только определённой директории.
; Последнее изменение:4 Март, 2011 @ 9:45:57 PM Enumeration #Window_0 #Explor EndEnumeration OpenWindow(#Window_0,0,0,800,600,"Окно",#PB_Window_MinimizeGadget|#PB_Window_SystemMenu|#PB_Window_ScreenCentered) ExplorerListGadget(#Explor, 5, 30,430,480,GetCurrentDirectory(),#PB_Explorer_AutoSort|#PB_Explorer_NoFiles) ;ExplorerTreeGadget(#Explor, 5, 30,430,480,GetCurrentDirectory(),#PB_Explorer_AutoSort|#PB_Explorer_NoFiles) ;RemoveGadgetColumn(#Explor, 1) ;RemoveGadgetColumn(#Explor, 2) ;SetGadgetAttribute(#Explor,#PB_Explorer_DisplayMode ,#PB_Explorer_List) SetGadgetItemAttribute(#Explor,0, #PB_Explorer_ColumnWidth, 400) Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow
Отредактировано mirashic (04.03.2011 23:08:37)
Каким образом создать список как на первом рисунке?
Используй TreeGadget.
Здесь делали что-то похожее на то, что нужно http://purebasic.info/phpBB2/viewtopic. … p;start=15
Спасибо, сильно запутано и мудрено...
Спасибо, сильно запутано и мудрено...
Там использовано обычное сканирование диска (код в первых постах той темы) и извлечение значков по расширению файлов.
Может реализовано, мудрено, но алгоритм довольно простой.
Да, принцип я понял, облегчает работу, что название папок и их наполнение известно и не изменяется, можно по идее без сканирования, завтра попробую...
Нужно чтобы кнопка визуально выглядела нажатой (при использовании флага #PB_Button_Toggle) либо же, нужно выполнить часть кода, выполняемого при программном нажатии кнопки?
Первое
Первое
Из описания функции ButtonGadget:
- SetGadgetState(): Used with #PB_Button_Toggle buttons to set the actual state (1 = toggled, 0 = normal).
If OpenWindow(0, 0, 0, 222, 100, "ButtonGadgets", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget(4, 10,40, 200, 20, "Toggle Button", #PB_Button_Toggle) SetGadgetState(4, 1) ; Программное нажатие (визуальное) на кнопку Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow EndIf
Возможно ли из программы выполнить код что бы она себя удалила. ( Единственное что приходит на ум извлечение из ресурсов программeу во временную папку , которая удалит первую) Возможно ли это и как это реализовавать на примере
Отредактировано neo (06.03.2011 23:29:37)
Возможно ли из программы выполнить код что бы она себя удалила.
Так работает
comspec$=Space(255) : GetEnvironmentVariable_("comspec",comspec$,255) d$=Space(255) : GetCurrentDirectory_(255,d$) : If Right(d$,1)<>"\" : d$+"\" : EndIf tmp$=Space(255) : GetModuleFileName_(0,tmp$,255) : n$=GetFilePart(tmp$) RunProgram(comspec$,"/c del "+Chr(34)+d$+n$+Chr(34),"",2) End
Скажите, а в одном из видеоуроков "Создание браузера" прилогаются программы. Последняя версия браузера - "4". Но там проблемы, когда я ввожу в командную строку какой-то сайт то он на него переходит, но в командной строке пишется какаято ерунда. А как это исправить?
Отредактировано Илья (09.03.2011 19:41:58)
в командной строке пишется какаято ерунда
Да я тоже заметил
Здравствуйте, у меня такой вопрос, есть приложение на PureBasic (только exe-файл), мне нужно его выложить на сайте, чтобы на страничке был интерфейс и соответственно человек зайдя на сайт мог ввести что либо и нажать пару кнопок. Мне сказали, чтобы так сделать приложение надо обязательно компилировать под Linux, так ли это? Само приложение у меня уже имеет интерфейс в виде окна, где есть гаджеты для ввода и вывода, ну и кнопки соответственно. Не помешает то, что уже есть интерфейс в виде окна, или к примеру нужно окно? И прошу Вас рассказать, с помощью чего и как можно выложить на страничке приложение?
Какая версия? | OffTop | 03.10.2021 |
Мне постоянно пищет вот это | Вопросы по PureBasic | 14.10.2011 |
Размер экрана в пикселях | Вопросы по PureBasic | 13.02.2011 |
консоль | Вопросы по PureBasic | 19.03.2015 |
Полноэкранные приложения на purebasic | Вопросы по PureBasic | 08.03.2011 |
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка (продолжение…)