Форум
Написать нам
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: as-master  
Построение меню с помощью плагина
Sam726Дата: Пятница, 30 Октября 2009, 14:09 | Сообщение # 1
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Протестируйте меню. Что не так? Чего не хватает. Я в плагинах дубовый, поэтому тупо изменял примеры redface данные в коплекте с плагином и вот что получилось. :D
Возможно кто-то знает что и к чему, сможет объяснить на правильном ли я пути. B)
Прикрепления: media2.zip (14.0 Kb)




Сообщение отредактировал Mad-Dog - Пятница, 30 Октября 2009, 17:48
 
YURIYДата: Пятница, 30 Октября 2009, 19:51 | Сообщение # 2
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
ээ, ну запустил, всё работает вроде... Чего не так-то? :)


Вечная память Андрею Сергееву!
 
Sam726Дата: Пятница, 30 Октября 2009, 19:53 | Сообщение # 3
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
YURIY, ну может я в кодах где-то чего-то не дописал или лишнего написал. Меня это интересует. Все нормально?

 
YURIYДата: Пятница, 30 Октября 2009, 20:45 | Сообщение # 4
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
гм.. Ну а как ты можешь что-то написать не то, или лишнее, когда ты копировал код из примера и изменял под себя?

При беглом осмотре вроде всё нормально, но, если что, плагином этим не пользуюсь. Не было необходимости. Поэтому, изучать его и на 100% ответить на твой вопрос у меня нет времени.



Вечная память Андрею Сергееву!
 
Sam726Дата: Воскресенье, 01 Ноября 2009, 18:26 | Сообщение # 5
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
YURIY, и на том спасибо... :)

Добавлено (01 Ноябрь 2009, 18:21)
---------------------------------------------
YURIY, вот что еще интересное я заметил. Когда я добавил меню в свой проэкт, то оказалось что при переходе между страницами меню каждий раз удваивается, и активной стает последнее добавленное меню. Не знаеш как убрать этот баг!?

Добавлено (01 Ноябрь 2009, 18:26)
---------------------------------------------
Наверное надо как-то убирать меню при выходе с странице, что бы при открытии новой все было ОК. Но вот только как...


 
YURIYДата: Воскресенье, 01 Ноября 2009, 18:49 | Сообщение # 6
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Mad-Dog)
YURIY, вот что еще интересное я заметил. Когда я добавил меню в свой проэкт, то оказалось что при переходе между страницами меню каждий раз удваивается

Ну так правильно. У тебя в сценарии старта первой страницы указано создавать меню. Что тебе не нравится в таком случае? scratch Сколько раз будешь переходить на первую страницу - столько меню и создашь.

Чтобы сценарий срабатывал только один раз при запуске программы, модифицируй сценарий очень простым способом:

Code
If (start=0) Then
    RunScript("main_menu_constructor")
    start=1
End

А до этого у тебя была только вторая строка.

Смысл прост. Все переменные при запуске проекта имеют значение 0, даже если переменная не создана. Воспользуемся этим, запустим скрипт и присвоим переменной единицу. Если вернуться ещё раз на первую страницу - условие станет ложным, ведь мы уже присвоили переменной 1 и меню не будет создано.



Вечная память Андрею Сергееву!
 
Sam726Дата: Пятница, 06 Ноября 2009, 15:54 | Сообщение # 7
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
YURIY, ;) Спасибки!!! thumbs_up :thumbs_up:

Добавлено (06 Ноябрь 2009, 15:54)
---------------------------------------------
Новой вопрос (дополнение). Как сделать текст меню внешним? Я пробывал так:

PluginSet("PlugIn","FileMenuHandle")
ItemName$='a1$'
PluginSet("PlugIn","ItemName$")
PluginRun("PlugIn","CreateMenuItem")
Plugin Get("P lugIn","Menu")
file$='D:\Temp\lang.txt'
FromLine1=1
NumOfLines1=1
b1$=StrFromFile(file$,FromLine1,NumOfLines1)
LoadText("a1$","b1$")

Н о результат негативный :(




Сообщение отредактировал Mad-Dog - Пятница, 06 Ноября 2009, 15:57
 
RushДата: Пятница, 06 Ноября 2009, 18:09 | Сообщение # 8
Обозреватель-консультант
Группа: Проверенные
Сообщений: 216
Репутация: 10
Награды: 1
Статус: Offline
Mad-Dog, ты шиворот-навыворот все делаешь.
Code
PluginSet("PlugIn","FileMenuHandle")
file$='D:\Temp\lang.txt'  
ItemName$=StrFromFile(file$,1,1)  
PluginSet("PlugIn","ItemName$")  
PluginRun("PlugIn","CreateMenuItem")  
PluginGet("PlugIn","Menu")  
 
Sam726Дата: Вторник, 01 Декабря 2009, 20:07 | Сообщение # 9
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Rush, Спасибо!!!

Добавлено (01 Декабрь 2009, 20:07)
---------------------------------------------
Есть скрипт:

Code
enable_min=enable_min<>TRUE
If (enable_min) Then
   LoadText("status1",":: Enabled")
Else
   LoadText("status1",":: Disabled")
End
PluginSet("PlugIn","enable_min")
PluginRun("PlugIn","EnableMinToTray")

Его можно как то уменьшить?
Этот код включает и отключает возможность сворачивания программы к часам. Хотелось бы что-то попроще что бы поставить на стартувую страницу что бы прога всегда сворачивалась к часам.


 
YURIYДата: Вторник, 01 Декабря 2009, 20:25 | Сообщение # 10
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Mad-Dog)
что бы поставить на стартувую страницу что бы прога всегда сворачивалась к часам

Так что ли?

Code
PluginSet("PlugIn","1")
PluginRun("PlugIn","EnableMinToTray")

Однако я не понял, что тут сложного? Нельзя справку почитать, там же написано это.



Вечная память Андрею Сергееву!
 
Sam726Дата: Вторник, 01 Декабря 2009, 20:36 | Сообщение # 11
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Так она на анлийськом...

 
YURIYДата: Вторник, 01 Декабря 2009, 20:37 | Сообщение # 12
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
google.ru -> Переводчик on-line

Да и не нужна справка. Из твоего кода элементарно делается вывод, как его сократить... scratch



Вечная память Андрею Сергееву!
 
Sam726Дата: Вторник, 01 Декабря 2009, 21:00 | Сообщение # 13
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
;) получилось...

 
Alex3AДата: Вторник, 01 Декабря 2009, 21:08 | Сообщение # 14
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Mad-Dog)
Кстати говоря, твой код не пашет! :\ Я так уже пробывал...

Нет там никакого кода, просто совет, к которому надо включить немного серого вещества.
Ты старайся не скопировать чего то а понять как оно работает.
Никогда не видел этого плагина, и врят ли его увижу..
PluginSet("PlugIn","enable_min")но, enable_min =(0 или 1), что то включает
или выключает в зависимости от значения. Билдер не совсем как лего, надо понимать
что ты делаеш, и подход копипасте не всегда конает.
А код приведенный YURIY, PluginSet("PlugIn","0")вполне работает прячет или выключает что то, с таким же успехом можно сказать что его поправка PluginSet("PlugIn","1") то же не работает, ей нельзя отключить\спрятать меню.
 
Sam726Дата: Вторник, 01 Декабря 2009, 21:20 | Сообщение # 15
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Alex3A,
Quote
Нет там никакого кода, просто совет, к...
Извеняюсь. Я малехо подзабыл когда YURIY мене об этом говорил (в другой теме). Я с плагинани только начал работать, раньше я их вообще не использовал, создавал огромные меню, когда можно было все сделать быстрее и легче.
Quote
Нет там никакого кода, просто совет, к
нет. ну так мене ж не надо переключать эту возможность, я б тогда ничего и не менял. Я хочу сразу запустить и что бы уже все работало.

Добавлено (01 Декабрь 2009, 21:20)
---------------------------------------------

Code
Win$=WinVer()+'.'
If (VAL(GetArrayItem(Win$,'.',1))>=6) Then
   NT6=TRUE
   If (VAL(GetArrayItem(Win$,'.',3))>=7000) Then
     iOffset=1
   End
End
IconParam$='SmallPlugin '+Version$+', <Embedded>\icon.ico, 0'
PluginSet("PlugIn","IconParam$")
PluginRun("PlugIn","TrayIconParam")
RunScript("tray_menu_constructor")

Я не совсем понял что тут написано и для чего оно... Но я думаю что если оставить последние 4 строчки то все будет нормально? Оно то вроде все нормаль, рабоет и без него...


 
DEMBELДата: Вторник, 01 Декабря 2009, 22:12 | Сообщение # 16
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Mad-Dog)
IconParam$='SmallPlugin '+Version$+', <Embedded>\icon.ico, 0'
PluginSet("PlugIn","IconParam$")
PluginRun("PlugIn","TrayIconParam")

устанавливает выбранную иконку icon.ico для трея (рядом с часами)




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Вторник, 01 Декабря 2009, 23:18 | Сообщение # 17
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
DEMBEL, ну да. А вот то что выше, видно можно и без него обойтись... :D

