powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / прервать выполнение программы через кнопку
7 сообщений из 7, страница 1 из 1
прервать выполнение программы через кнопку
    #35211753
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
программа бежит в процедуре в цикле
мне нужно при нажатии на кнопку прервать выполнение цикла и процедуры
при этом ту часть работы которая уже выполнена нужно сохранить
или чтобы выполнился определённый блок а после была остановка
(например с сообщением)
как такое реализовать
Спасибо
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212020
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на кнопку - флаг
внутри процедуры DoEvents ии проверка на флаг завершения.
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212025
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
Option Explicit
Private i As Long
Const MAX_VALUE As Long =  200000000 
Private Sub cmdStart_Click()
    i =  1 
    For i =  1  To MAX_VALUE
    DoEvents
    Label1.Caption = CStr(i)
    Next i
End Sub

Private Sub cmtStop_Click()
    MsgBox "Program stopped at " & CStr(i)
    i = MAX_VALUE +  1 
End Sub
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212462
Фотография michael R
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в принципе я так и сделал
только долго выходит думал можно быстрее
в любом случае спасибо
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212492
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там наверно, через threads надо.
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212512
Фотография VladConn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И еще идея. Исполнение DoEvents в каждой итерации - это перестраховка. Человек много медленнее, а DoEvents потребляет ресурсы. Попробуйте так:

If i Mod 2000 = 0 Then DoEvents
...
Рейтинг: 0 / 0
прервать выполнение программы через кнопку
    #35212683
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: big-duke
> Можно так

а потом появляются вопросы, почему цикл работает не правильно, и после
двухдневного расследования выясняется, что где-то модифицируется управляющая
переменная цикла ;-)

Уж лучше флаг ввести и проверять его :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / прервать выполнение программы через кнопку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]