007wan |
Отправлено: 09 Сентября, 2017 - 19:38:22
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Как сделать так, что бы если нажали кнопку, то запускается таймер на 15сек , по истечению которого можно будет снова нажать эту кнопку, но если время не вышло, то кнопку нельзя нажать(реагировать не будет) к тому же будет выводиться то время, которое идет на самой кнопке, т.е 15сек. будут отображаться на самой кнопку и идти в онлайн режиме каждую секунду отображать, я не могу сделать это в этом примере:
int time1, time2;
time1=gettime();
time2=time1;
if (time2-time1<15000)
{
time2=gettime();
} |
|
|
Kibor |
Отправлено: 10 Сентября, 2017 - 12:14:04
|
Эксперт
Просматривает форум
Сообщений всего: 8217
Дата рег-ции: Март 2013
Откуда: Одесса
Репутация: 357
|
CODE:
int t=0;
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]=14; pos_size_button0[0][2]=100; pos_size_button0[0][3]=20;
text_button0[0]="Кнопка 0";
//////////
createdialog(0, BUTTON, #pos_size_button0[0][0], #text_button0[0], #flag_button0[0]);
//////////
showdialog(0, "Диалог", 558, 234, 132, 84, 1, 1);
//////////
enabletimer(0);
loop()
{
sleep(10);
}
CREATE_TIMER(0, 500)//Номер таймера, выполнение таймера через мсек.
{
if (flag_button0[0]>0)
{
flag_button0[0]=0;
if (gettime()-t>10000)
{
t=gettime();
messagebox ("есть");
}
}
}
|
|
|
007wan |
Отправлено: 07 Октября, 2017 - 14:32:15
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Нужна помощь, как сделать из этого:
CODE:if (gettime()-t>10000)
{
t=gettime();
messagebox ("есть");
}
Пояснение: если время выйдет(10 секунд), то сообщение "есть"
Как сделать, что бы время НАЧАЛОСЬ считатся, именно, что бы таймер пошел считать 10 секунд не сразу перед запуском, просто у меня такая проблема+как сделать, что бы время вышло и таймер прекратился считать и всё
(Добавление)
Мне просто не нравится, что при запуске этого куска он уже сразу выдает это сообщение "есть", а мне надо, что бы при запуске сразу начал считать это время, а уже потом сообщение. |
|
|
007wan |
Отправлено: 10 Октября, 2017 - 18:43:48
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , А тоесть, если у меня известное время, пусть будет 10сек. и мне надо, что бы прошло 30сек., вычитая это время, то надо. что бы прошло 20сек., то надо использовать это: 007wan пишет: int t=gettime(); заменить: 007wan пишет: int t=10000; Так? |
|
|
007wan |
Отправлено: 11 Октября, 2017 - 15:20:02
|
Эксперт
Покинул форум
Сообщений всего: 1837
Дата рег-ции: Март 2017
Репутация: -2
|
Kibor , Чет я не понял:
int t=gettime(); Kibor пишет: Переменной t мы присвоили время которое сейчас.
Тоесть:CODE:if (gettime()-t>300000) Если время, которое Kibor пишет: Добавлена функция gettime
Возвращает время в милисекундах с момента запуска Windows.
Тобишь, если время, которое в милисекундах с момента запуска Windows минус , чем время 300.000мсек.(5 мин.)?Мне кажется тут бред
(Добавление)
А всё понял, просто не понял разницы. Тоесть все время на компе с момента запуска вычитается время, которое сейчас...А если вычел, то идет своебразное прибавление с 0 мсек, а потом прибавляет, и так до 5 мин.)
(Добавление)
Я просто не могу сделать так, что бы время, которое в массиве char... Тоесть он начинал отсчитывать эти же 5мин, но и вычитал еще то время, которое в массие char. Это вроде не сложно, но не могу понять, что с чем вычитать
(Добавление)
CODE:CREATE_TIMER(1, 1)
{
if (getkeystate(81)==1)
{
beep(500, 500);
textout(0, 0, 0, "Загрузка...", 1);
strcpy(#ch[0], format(gettime()-t)));
writebuffernet(#ch[0], size(#ch[0]), "kluch_prog", -1);
sleep(1000);
disabletimer(1);
resettextout(1);
close();
}
//
if (gettime()-t>300000)
{
t=gettime();
destroydialog(0);
beep(500, 500);
textout(0, 0, 0, "Загрузка...", 1);
strcpy(#ch[0], "");
writebuffernet(#ch[0], size(#ch[0]), "kluch_prog", -1);
resettextout(1);
disabletimer(1);
}
else
{
textout(0, 0, 0, "Прошло: "+format(gettime()/60000-t/60000)+" мин.", 1);
}
}
Вот как сделать, что бы при запуске он возвращал из char эти цифры, и начинал снова отсчет, но и вычитая это же время, т.е, например, мы хотим, что бы прошло 5 минут, я нажал Q время сохранилось, ну скажем пусть прошло и сохранило 2 мин., потом при запуске возвращает и пойдет таймер заного, но уже не 5 мин., а 3 минуты.
(Добавление)
Кстати коды к клавишам и остальное не работает на сайте, именно PHP страницы(Отредактировано автором: 11 Октября, 2017 - 15:20:28) |
|
|
|