Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

3 877 Posts in 868 Topics- by 723 Members - Latest Member: tablarock

23 May 2012, 16:06
Select Language English | Russian ru | German
Main PageIRC Client KVIrc forumRussian talksСкриптинг (Moderator: runkoff)Переменные во всплывающих меню...
Pages: [1]
Print
Author Topic: Переменные во всплывающих меню...  (Read 2031 times)
0 Members and 1 Guest are viewing this topic.
MaHorN
Новичок
*

Репутация: 1
Posts: 11


View Profile Email
« on: 19 September 2010, 11:01 »

Вобщем пытаюсь сделать скрипт Away, с несколькими причинами через класс виджет, связанный с всплывающими меню.
Ну и естественно возникает вопрос, как заполнять всплывающее меню причинами (Гулять, в магазин и так далее)
Мне нужно, чтобы в пункт меню заносилось значение переменной, а не сама переменная т.к. если я заполняю меню пунктами при переборе массива, то в пунктах так и остается %Reason[%i] и по всем понятными причинам, значения остаются пустыми.
Есть ли варианты решения этой проблемы? Заранее спасибо за ответ.
Logged
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #1 on: 22 September 2010, 00:04 »

приблизительный код покажи. просто не могу понять как это "away через виджет"
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
MaHorN
Новичок
*

Репутация: 1
Posts: 11


View Profile Email
« Reply #2 on: 22 September 2010, 09:12 »

Кода под рукой нет, вобщем окошко в котором сверху класс Lineedit, под ним listbox и кнопки добавить закрыть, вводим туда причину, жмем добавить, она записывается в Listbox и добавляется пункт во внешнем меню Away. Сами причины хранятся в конфиг файле, по включению с помошью цикла значения забиваются в массив %Reason[%I] где %I - номер причины, в конфиге.
Если по нажатию кнопки добавить, создается пункт, то в него записывается: дословно "away Reason[%I]", вместо нужного мне "away Reason[номер причины цифрой]

Единственный выход - делать фиксированное кол-во пунктов, но хотелось бы найти другой метод решения.

Если всеравно непонятно, из дома скину код.
Logged
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #3 on: 23 September 2010, 00:59 »

можешь кинуть или сюда или на ua6hdw@gmail.com
Logged

сеть freenode, каналы #kvirc и #kvirc-ru
MaHorN
Новичок
*

Репутация: 1
Posts: 11


View Profile Email
« Reply #4 on: 23 September 2010, 05:47 »

кусок скрипта
Code:
%cfg = $config.open($file.localdir/config/conf.kvc)
config.setsection %cfg "Away Reasons"
%i = 0
%val = "musor"
while(%val != "0")
{
%val = $config.read(%cfg, %i)
if (%val != "0")
{
%Listbox->$insertItem(%val)
defpopup-m ("AwayReasons")
{
item(%Val[%i])
{
awayall %Val[%i]
}
}
%i++
}
}

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

конфиг
Code:
# KVIrc configuration file
[Away%20Reasons]
0=Work
1=Away

во внешнем меню создается пункт с названием "%Val[%i]" и кодом "awayall %Val[%i]" Думаю всем понятно, что это не работает.
Можно конечно все реализовывать через тот же листбокс, но хотелось бы иметь заполняемое внешнее меню.
Logged
alexzulu
Постоялец
***

Репутация: 29
Posts: 181



View Profile Email
« Reply #5 on: 23 September 2010, 21:57 »

вот я тут наверное то что ты хотел нарисовал http://www.kvirc.ru/addons/pool/4/ex_away-0.0.1.tar.gz

посмотри реализацию алиаса ex_away::generate. пока другого пути я не увидел.
« Last Edit: 23 September 2010, 22:01 by alexzulu » Logged

сеть freenode, каналы #kvirc и #kvirc-ru
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic