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

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

1. konctantin777 - 17 Октября, 2023 - 09:27:05 - перейти к сообщению
Здравствуйте.
Подскажите как правильно сделать кнопку Пуск- стоп в боте ?
CODE:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=11; pos_size_button0[0][1]=12; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Запустить";

//////////

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

showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);
//////////

loop()
{

if(flag_button0[0]>0)
{пауза:;
flag_button0[0]=0; text_button0[0]="Остановить";
pause(500); goto пауза;
}

if(flag_button0[0]>0)
{
flag_button0[0]=0;text_button0[0]="Запустить";
sleep(10);
}

// код
beep(500, 500);

pause(500);//Убрать после теста
}

function getmessage(2, WM_CREATE)
{
// регистрируем хоткей
RegisterHotKey(gethwnd(2), 120, 0, 120);
}

function getmessage(2, WM_HOTKEY)
{
if(message.wparam==120)flag_button0[0]=1;
}
2. Zireael - 17 Октября, 2023 - 19:15:09 - перейти к сообщению
CODE:
int pos_size_button0[1][4];
string text_button0[1];
int flag_button0[1];

pos_size_button0[0][0]=11; pos_size_button0[0][1]=12; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Запустить";

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);

int x = 0;

while(flag_button0[0]==0)sleep(10);
flag_button0[0]=0; text_button0[0]="Остановить";
enabletimer(0);

loop()
{
textout(0, 735, 390, x, 0);
x++;
sleep(100);
}

CREATE_TIMER(0, 200)
{
if(flag_button0[0])
{
text_button0[0]="Запустить";
while(flag_button0[0]==1)sleep(10);
flag_button0[0]=0; text_button0[0]="Остановить";
}
}
3. konctantin777 - 18 Октября, 2023 - 09:28:42 - перейти к сообщению
Спасибо )
А чтобы во время паузы можно было, например нажать кнопку "Сохранить" и она сработала, лучше всё из таймера вывести в функцию и в ней loop() сделать и break; если кнопка нажмётся ?
(Добавление)
CODE:
пауза:;
if(flag_button0[0]>0)
{
flag_button0[0]=0; text_button0[0]="Остановить";
// если нажали кнопку сохранить- делаем то то , сохраняем
pause(500); goto пауза;
}
4. Zireael - 19 Октября, 2023 - 04:05:43 - перейти к сообщению
 Цитата:
А чтобы во время паузы можно было, например нажать кнопку "Сохранить" и она сработала

CODE:
int pos_size_button0[2][4];
string text_button0[2];
int flag_button0[2];

pos_size_button0[0][0]=11; pos_size_button0[0][1]=12; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
pos_size_button0[1][0]=11; pos_size_button0[1][1]=42; pos_size_button0[1][2]=100; pos_size_button0[1][3]=20;
text_button0[0]="Запустить"; text_button0[1]="Сохранить";

createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
showdialog(0, "Диалог", 835, 390, 250, 300, 1, 1);

int x = 0;

while(flag_button0[0]==0)sleep(10);
flag_button0[0]=0; text_button0[0]="Остановить";
enabletimer(0);

loop()
{
textout(0, 735, 390, x, 0);
x++;
sleep(100);
}

CREATE_TIMER(0, 200)
{
if(flag_button0[0])
{
text_button0[0]="Запустить";
while(flag_button0[0]==1)sleep(10);
flag_button0[0]=0; text_button0[0]="Остановить";
}
}
function getmessage(0, WM_COMMAND)
{
if(flag_button0[1])
{
flag_button0[1]=0;
messagebox("Сохранить");
}
}

Powered by ExBB FM 1.0 Final