PureBasic - форум

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка


Вопросы новичка

Сообщений 271 страница 300 из 1000

271

lakomet написал(а):

И ещё вопрос как сделать всё то же самое для линя

В линуксе совсем другие API функции, поэтому я не знаю как сделать.

0

272

Пётр написал(а):

Ну сделай так (небольшое окно без рамки)

Хм рисунков нет. Не мог бы ты проект скинуть

0

273

daiomik написал(а):

Хм рисунков нет. Не мог бы ты проект скинуть

http://depositfiles.com/files/h21azhw1b

0

274

Пётр написал(а):

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

Вопрос: что бы не нагромождать код, как сделать так, что бы при наведении на определенную координату значение текста надписи менялось с "  Кликни здесь" на мое нужное. То есть как то должно происходить условие в процедуре или еще что то.

0

275

daiomik написал(а):

В процедуре создания главного окна у меня имеются следующие строчки, создающие всплывающую надпись:

Эту строку забыл

Код:
OpenWindow(100,0,0,84,18,"",#PB_Window_BorderLess|#PB_Window_Invisible,WindowID(0))
daiomik написал(а):

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

Как обычно, с помощью SetGadgetText изменяешь текст в гаджете с идентификатором 100.

0

276

Пётр написал(а):

Эту строку забыл

а вообще для чего она. Ведь одно главное окно уже есть

0

277

daiomik написал(а):

а вообще для чего она. Ведь одно главное окно уже есть

разобрался. Но теперь остался один вопрос: создал я к каждой требуемой части тела всплывающую надпись, но при перемещении мыши они как бы мерцают, то есть не плавно перемещаются. Уже и пробовал и SmartWindowRefresh(#Window_0,1), но лучше не стало. Может есть что то по этому поводу?

0

278

daiomik написал(а):

они как бы мерцают, то есть не плавно перемещаются

Странно, у меня плавно перемещается и ничего не мерцает.

0

279

Странно, но размер скомпилированной программы составляет  110 кб, а строк всего 195. Может эта строчка виновата:

Код:
UseJPEGImageDecoder()

Global Image0
Image0 = CatchImage(0, ?Image0)

DataSection
Image0:
  IncludeBinary "F:\Doc\Проект ВолГМУ\Программа\body.jpg"
EndDataSection

0

280

daiomik написал(а):

Странно, но размер скомпилированной программы составляет  110 кб, а строк всего 195. Может эта строчка виновата:

UseJPEGImageDecoder() занимает 40КБ
Плюс к этому рисунок body.jpg при компиляции помещается в исполняемый файл, что тоже увеличивает размер EXE.
Можно не размещать рисунок в исполняемом файле, но по моему, не очень удобно тащить кучу рисунков в месте с исполняемым файлом.
Лучше уж внуть запихнуть.

0

281

У меня есть Главное окно программы и 2 побочных (о программе и одно для действия, не важно вообщем). Проблема такого плана: при запуске программы как обычно главное окно появляется по центру. Далее я жму на кнопку и появляется второе окно (как то с мерцанием). Теперь, если я передвину главное окно и потом закрою побочное, то главное у меня автоматически "мерцнет" :) и окажется по центру. Странно как - то, при чем ни каких изменений при открывании и закрывании я не делал. Что это может быть?

0

282

daiomik написал(а):

главное у меня автоматически "мерцнет"  и окажется по центру

Скроее всего, оно в программе создаётся заново, но вот почему, нужно код смотреть.

0

283

ну да, заново. ПРосто вызывается процедура, а в ней создается заново окно. Это можно как нибудь избежать?

0

284

Ну не вызывай процедуру. :)
В чём собственно проблема?

0

285

Пётр написал(а):

В чём собственно проблема?

разобрался. Такой вопрос: у меня txt лежит не рядом с проектом а во внутренней папке. В проекте, где нужно указать путь пишу: "\data\primer.txt" но ничего не происходит. Как правильно указывать путь?

0

286

Попробуй так data\primer.txt

0

287

Все получилось, это я тупанул. Первый раз без кавычек писал. :crazy:

0

288

Не подскажете как производить поиск не в строке, а в полностью файле и брать по его результатом нужные мне куски текста.

0

289

Загружаешь в память и ищешь.
Если файл текстовый, то можно загружать построчно.

0

290

Хм..задам по другому: можно ли как нибудь зная номер первого символа текста и последнего вытащить кусок текста из памяти, то есть переменной

0

291

daiomik написал(а):

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

Код:
BeginMem=10 ; Начало требуемого участка текста
EndMem=20   ; Конец требуемого участка текста
*PointMem   ; Память с текстом
Text.s=PeekS(*PointMem+BeginMem, EndMem-BeginMem)

0

292

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

0

293

Типа этого нужно?

Код:
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

0

294

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

0

295

Пётр написал(а):

Типа этого нужно?

да, спасибо, именно это

0

296

daiomik написал(а):

Как в этом тексте произвести поиск определенной части, при чем FindString тут не поможет, так как текст занимает несколько строк блокнота

Но ведь текст в одной переменной.
Тогда почему по твоему мнению не будет работать FindString?
Или нужно текст разделить на строки?

0

297

нужно из этого текста вытаскивать различного рода куски. Текст у меня находится в памяти. Структура текста:

Код:
термин-содержание-описание|||термин-содержание-описание|||термин-содержание-описание и тп

мне нужно зная название термина вытащить соответствующее содержание и название

0

298

Это данные из чужого файла или свою структуру придумал?
Просто можно сделать всё намного проще, если данные в файлах хранятся.

0

299

это моя структура. А как сделать проще??

0

300

Данные хранятся в файле?
Если да, то можно использовать INI файлы, позволяющие создавать простые базы данных.

0


Вы здесь » PureBasic - форум » Вопросы по PureBasic » Вопросы новичка