Форум программистов, компьютерный форум, киберфорум
Наши страницы
MS Access
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Soft17
1 / 1 / 1
Регистрация: 15.01.2017
Сообщений: 381
1

Как заставить процесс работать, пока кнопка нажата?

16.02.2019, 00:27. Просмотров 1054. Ответов 7

Как заставить процесс работать, пока кнопка нажата?
Т.е.
- пользователь нажал(удерживает нажатой) кнопку - процесс выполняется;
- пользователь отпустил кнопку - процесс остановился;

Я использую:
- Win 7x64;
- Доступ - 2016;

Я пытаюсь решить мою проблему с помощью следующего кода.
Но безуспешно.
Form1
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Option Compare Database
Option Explicit
 
Public statusBool As Boolean
Public numProc As Integer
 
' `Button pressed`.
Private Sub btnStart_Click()
        numProc = 0
        statusBool = True
        
        Call Process(statusBool, numProc)
        
End Sub
 
' Process
Public Sub Process(statusBool As Boolean, numProc As Integer)
        If statusBool = True Then
            Do
                    Sleep 1000
                    DoEvents
            Loop Until Me.txtProcessFrm = "ProcessNum - " & numProc + 1
 
           Call Process(statusBool, numProc)
        End If
        
End Sub
 
'
Private Sub btnStart_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
    statusBool = False
    numProc = 0
    Call Process(statusBool, numProc)
End Sub
Модуль "Module1"
Visual Basic
1
Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
0
Миниатюры
Как заставить процесс работать, пока кнопка нажата?  
Вложения
Тип файла: zip КнопкаНажата.zip (90.5 Кб, 0 просмотров)
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.02.2019, 00:27
Ответы с готовыми решениями:

Как подключать клиентов, до тех пор пока не нажата определенная кнопка?
С помощью keyEvent. Допустим есть цикл вечный подключения клиентов while(true) { ...

пока нажата кнопка. !
Имеются допустим 2 кнопки на каждую из них при нажатии выполняется действие . Проблема заключается...

Действие пока нажата кнопка
Всем привет, у меня такой вот вопрос. Как сделать проверку на нажатую кнопку на клавиатуре?...

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

Пауза в цикле, пока не нажата кнопка
Подскажите, как реализовать следующий алгоритм: for (a = 0; a <= 10 ; a++) { hButton1 =...

7
mobile
Эксперт MS Access
23733 / 13287 / 2806
Регистрация: 28.04.2012
Сообщений: 14,549
16.02.2019, 00:43 2
Посмотреть пока не могу, поэтому схематично:
- на событии кнопка вниз взводим таймер формы и запускаем процесс
- на событии кнопка вверх таймер обнуляем и прекращаем выполнение запущенного процесса
1
Eugene-LS
3881 / 2236 / 423
Регистрация: 05.10.2016
Сообщений: 6,213
16.02.2019, 00:50 3
Цитата Сообщение от mobile Посмотреть сообщение
Посмотреть пока не могу, поэтому схематично:
- на событии кнопка вниз взводим таймер формы и запускаем процесс
- на событии кнопка вверх таймер обнуляем и прекращаем выполнение запущенного процесса
Позволю себе добавить:
+ в процессе постоянно проверяем события кнопок (а таймер работает у нас) - тут надобно отлаживать.
VBA - часто работает "впереди паровоза", но у меня подобное получалось.
И вам успехов!"
1
Eugene-LS
3881 / 2236 / 423
Регистрация: 05.10.2016
Сообщений: 6,213
16.02.2019, 09:26 4
Цитата Сообщение от Soft17 Посмотреть сообщение
Как заставить процесс работать, пока кнопка нажата?
Т.е.
- пользователь нажал(удерживает нажатой) кнопку - процесс выполняется;
- пользователь отпустил кнопку - процесс остановился;
Довольно не тривиальная задачка.
А позвольте полюбопытствовать, зачем так сложно?
Какую конкретно задачку решаем?
В программировании интерфейсов БД это не встречаться (не помню, не видел).
1
16.02.2019, 09:26
Soft17
1 / 1 / 1
Регистрация: 15.01.2017
Сообщений: 381
16.02.2019, 09:39  [ТС] 5
Цитата Сообщение от Eugene-LS Посмотреть сообщение
Довольно не тривиальная задачка.
А позвольте полюбопытствовать, зачем так сложно?
Какую конкретно задачку решаем?
В программировании интерфейсов БД это не встречаться (не помню, не видел).
Не ожидал, что это будет не просто...
Просто решил по экспериментировать...

Предложенные вами с mobile варианты пока не прорабатывал..
Пробую пока что-то сделать на основе "DoEvents".
0
Eugene-LS
3881 / 2236 / 423
Регистрация: 05.10.2016
Сообщений: 6,213
16.02.2019, 09:52 6
Цитата Сообщение от Soft17 Посмотреть сообщение
Предложенные вами с mobile варианты пока не прорабатывал..
За ув. mobile, не скажу, но я пока вариантов решения не предлагал, написал просто "Похожее".
Извините , но вы так и не ответили на вопрос "Зачем?". с вероятностью 90% - думаю, что можно решить проще, и не изобретать "велосипед".
0
Панург
Мы один, давай на "ты"
1730 / 769 / 165
Регистрация: 16.06.2016
Сообщений: 1,576
16.02.2019, 11:41 7
Лучший ответ Сообщение было отмечено Soft17 как решение

Решение

Цитата Сообщение от Soft17 Посмотреть сообщение
Как заставить процесс работать, пока кнопка нажата?
в свойствах кнопки:
Автоматический повтор=Да

AutoRepeat
1
MrShin
254 / 222 / 57
Регистрация: 18.06.2015
Сообщений: 474
18.02.2019, 09:18 8
Задержка через рекурсивный вызов? Это сильно. Большая вероятность, что Акцесс просто рухнет
0
18.02.2019, 09:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.02.2019, 09:18

Воспроизведение мелодии, пока кнопка нажата
В игре есть фоновая музыка, она играет постоянно, как сделать медодию включающуюся по кнопке? Надо...

Работа цикла, пока не нажата кнопка на клавиатуре
Ребята, помогите плиз! Нужно соорудить цикл, который работает до тех пор, пока не нажмут кнопку на...

Запрет на выход курсора из объекта, пока нажата кнопка
Как запретить курсору мыши выходить за пределы дива, пока нажата левая кнопка мыши


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru