С Новым годом! Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 11

Приостановка выполнения программы

03.07.2016, 17:58. Показов 2886. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как организовать остановку выполнения программы при нажатии пробела и продолжение её выполнения после повторного нажатия с сохранением всех текущих данных? Не ставить же после каждой строки кода проверку нажатия)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2016, 17:58
Ответы с готовыми решениями:

Приостановка выполнения кода
Доброго времени суток, прошу помощи в следующей проблеме. Есть проект, который выполняет обработку в базе данных, обработка длительная, для...

Временная приостановка выполнения процедуры
Можно ли продцедуру, во время её выполнения ПРИОСТАНОВИТЬ, выполнить другую продцедуру, а потом продолжить ранее приостановленную? Не...

Приостановка выполнения программы
Пишу программу ее цель вывести в jTextArea определенное предложение на заданный промежуток времени, после скрыть его и действовать дальше...

8
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
03.07.2016, 18:09
Цитата Сообщение от Перрен Посмотреть сообщение
Не ставить же после каждой строки кода проверку нажатия)
Не надо после каждой строки. Просто отлавливать нажатие клавиши "Пробел", код 32
Visual Basic
1
2
3
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 32 Then MsgBox "Пробел нажат"
End Sub
1
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 11
03.07.2016, 18:26  [ТС]
А без дополнительных окон Msg? Пробел -> остановка, (ещё раз) пробел -> продолжение работы программы.
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
03.07.2016, 19:15
Цитата Сообщение от Перрен Посмотреть сообщение
Пробел -> остановка, (ещё раз) пробел -> продолжение работы программы.
Что бы остановить программу, надо знать, как она организована.
Не видя Вашего исходного кода, я не могу сказать как её остановить и снова запустить.
Я могу только показать код, который при последовательном нажатии на Пробел выполняет поочерёдно две разные команды.
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Static p As Boolean
p = Not p
If p = False And KeyCode = 32 Then
MsgBox "Пауза "
Else
MsgBox "Работаем"
End If
 
End Sub
1
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
03.07.2016, 19:48
Лучший ответ Сообщение было отмечено Перрен как решение

Решение

Остановите стопом

p = Not p: If p = False And KeyCode = 32 Then Stop

Добавлено через 36 секунд
...Шучу ))

Добавлено через 8 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Static p As Boolean, p1 As Boolean
    p = Not p
    If p = False And KeyCode = 32 Then
        Me.Caption = "Pause"
        p1 = True
        While p1
            DoEvents
        Wend
    ElseIf KeyCode = 32 Then
        Me.Caption = "Start"
        p1 = False
    End If
End Sub
1
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 11
03.07.2016, 19:48  [ТС]
В нескольких циклах перебираются значения в поиске подходящей комбинации - ход перебора выводится на экран очень быстро. Всех комбинаций очень много. Чтобы многократно "подсматривать" за ходом решения - видеть конкретный вариант не мельком удобнее было бы пользоваться клавишей пробела. Окно сообщения несколько)) неудобно, так как его нужно дополнительно сдвигать и лишь потом можно увидеть результат.
0
oh my god
 Аватар для fever brain
1456 / 796 / 161
Регистрация: 05.01.2016
Сообщений: 2,307
Записей в блоге: 8
03.07.2016, 20:01
Pro_grammer, кстати у Вас в условии *работаем* нужно было учесть пробел ElseIf KeyCode = 32 Then ... а то работа может начаться от любой клавиши

Добавлено через 10 минут
Цитата Сообщение от Перрен Посмотреть сообщение
Всех комбинаций очень много. Чтобы многократно "подсматривать" за ходом решения - видеть конкретный вариант не мельком удобнее было бы пользоваться клавишей пробела
Только что же выложил, вот еще нагляднее показываем торможение в секундах
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    Static p As Boolean, p1 As Boolean
    p = Not p
    If p = False And KeyCode = 32 Then
        p1 = True
        While p1
            DoEvents
            Me.Caption = "Pause " & Second(Time)
        Wend
        Me.Caption = "Continue prog ..."
    ElseIf KeyCode = 32 Then
        p1 = False
    End If
End Sub
1
0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 11
03.07.2016, 20:01  [ТС]
fever brain, Спасибо, работает! Самое оно)
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
03.07.2016, 20:23
Цитата Сообщение от Перрен Посмотреть сообщение
В нескольких циклах перебираются значения в поиске подходящей комбинации
Для такого кода вариантfever brain вполне подходит. А вот если бы работа была организована по таймеру, то код бы не сработал. Потому и надо было уточнить принцип работы, а не сразу печатать, что в голову пришло, как fever brain
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.07.2016, 20:23
Помогаю со студенческими работами здесь

Приостановка выполнения программы
Подскажите пожалуйста, можно ли в си как-нибудь реализовать приостановку выполнения программы на несколько секунд? Нужно что-то вроде...

Приостановка выполнения программы
Такая проблемка. Из программы вызывается форма - Docmd.OpenForm ....,acDialog Форма-то вызывается, но программа выполняется дальше, ...

Приостановка выполнения
Есть форма с кнопкой при нажатии на которую форма сворачивается и создаётся новая форма с принскрином монитора, но первая форма...

приостановка выполнения процедуры
задача состоит в следующем выполняется цикл в котором проверяется условие если условие истенно то отобрадается форма а цикл должен быть...

Приостановка выполнения запроса
Добрый день. В C# есть метод Thread.Sleep, который останавливает выполнения запроса на какое-то время. Если ли аналогичная возможность...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru