Как остановить программу delphi

Как остановить ход выполнения программы в Delphi до нажатия пользователем клавиши (допустим, любой) без вызова дополнительного окна? То есть пусть есть 10 строк кода. Первые 5 строк выполнились и программа ждёт действий пользователя. Тот нажимает, допустим, Enter , и далее выполняются остальные 5 строк кода.

Ах, да, всё это происходит не в консольном приложении (а что делать в консольном, кроме readln ?). p.s. Извините, если не точно выразился, но MessageBox и ShowMessage не подходят.
Остановка за счёт свойств и методов формы подойдёт только, если её можно сделать динамически. (По этому поводу другой мой вопрос: Работа с TForm в Delphi)

Отслеживать
задан 5 сен 2011 в 6:20
149 3 3 серебряных знака 17 17 бронзовых знаков

А может цикл поставить где нужно, в ожидании нажатии нужной (любой) клавиши? Как нажал, цикл прекращается и поехали дальше.

5 сен 2011 в 6:47

Буду очень благодарен за код данного цикла или хотя бы, что в нём писать (суть). Прочтите пожалуйста мой комментарий на первый ответ.

урок на Делфи — 40. Закрыть чужую программу

Источник: ru.stackoverflow.com

Как остановить программу delphi

А вот код кнопки btnVorid:

procedure Tfanketa_edt.btnvoridClick(Sender: TObject); begin if Edit.Text=» then begin messagebox(application.Handle,’Введите значени!’, ‘Внимание’, MB_ICONEXCLAMATION+mb_systemmodal); Edit.SetFocus; exit; end end;
Как сделать так что бы при выполнении условии форма не закрывалась?
Регистрация: 28.01.2009
Сообщений: 20,999

от exit в том случае нет смысла.(exit не закрывает форму, и вы задали вопрос насчет завершения программы, а о форме ничего не сказали)
за закрытие формы отвечает первый код, в нем условие то выполняется или нет?

Читайте также:
В какой программе склеить видео

Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Пользователь
Регистрация: 06.05.2010
Сообщений: 28

от exit в том случае нет смысла.(exit не закрывает форму, и вы задали вопрос насчет завершения программы, а о форме ничего не сказали)
за закрытие формы отвечает первый код, в нем условие то выполняется или нет?

Да если в диалоговом окне нажать на кнопку «ДА».

Источник: www.programmersforum.ru

3. Принудительное прерывание работы программы

Если программа запущена из среды Delphi, ее работу можно прервать в любой момент. C помощью клавиш Ctrl+F2, опцией Run | Program pause или, наконец, установив точку контрольного останова в той части программы, которая выполняется в данный момент или будет выполнена.

Как отключить демонстрационный режим Delphi

4. Трассировка программы

Перед исполнением оператора, в котором установлена точка контрольного останова, работа программы будет прервана, управление получит среда Delphi, a в окне наблюдения отразится текущее значение наблюдаемых переменных и/или выражений. Теперь программист может прослеживать работу программы по шагам с помощью клавиш F7 и F8 или инструментальных кнопок.

При нажатии F8 будут выполнены запрограммированные в текущей строке действия, и работа программы прервется перед выполнением следующей строки текста программы. Замечу, что контрольная точка останова выделяется по умолчанию красным цветом, а текущая прослеживаемая строка-синим. Если программа остановлена в контрольной точке, т.е. когда текущая строка совпадает со строкой останова, строка выделяется красным цветом, Признаком текущей строки является особое выделение строки в служебной зоне слева в окне редактора (см. рис. П4.3).

Читайте также:
Программе голос сколько лет

Рис. П 4.3- Фрагмент окна редактора в режиме отладки

Кстати, чтобы установить/снять точку контрольного останова, достаточно щелкнуть мышью по служебной зоне слева от нужной строки или установить в эту строку текстовый курсор и нажать F5.

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

После трассировки нужного фрагмента программы можно продолжить нормальную ее работу, нажав клавишу F9.

5. Действия в точках прерывания

В Delphi 5 и 6 с любой точкой можно связать одно или несколько действий. Для этого нужно активизировать окно точек останова, вызвать его локальное меню (щелчок правой кнопкой) и выбрать продолжение Properties. В появившемся окне свойств щелкнуть по кнопке Advanced (рис. П4.4).

В нижней части окна имеется панель Actions, с помощью которой и определяются действия для точки останова, указанной в верхней части окна.

Break — простой останов перед выполнением помеченного оператора.

Ignore subsequent exceptions -если переключатель установлен, игнорируются все возможные последующие исключения в текущем отладочном сеансе до очередной точки останова, в которой, возможно, это действие будет отменено.

Handle subsequent exceptions-после установки этого переклюю-чателя отменяется действие предыдущего переключателя и возобнов-ляется обработка возможных исключений.

С помощью Log message вы можете указать произвольное сообщение, связанное с точкой останова, а с помощью Eval expression-вычислить некоторое выражение и поместить его результат в это сообщение.

6. Группировка точек прерывания

В Delphi 5 и б имеется возможность объединения точек останова в группы. Для этого используется все то же окно рис. П4.4: в строке Group следует указать имя группы, к которой принадлежит точка, а в строках Enable Group и Disable Group соответственно разрешить или запретить действие всех точек останова, относящихся к соответствующей группе.

Читайте также:
Мультиварка редмонд программа плов как включить

Рис. П4.4 -Окно связывания точки останова с действием

Источник: studfile.net

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru