0 / 0 / 0
Регистрация: 21.06.2016
Сообщений: 11

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

03.07.2016, 17:58. Показов 2914. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru