Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ожидание нажатия кнопки или пауза в выполнении цикла - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа со строками в С++ http://www.cyberforum.ru/cpp-beginners/thread79873.html
Здравствуйте, вы бы не могли мне помочь решить такую задачу: Дана строка, представляющая предложение. Слова в предложении состоят из маленьких латинских букв. Между словами находится 1 или более...
C++ Конечный автомат для строк Конечный автомат для строк используя switch. Помогите пожалуйста... http://www.cyberforum.ru/cpp-beginners/thread79866.html
C++ Лучшая сортировка
Придумал алгоритм сортировки, эффективный и простой в реализации - 1. перемешать все элементы массива 2. проверить порядок. Вот её детализация:...
C++ Граф, решение задачи коммивояжера
Решить задачу коммивояжёра (человек выезжает из одного города, должен объехать все остальные вернуться в первоначальный, проехав наименьший путь). Я планировал реализовать так - найти все возможные...
C++ Найти максимальную сумму элементов прямоугольного подмассива по всем возможным прямоугольным подмассивам http://www.cyberforum.ru/cpp-beginners/thread79843.html
Задание: Дан массив A. Необходимо найти максимальную сумму элементов прямоугольного подмассива по всем возможным прямоугольным подмассивам. Решение: Пытался сделать сам - не получилось. Нашёл в...
C++ ID3 tag и чтение информации из него Как сделать чтение из id3 tag информации? я вообще хочу заносить название песни в так называемый плейлист( listbox) подробнее

Показать сообщение отдельно
Опа!!
15 / 15 / 0
Регистрация: 30.09.2009
Сообщений: 89
25.12.2009, 22:05  [ТС]
так-с, sleep позволил сделать паузу, но только увеличивает время выполнения цикла. возможно, не в том месте использую? Я сделал так:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
do
  {switch(q)
        {case 1:   //первое состояние
          switch(a)
           {case('a'): 
                 // flag = true;
                  Form2->Edit2->Text = "1";
                  Sleep(1000);
                  q = 2;
                  Pos++;
                  break;
                case('b'):
                                  Form2->Edit2->Text = "2";
                  Sleep(1000);                
                                  Pos++;
                  break;
.......
Но очевидно, что работать не будет и во время паузы ничего выводиться в эдит не будет, выведется только после прохождения цикла (или в самом его конце. т.е. поэтапно 1, 2 и т.д. появляться не будет, будет только последнее значение, 10 там или сколько раз выйдет), и выведется уже готовая строка.

Цитата Сообщение от TanT Посмотреть сообщение
самое простое ставить флаг при нажатии клавиши, а при прохождении цикла один раз его снимать и не заходить в switch пока флаг не установлен
возможно, подойдет этот вариант. но как его реализовать - не понял. куда именно прикрепить надо?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru