Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
VisualBasic
(Модератор:
Naghual
) > Тема:
КАК остановить програму?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: КАК остановить програму? (Прочитано 7206 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Uana
Гость
КАК остановить програму?
«
:
08-12-2004 09:51 »
В программе написанной на VB6. требуется при выполнении сканировать
введенный текст (лексический анализатор) до первой ошибки.
Как сделать чтоб после первой ошибке в тексте
программа просто остановилась и дальше не продолжала разбор
пока не исправлю ошибку в тексте.
Анализатор сделан с помощью матрицы переходов.
Действие для выдачи ошибки запрограммировано очень просто,
Public Sub Act3()
Dim str1 As String
MsgBox ("ошибка!")
End Sub
выводит окно комментария, но после нажатия кнопки на окне комментария
продолжает разбор, а мне надо чтобы программа остановилась я исправила ошибку
и продолжила разбор. Какую команду добавить?
Мне нужно чтоб выполнение процедур остановилось, пока я не исправлю ошибку
в тексте, а затем продолжилось выполнение лексического анализатора.
Записан
HandKot
Молодой специалист
Offline
КАК остановить програму?
«
Ответ #1 :
09-12-2004 06:13 »
Можно посоветовать сделать глобальную переменную типа BOOLEAN
и выставлять ее значение, к примеру, в TRUE при ошибке
в процедуре анализа проверять это значение и работать, если значение FALSE
Public blnError as boolean 'признак ошибки
public sub FormLoad()
blnError = false 'выставляем начальное значение
end sub
Public Sub Act3()
Dim str1 As String
MsgBox ("ошибка!")
blnError = true 'выставляем признак ошибки
End Sub
Public sub Analis()
if blnError then exit sub 'если ошибка проверку не проводим
end sub
Public sub Pravka()
blnError = false 'если исправили, то снимаем признак ошибки
end sub
так же можно созранять позицию в тексте, где ошибка, чтобы при исправлении оной, начинать проверять не с начала текста, а с указанной позиции
Записан
I Have Nine Lives You Have One Only
THINK!
Uana
Гость
КАК остановить програму?
«
Ответ #2 :
10-12-2004 07:51 »
А кроме Exit Sub, какие еще остановки существуют в VB
Записан
blind rain
Гость
КАК остановить програму?
«
Ответ #3 :
10-12-2004 20:18 »
Остановки в VB: End, Stop - экстренный останов
Не совсем понятно зачем нужен такой останов?
Почему не использовать конструкцию типа:
On error goto catch:
'алгоритм разбора
...
'в случае нахождения ошибки
err.raise vbCustom+1,'', 'описание ошибки'
'продолжение разбора
'все разобрали
exit sub
catch:
if Err.Number=vbCustom+1 then
call ShowMsg (Err.description) 'отобразить сообщение
call MakeChanges() 'исправить ошибку
resume next 'ошибка обработана возврат к продолжению разбора
end if
end sub
То есть использовать обработчик ошибки для исправления ошибки :)
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
VisualBasic
(Модератор:
Naghual
) > Тема:
КАК остановить програму?
Загружается...