Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.05.2009, 03:36   #1
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
Радость как сделать паузу (или задержку) в цыкле : с#

вот если есть цыкл, в нем что-то делается, и выводится на каждом шагу на екран. как сделать, чтоб ето делалось медленнее? есть ведь какая-то ф-я, наверное, что делает задержку екрана?
Natok вне форума Ответить с цитированием
Старый 30.05.2009, 03:40   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
System.Threading.Thread.Sleep(50);
- задержка в 50 миллисекунд.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.05.2009, 03:56   #3
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
По умолчанию

да, спасибо очень!
но получается как: 15 раз в цыкле волки и зайцы двигаются, первые едят вторых, и пока все ето выводится на екран только в матрицах (без графики).
сейчас, используя
в цыкле

Код:
 System.Threading.Thread.Sleep(500);
после запуска программы просто нужно подождать 500 милисекунд, пока появится в Ричтекстбоксе 15 матриц.
а нельзя так, чтоб каждые 2 секунды, например, появлялась следующая матрица?
Natok вне форума Ответить с цитированием
Старый 30.05.2009, 04:00   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
а нельзя так, чтоб каждые 2 секунды, например, появлялась следующая матрица?
Как-то не очень понял )
Задержка -> Преобразуем матрицу -> Вывод матрицы в Ричтекстбокс ->задержка -> преобразуем матрицу -> Вывод....
Или я что-то не так понял?
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.05.2009, 04:08   #5
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
Радость

ну, да, в принцыпе...потому что когда добавить графику в код, не будет заметно перемен ведь. а так каждые 2 секунды обновлялся б рисунок и было б заметно изменения - движения зверков и как уменшается к-ство зайцев)))
Natok вне форума Ответить с цитированием
Старый 30.05.2009, 04:16   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
Сообщение от Natok
потому что когда добавить графику в код, не будет заметно перемен ведь
Это почему? Ведь у компонентов есть функции перерисовки (Refresh, вроде).
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 30.05.2009, 04:22   #7
Natok
Пользователь
 
Аватар для Natok
 
Регистрация: 17.05.2009
Сообщений: 85
По умолчанию

да, то что есть перерисовка и что каждый раз нужно рисовать заново, я знаю))))
но ето если делать кнопку "Следующий шаг". то есть когда изменения происходят при нажатии кнопки по 1 разу за 1 нажатие.
а мне в принцыпе нужно сделать кнопку "Старт" и задавать к-ство шагов. и все ети действия должны происходить в цыкле (int i=0; i < к-ство шагов ; i++)
было б красивее при етом наблюдать за изменениями.
Natok вне форума Ответить с цитированием
Старый 30.05.2009, 12:55   #8
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Natok, так и будет все красиво и будет все двигаться. Вот пример.
На форме кнопка и ричтекстбокс.
Код:
void Button1Click(object sender, EventArgs e)
		{
			int i,j,k;
			int[,] matr = new int[3,3];
			Random r = new Random(4);
			
			for(k=0; k<10; k++)
			{
				System.Threading.Thread.Sleep(500);
				richTextBox1.Clear();
				
				for(i=0; i<3;i++)
				{
					for(j=0; j<3; j++)
					{
						matr[i,j] = r.Next(5);
						richTextBox1.Text = richTextBox1.Text + matr[i,j].ToString() + " ";
					}
					richTextBox1.Text = richTextBox1.Text + "\n";
				}
				richTextBox1.Refresh();
				
				
			}
			
			
			
		}
10 раз с интервалом в 500 миллисекунд в ричтекстбоксе будет появляться новая матрица.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как ограничить выбор списка или сделать зависимость? Стасон Microsoft Office Excel 4 29.03.2009 09:18
Таймер на паузу yulia Общие вопросы Delphi 16 02.12.2008 18:09
caption в цыкле nikleb Общие вопросы Delphi 3 18.04.2008 15:23
Как организовать задержку выполнения?? Kenifer Общие вопросы Delphi 12 03.09.2007 21:56
TWebBrowser/EmbeddedWB или как сделать игровой клиент! flaxe Работа с сетью в Delphi 1 18.11.2006 19:14