Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как привязать немодальное диалоговое окно к основному скрипту

Страниц (1): [1]
 

1. CKA3KA - 21 Марта, 2019 - 04:31:31 - перейти к сообщению
Сбои сайта слегка, бывает.

Не могу никак привязать действия кнопок немодального окна к основному скрипту.

Короче схема для понимания:


в коде немодального окна внизу прописан запуск таймера:
CODE:
int pos_size_button0[4][4];
string text_button0[4];
int flag_button0[4];

pos_size_button0[0][0]=51; pos_size_button0[0][1]=105; pos_size_button0[0][2]=100; pos_size_button0[0][3]=24;
pos_size_button0[1][0]=51; pos_size_button0[1][1]=65; pos_size_button0[1][2]=100; pos_size_button0[1][3]=34;
pos_size_button0[2][0]=173; pos_size_button0[2][1]=6; pos_size_button0[2][2]=20; pos_size_button0[2][3]=20;
pos_size_button0[3][0]=8; pos_size_button0[3][1]=7; pos_size_button0[3][2]=20; pos_size_button0[3][3]=20;
text_button0[0]="Óáðàòü"; text_button0[1]="Âåðíóòü"; text_button0[2]="X"; text_button0[3]="?";

//////////

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////

showdialog(0, "
Äèàëîã", 1244, 376, 205, 171, 1, 1);
//////////

enabletimer (1);


Блок кода в таймере:
CODE:
if (flag_button0[1]==1)goto METKA1;


После срабатывания таймера скрипт прекращает работать и выходит на начальное модальное окно (НЕ немодальное, а модальное, после которого по новому кругу запускается немодальное и тд.)

Как сделать закольцевать, чтобы таймер срабатывал, и основной скрипт не прекращал работу.
И чтобы каждый раз нажимая в немодальном окне определенную кнопку к примеру flag_button0[1] - снова срабатывал нужный код к примеру:
CODE:
win w=window ("NoxPlayer");
w.width=964;
w.height=574;
w.left=0;
w.top=0;
movewindow(w);



Пля, не в ту тему кинул, просьба Админу перенести тему куда надо.
2. Zireael - 21 Марта, 2019 - 04:55:32 - перейти к сообщению
Нужный код вынести в функцию, из таймера не переход к метке делать, а вызывать функцию.
3. CKA3KA - 21 Марта, 2019 - 11:16:01 - перейти к сообщению
 Zireael пишет:
Нужный код вынести в функцию, из таймера не переход к метке делать, а вызывать функцию.

И что эта функция должна и может сделать: остановить таймер, вернуться на основной скрипт, не потерять связь с немодальным окном,
или что?
Можно краткий код и пояснения.

Я единственно сделал(показано на схеме) что мало мальски работает, но оно возвращает немодальное окно на начальные прописанные координаты, а это не годится:
4. Kibor - 21 Марта, 2019 - 11:40:10 - перейти к сообщению
 CKA3KA пишет:
И чтобы каждый раз нажимая в немодальном окне определенную кнопку к примеру flag_button0[1] - снова срабатывал нужный код к примеру:

Это в блок кода в таймер.

CODE:
if (flag_button0[1]>0)
{
flag_button0[1]=0;
win w=window ("NoxPlayer");
w.width=964;
w.height=574;
w.left=0;
w.top=0;
movewindow(w);
}
5. CKA3KA - 21 Марта, 2019 - 15:40:58 - перейти к сообщению
Kibor супер, то что и нужно
Закатив глазки
единственное не понятно, это на каждую кнопку нужно отдельный таймер делать,
или же можно как-то в один таймер допустим четыре вставить?
6. Dantes3000 - 21 Марта, 2019 - 15:48:17 - перейти к сообщению
CKA3KA , в блок кода
CODE:
if (flag_button0[1]>0)
{
flag_button0[1]=0;
win w=window ("NoxPlayer");
w.width=964;
w.height=574;
w.left=0;
w.top=0;
movewindow(w);
}
if (flag_button0[2]>0)
{
messagebox("Button 3");
}
if (flag_button0[0]>0)
{
beep(1000, 200);
messagebox("Button 1");
}


и так далее.
7. CKA3KA - 21 Марта, 2019 - 16:53:27 - перейти к сообщению
 Dantes3000 пишет:
CKA3KA , в блок кода
CODE:
if (flag_button0[1]>0)
{
flag_button0[1]=0;
win w=window ("NoxPlayer");
w.width=964;
w.height=574;
w.left=0;
w.top=0;
movewindow(w);
}
if (flag_button0[2]>0)
{
messagebox("Button 3");
}
if (flag_button0[0]>0)
{
beep(1000, 200);
messagebox("Button 1");
}


и так далее.


Dantes3000 у тебя ошибка, вот как надо:
CODE:
if (flag_button0[1]>0)
{
flag_button0[1]=0;
win w=window ("NoxPlayer");
w.width=964;
w.height=574;
w.left=0;
w.top=0;
movewindow(w);
}
if (flag_button0[2]>0)
{
flag_button0[2]=0;
messagebox("Button 3");
}
if (flag_button0[0]>0)
{
flag_button0[0]=0;
beep(1000, 200);
messagebox("Button 1");
}

а как у тебя, то оно повторяется циклом
Закатив глазки
8. Dantes3000 - 21 Марта, 2019 - 17:00:27 - перейти к сообщению
CKA3KA , I'm sorry!

Powered by ExBB FM 1.0 Final