Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 17.08.2019
Сообщений: 4
1

Цикл в цикле срабатывает только 1 раз

17.08.2019, 02:21. Показов 1243. Ответов 6
Метки нет (Все метки)

Здравствуйте.

Я написал такой цикл:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
while (a != Convert.ToInt32(textBox3.Text))
                {
                    while (b != Convert.ToInt32(textBox4.Text))
                    {
                        SendKeys.Send(textBox1.Text);
                        Thread.Sleep(5);
                        SendKeys.Send("+{ENTER}");
                        Thread.Sleep(5);
                        b++;
                    }
                    SendKeys.Send("{ENTER}");
                    a++;
                }
По задумке while который находится в другом while должен исполняться вместе с ним, но он выполняется только 1 раз за несколько выполнений первого while. Объясните пожалуйста, почему так происходит?
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.08.2019, 02:21
Ответы с готовыми решениями:

Цикл срабатывает только один раз -_-
import java.util.Scanner; import java.lang.String; import java.util.regex.*; public class Main...

Функция в цикле срабатывает один раз
Функция " deleteDigits();", с передаваемым массивом через ссылку срабатывает один раз, хоть и...

Цикл не срабатывает второй раз
Всем привет! Ребята помогите. Использую такой цикл: Dim i1 As Integer = 0 Dim d As Integer...

Цикл срабатывает по нескольку раз
Добрый вечер! Возникла следующая проблема: по некой причине в следующей программе цикл while после...

6
Эксперт .NET
15555 / 11804 / 3097
Регистрация: 17.09.2011
Сообщений: 19,715
17.08.2019, 02:41 2
Ну вероятно после первой итерации b становится равным Convert.ToInt32(textBox4.Text).
0
0 / 0 / 0
Регистрация: 17.08.2019
Сообщений: 4
17.08.2019, 03:34  [ТС] 3
К сожалению это не так.
0
Фрилансер
3690 / 2059 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
17.08.2019, 03:44 4
Цитата Сообщение от csrm342 Посмотреть сообщение
К сожалению это не так.
Да? Смотрим внимательно.
На первой итерации внешнего цикла внутренний цикл выполнился, b изменилось, условие цикла стало ложным.
И что же заставит b снова поменять значение на второй итерации внешнего цикла? Условие как было ложным, так и осталось
0
0 / 0 / 0
Регистрация: 17.08.2019
Сообщений: 4
17.08.2019, 04:33  [ТС] 5
Может это из за того что я что то не установил?

Добавлено через 2 минуты
Оно же вроде не ложное.

Чему бы было textbox4.text не ровно цикл происходит только один раз.
к слову b изначально = 0

Добавлено через 18 минут
В программе в textbox4 можно поставить количество выполнений цикла

Добавлено через 26 минут
Даже если изменить
C#
1
while(a != Conver.ToInt32(textbox4.text)){}
На
C#
1
while(a != любое число){}
ничего не изменится
0
Фрилансер
3690 / 2059 / 567
Регистрация: 31.05.2009
Сообщений: 6,683
17.08.2019, 09:53 6
csrm342, Вы с кем разговариваете?
Прочтите, наконец, что Вам написали:
Цитата Сообщение от Black Fregat Посмотреть сообщение
что же заставит b снова поменять значение?
0
0 / 0 / 0
Регистрация: 17.08.2019
Сообщений: 4
18.08.2019, 05:03  [ТС] 7
Но ведь b не ровно textbox4

Добавлено через 22 минуты
Как получилось что когда я сделал так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (a != Convert.ToInt32(textBox3.Text))
                {
                    while (b != Convert.ToInt32(textBox4.Text))
                    {
                        SendKeys.Send(textBox1.Text);
                        Thread.Sleep(5);
                        SendKeys.Send("+{ENTER}");
                        Thread.Sleep(5);
                        b++;
                    }
                    SendKeys.Send("{ENTER}");
                    a++;
                    b = 0;
                }
всё стало работать корректно?

Добавлено через 1 минуту
Ведь
C#
1
while(a != Convert.ToInt32(texbox4.text))
должно работать так [Цикл продолжается пока a != textbox4] разве не так?

Добавлено через 5 минут
После того как я посидел ещё дохера времени до меня дошло как это работает.
И что ошибку никак не исправить кроме как
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
while (a != Convert.ToInt32(textBox3.Text))
                {
                    while (b != Convert.ToInt32(textBox4.Text))
                    {
                        SendKeys.Send(textBox1.Text);
                        Thread.Sleep(5);
                        SendKeys.Send("+{ENTER}");
                        Thread.Sleep(5);
                        b++;
                    }
                    SendKeys.Send("{ENTER}");
                    a++;
                    b = 0;
                }
А до этого я думал как бы исправить ошибку чтоб было поменьше кода.
никак...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.08.2019, 05:03

Отправка POST запроса в цикле: срабатывает только первый
Прив. Есть некий сайт, задача состоит в том, чтобы залогиниться на нем, с помощью POST запроса, и...

if срабатывает только 1 раз
Добрый день я начал изучать PHP и столкнулся с небольшой проблеммой, она ввела меня в туп ик. Я...

Таймер срабатывает только 1 раз
Как сделать, если время таймера закончилось, и он выполнил то что ему было задано, то он...

Анимация срабатывает только 1 раз
В js новичок. Нужно написать простой слайдер, так как паблик меня не устраивал. Перейдём к делу....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru