И ещё вопрос как сделать всё то же самое для линя
В линуксе совсем другие API функции, поэтому я не знаю как сделать.
PureBasic - форум |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка
И ещё вопрос как сделать всё то же самое для линя
В линуксе совсем другие API функции, поэтому я не знаю как сделать.
Ну сделай так (небольшое окно без рамки)
Хм рисунков нет. Не мог бы ты проект скинуть
Хм рисунков нет. Не мог бы ты проект скинуть
http://depositfiles.com/files/h21azhw1b
Спасибо. Все таки остановился на всплывающей надписи. Переработал под свой пример и возник вопрос. В процедуре создания главного окна у меня имеются следующие строчки, создающие всплывающую надпись:
TextGadget(100,1,1,82,16," Кликни здесь") SetGadgetColor(100,#PB_Gadget_BackColor,GetSysColor_(#COLOR_INFOBK)) HideGadget(100,1)
Далее: У меня имеется процедуря, которая при наведении на определенные координаты загружает курсор и показывает раннее созданную надпись:
Procedure kursor() myCursor=LoadCursor_(0,#IDC_HAND) SetCursor_(myCursor) GetCursorPos_(pt.POINT) ResizeGadget(100,WindowMouseX(#Window_0)-30,WindowMouseY(#Window_0)+20,#PB_Ignore ,#PB_Ignore ) HideGadget(100,0) EndProcedure
Вопрос: что бы не нагромождать код, как сделать так, что бы при наведении на определенную координату значение текста надписи менялось с " Кликни здесь" на мое нужное. То есть как то должно происходить условие в процедуре или еще что то.
В процедуре создания главного окна у меня имеются следующие строчки, создающие всплывающую надпись:
Эту строку забыл
OpenWindow(100,0,0,84,18,"",#PB_Window_BorderLess|#PB_Window_Invisible,WindowID(0))
как сделать так, что бы при наведении на определенную координату значение текста надписи менялось с " Кликни здесь" на мое нужное
Как обычно, с помощью SetGadgetText изменяешь текст в гаджете с идентификатором 100.
Эту строку забыл
а вообще для чего она. Ведь одно главное окно уже есть
а вообще для чего она. Ведь одно главное окно уже есть
разобрался. Но теперь остался один вопрос: создал я к каждой требуемой части тела всплывающую надпись, но при перемещении мыши они как бы мерцают, то есть не плавно перемещаются. Уже и пробовал и SmartWindowRefresh(#Window_0,1), но лучше не стало. Может есть что то по этому поводу?
они как бы мерцают, то есть не плавно перемещаются
Странно, у меня плавно перемещается и ничего не мерцает.
Странно, но размер скомпилированной программы составляет 110 кб, а строк всего 195. Может эта строчка виновата:
UseJPEGImageDecoder() Global Image0 Image0 = CatchImage(0, ?Image0) DataSection Image0: IncludeBinary "F:\Doc\Проект ВолГМУ\Программа\body.jpg" EndDataSection
Странно, но размер скомпилированной программы составляет 110 кб, а строк всего 195. Может эта строчка виновата:
UseJPEGImageDecoder() занимает 40КБ
Плюс к этому рисунок body.jpg при компиляции помещается в исполняемый файл, что тоже увеличивает размер EXE.
Можно не размещать рисунок в исполняемом файле, но по моему, не очень удобно тащить кучу рисунков в месте с исполняемым файлом.
Лучше уж внуть запихнуть.
У меня есть Главное окно программы и 2 побочных (о программе и одно для действия, не важно вообщем). Проблема такого плана: при запуске программы как обычно главное окно появляется по центру. Далее я жму на кнопку и появляется второе окно (как то с мерцанием). Теперь, если я передвину главное окно и потом закрою побочное, то главное у меня автоматически "мерцнет" и окажется по центру. Странно как - то, при чем ни каких изменений при открывании и закрывании я не делал. Что это может быть?
главное у меня автоматически "мерцнет" и окажется по центру
Скроее всего, оно в программе создаётся заново, но вот почему, нужно код смотреть.
ну да, заново. ПРосто вызывается процедура, а в ней создается заново окно. Это можно как нибудь избежать?
Ну не вызывай процедуру.
В чём собственно проблема?
В чём собственно проблема?
разобрался. Такой вопрос: у меня txt лежит не рядом с проектом а во внутренней папке. В проекте, где нужно указать путь пишу: "\data\primer.txt" но ничего не происходит. Как правильно указывать путь?
Попробуй так data\primer.txt
Все получилось, это я тупанул. Первый раз без кавычек писал.
Не подскажете как производить поиск не в строке, а в полностью файле и брать по его результатом нужные мне куски текста.
Загружаешь в память и ищешь.
Если файл текстовый, то можно загружать построчно.
Хм..задам по другому: можно ли как нибудь зная номер первого символа текста и последнего вытащить кусок текста из памяти, то есть переменной
можно ли как нибудь зная номер первого символа текста и последнего вытащить кусок текста из памяти, то есть переменной
BeginMem=10 ; Начало требуемого участка текста EndMem=20 ; Конец требуемого участка текста *PointMem ; Память с текстом Text.s=PeekS(*PointMem+BeginMem, EndMem-BeginMem)
Скажите, а можно ли в PB используя кнопки сделать такой эфект при котором эти кнопки были бы связаны и например одна нажата. Если нажимаешь на другую, то все остальные отжимаются.
Типа этого нужно?
Procedure ToggleButton(Gadget) For i=1 To 8 If Gadget=i SetGadgetState(i,1) Else SetGadgetState(i,0) EndIf Next i EndProcedure OpenWindow(0,0,0,120,290,"",#PB_Window_MinimizeGadget|#PB_Window_Invisible|#PB_Window_ScreenCentered) y=10 For i=1 To 8 ButtonGadget(i,20,y,80,24,"Кнопка "+Str(i),#PB_Button_Toggle) y+35 Next i ToggleButton(1) HideWindow(0,0) Repeat Event=WaitWindowEvent() Gadget=EventGadget() If Event=#PB_Event_Gadget Select Gadget Case 1 To 8 ToggleButton(Gadget) EndSelect EndIf Until Event=#PB_Event_CloseWindow
Не могу справиться с проблемой следующего плана: есть определенный текст находящийся в переменной. Данный текст-ни одна строка. Как в этом тексте произвести поиск определенной части, при чем FindString тут не поможет, так как текст занимает несколько строк блокнота.
Типа этого нужно?
да, спасибо, именно это
Как в этом тексте произвести поиск определенной части, при чем FindString тут не поможет, так как текст занимает несколько строк блокнота
Но ведь текст в одной переменной.
Тогда почему по твоему мнению не будет работать FindString?
Или нужно текст разделить на строки?
нужно из этого текста вытаскивать различного рода куски. Текст у меня находится в памяти. Структура текста:
термин-содержание-описание|||термин-содержание-описание|||термин-содержание-описание и тп
мне нужно зная название термина вытащить соответствующее содержание и название
Это данные из чужого файла или свою структуру придумал?
Просто можно сделать всё намного проще, если данные в файлах хранятся.
это моя структура. А как сделать проще??
Данные хранятся в файле?
Если да, то можно использовать INI файлы, позволяющие создавать простые базы данных.
Вопросы новичка (продолжение…) | Вопросы по PureBasic | 29.06.2024 |
Скорее, это теоретический вопрос о правах в директории. | OffTop | 16.09.2022 |
Вопрос по отладке | Вопросы по PureBasic | 26.01.2017 |
Три вопроса по созданию браузера. | Вопросы по PureBasic | 01.11.2010 |
вопрос о точности типов данных | Вопросы по PureBasic | 20.05.2021 |
Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка