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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.08.2010, 17:07   #1
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию Условие на продолжение

Здравствуйте, подскажите пожалуйста, а то никак сам не могу допереть.
Есть функция которая выполняется в отдельном потоке
Смысла на подобие вот этой:
Код:
        private void function()
        {
            infoBox.AppendText("Проверка началась...");
            if (textBox1.Text != null)
            {
                //Дальше пошло много строк кода
            }
        }
Мне нужно чтобы при входе в эту функцию, проверялось условия до той поры, пока оно не станет верным, но чтобы не выходя из этой функции. Как это можно сделать?
iHikita вне форума Ответить с цитированием
Старый 25.08.2010, 17:14   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Заменить if на while?
pu4koff вне форума Ответить с цитированием
Старый 25.08.2010, 17:23   #3
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Операция, которую нужно сравнивать вот такая
Код:
Convert.ToString(browser.Div(Find.ById("contentCaptcha")).Style)== "display: none;"
И так получается, что программа со временем зависает в цикле.
iHikita вне форума Ответить с цитированием
Старый 25.08.2010, 17:25   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
iHikita
А что тебе нужно этим кодом? Задача какая?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.08.2010, 17:33   #5
iHikita
Пользователь
 
Регистрация: 14.03.2010
Сообщений: 38
По умолчанию

Нужно проверить задан ли параметр Style(На страничке в Firefox у элемента DIV), и когда он станет равен null, продолжить работу программы.
Сейчас поставил в цикле Thread.Sleep(10000); , вроде всё нормально, но это нормальный выход из ситуации?
iHikita вне форума Ответить с цитированием
Старый 25.08.2010, 19:49   #6
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Код:
while (Convert.ToString(browser.Div(Find.ById("contentCaptcha")).Style) != null)
{
// твои действия
}
Только что-то мне подсказывает, что если Convert.ToString(browser.Div(Find.B yId("contentCaptcha")).Style) != null то ты зациклишься.
Hollander вне форума Ответить с цитированием
Старый 26.08.2010, 13:12   #7
worldpnz
 
Регистрация: 26.08.2010
Сообщений: 7
По умолчанию

Вставь в цикл Application.DoEvents(); и зависания не будет
worldpnz вне форума Ответить с цитированием
Старый 26.08.2010, 14:27   #8
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,065
По умолчанию

Если я правильно понял, то копайте в сторону:
Код:
browser.Div(Find.ById("contentCaptcha")).WaitUntil(...);
pu4koff вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В продолжение темы об установке счетчика doober Microsoft Office Access 3 29.04.2010 16:06
C++ первый опыт [продолжение] kin63camapa Софт 0 26.03.2010 23:19
чтение данных (D2XX) (продолжение) fize Помощь студентам 1 12.01.2010 01:51
Заполнение бланков (продолжение) kzld Microsoft Office Excel 8 28.07.2009 17:19
Продолжение воспроизведения, bass.dll BredoZavR Мультимедиа в Delphi 4 06.06.2009 18:46