PDA

Просмотр полной версии : Ожидание программы


WiLLi-WindowS
06.04.2011, 10:46
Как сделать так. чтобы после отправки запроса прога ждала 1005 сек и потом повторял его 1000раз .
НАПРИМЕР:

ЗАПРОС
Ждём 1005 сек
повторяем 1 раз
ждём 1005 сек
И Т.Д!
Язык- C#!

Тема всё ещё актуальна!

warl0ck
06.04.2011, 14:44
int i;
for(i=0;i<=1000;i++)
{
запрос
System.Threading.Thread.Sleep(время задержки);
}

Douh
06.04.2011, 17:20
Уважаемый warl0ck, вы написали код:

int i;
for(i=0;i<=1000;i++)
{
запрос
System.Threading.Thread.Sleep(время задержки);
}


Таким способом не получится реализовать то, что нужно , потому что по непонятным мне лично причинам в FOR'e команда System.Threading.Thread.Sleep выполняется пермоментно (сразу и во всем своем количестве), например в вашем коде, warl0ck получится так:
1. Задержка*1000
2. 1000 запросов разом
Лично мне показалось, что это не соответствует запросу, и по - моему мнению лучше здесь использовать таймер вместо этого.

Hermein
08.04.2011, 16:02
Как сделать так. чтобы после отправки запроса прога ждала 1005 сек и потом повторял его 1000раз .
НАПРИМЕР:

ЗАПРОС
Ждём 1005 сек
повторяем 1 раз
ждём 1005 сек
И Т.Д!
Язык- C#!

Тема всё ещё актуальна!

по нажатию баттона:
Отправь запрос
и включи таймер(timer1.Start();)

в таймер 1 interval поставь 1005000

потом в событии таймера - timer_tick
напиши timer1.Interval = 1005000;//через 1005 секунду чтобы отправлял
kolvo=kolvo+1;
далее свой запрос.
и проверку на выполненность
if (kolvo<1000){}else{timer1.Stop();}
все.
Примерный код:
int kolvo=0;
private void button1_Click(object sender, EventArgs e)
{timer1.Interval = 1005000;//задаем интервал таймеру
timer1.Start();//запускаем таймер
//свой запрос
}
private void timer1_Tick(object sender, EventArgs e)
{timer1.Interval = 1000;//интервал выполнений через 1 секунду, если надо по 1 запросу каждые 1005 с то напиши вместо 1000 1005000
kolvo=kolvo+1;//счетчик выполнений
//свой запрос
if (kolvo<=1000){}else{timer1.Stop(); //проверка на выполнение
}
}