Добавлено (01 Декабрь 2009, 23:18)
---------------------------------------------
Блин... :( Че за баги!? Визуализация не пашет когда используеш этот плагин.


 
DEMBELДата: Вторник, 01 Декабря 2009, 23:19 | Сообщение # 18
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
Quote (Mad-Dog)
А вот то что выше, видно можно и без него обойтись...

там это к делу не относится
Quote (Mad-Dog)
Визуализация не пашет когда используеш этот плагин.

че за визуализация?




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Вторник, 01 Декабря 2009, 23:27 | Сообщение # 19
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
DEMBEL, ну визуализация. Когда играет музыка в объекте "AudioVisualization" под тембр музыки прыгают всякие стрелочки...

 
DEMBELДата: Среда, 02 Декабря 2009, 00:19 | Сообщение # 20
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
ну странно, надо бы проверить. либо действительно не работает, либо чтото не так состряпал ты...



Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
YURIYДата: Среда, 02 Декабря 2009, 01:27 | Сообщение # 21
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Quote (Mad-Dog)
Визуализация не пашет когда используеш этот плагин.

Скачай с сайта новую версию. Баг исправлен.



Вечная память Андрею Сергееву!
 
Alex3AДата: Среда, 02 Декабря 2009, 01:58 | Сообщение # 22
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Quote (Mad-Dog)
Я не совсем понял что тут написано и для чего оно... Но я думаю что если оставить последние 4 строчки то все будет нормально?

Дело не в количестве строк и не в строках, дело в их понимании, каждую можно перевести
на человеческий язык, только тогда поймеш что ты делаеш.
 
Sam726Дата: Среда, 02 Декабря 2009, 02:38 | Сообщение # 23
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Alex3A, ну а я не смог их перевести, я так и не понял для чего они надо...

Добавлено (02 Декабрь 2009, 02:38)
---------------------------------------------
YURIY,

Quote
Скачай с сайта новую версию. Баг исправлен.
новую версию ЧЕГО ИМЕННО???


 
YURIYДата: Среда, 02 Декабря 2009, 02:40 | Сообщение # 24
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Mad-Dog, за что отвечает функция WinVer()?

Добавлено (02 Декабрь 2009, 02:40)
---------------------------------------------

Quote (Mad-Dog)
новую версию ЧЕГО ИМЕННО???

Своего проекта. На официальном сайте SmallPlugin выложили.

Вот что я тебе ещё мог ответить, а? :'(



Вечная память Андрею Сергееву!
 
Sam726Дата: Среда, 02 Декабря 2009, 02:48 | Сообщение # 25
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Так там два файла? Кидать только SmallPlugin.dll?

 
YURIYДата: Среда, 02 Декабря 2009, 02:49 | Сообщение # 26
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Да, внедряй его, старый удали.


Вечная память Андрею Сергееву!
 
DEMBELДата: Среда, 02 Декабря 2009, 02:49 | Сообщение # 27
Наш дизайнер
Группа: Модераторы
Сообщений: 2266
Репутация: 135
Награды: 32
Статус: Offline
да.
спокойно... я спокоен, я спокоен...




Win7x64 SP1 Neobook v5.70 (Trial)
WinXP SP3 Neobook v5.62
 
Sam726Дата: Среда, 02 Декабря 2009, 02:57 | Сообщение # 28
Поднаторевший
Группа: Проверенные
Сообщений: 141
Репутация: 0
Награды: 0
Статус: Offline
Работает!!! :D

Добавлено (02 Декабрь 2009, 02:57)
---------------------------------------------
YURIY,

Quote
WinVer()
возвращает основной разряд (major), младший разряд (minor) и разряд сборки (build) версии Windows

Ток я не вехал причем тут это?


 
YURIYДата: Среда, 02 Декабря 2009, 04:06 | Сообщение # 29
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Ну подумай, ёлки-палки. Значит, какой-то функционал работает в одной винде так, а в другой - иначе. Вот автор плагина и проверяет версию Windows, а затем отсылает её своему детищу.


Вечная память Андрею Сергееву!
 
Alex3AДата: Среда, 02 Декабря 2009, 04:24 | Сообщение # 30
Друг клуба ММВ
Группа: Проверенные
Сообщений: 2646
Репутация: 39
Награды: 11
Статус: Offline
Win$=WinVer()+'.' определение версии винды, очевидно для плагина надо знать ее.
If (VAL(GetArrayItem(Win$,'.',1))>=6).... в зависимости от версии устанавливаются
две переменные NT6 и iOffset=1, зачем они тебе не знаю.
IconParam$...загоняеш в переменную строку 'SmallPlugin '+версия виды+', путь к иконке, 0
передаеш эту строку в плагин -PluginSet("..., и выполняеш функцию плагина TrayIconParam - PluginRun("..
затем выполняеш скрипт в проекте с именемtray_menu_constructor-
RunScript("tray.., который должен быть у тебя где то в проекте, если он конечно тебе нужен :D

Добавлено (02 Декабрь 2009, 04:24)
---------------------------------------------
Вот только не знаю, зачем в плагин передавать версию винды, он ее и сам определять
далжен, да и мена функций длинноваты, неудобно как то.

 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: