Как сделать чтобы программа не закрывалась после выполнения паскаль

Добавил пользователь Евгений Кузнецов
Обновлено: 10.09.2024

Это, вероятно, вопрос о запуске, поскольку, несомненно, ответ ослепительно очевиден.

Я использовал Visual Studio в течение многих лет, но это первый раз, когда я создал любую консольную программу.

Когда я запускаю приложение, появляется окно консоли, появляется выход программы, а затем окно закрывается по мере выхода приложения.

Есть ли способ открыть его, пока я не проверил вывод или не просмотрел результаты после закрытия окна?

ОТВЕТЫ

Ответ 1

Если вы запускаете без отладки (Ctrl + F5), то по умолчанию он предлагает вам нажать return, чтобы закрыть окно. Если вы хотите использовать отладчик, вы должны поставить точку останова в последней строке.

Ответ 2

Щелкните правой кнопкой мыши на вашем проекте

Свойства> Свойства конфигурации> Линкер> Система

Выберите Console (/SUBSYSTEM: CONSOLE) в опции SubSystem или вы можете просто ввести Console в текстовое поле!

Теперь попробуйте. это должно работать

Ответ 3

Вот способ для C/С++:

Ответ 4

Откройте меню отладки- > Нажмите Начать без использования

Ответ 5

Ответ 6

попробуйте вызвать getchar() прямо перед возвратом main() .

Ответ 7

(/SUBSYSTEM: CONSOLE) не работал для моего vs2013 (у меня его уже было).

"run without debugging" не является параметром, так как я не хочу переключаться между отладкой и просмотром вывода.

Решение, используемое в qtcreator до 2.6. Теперь, когда qt растет, vs идет другим путем. Насколько я помню, в vs2008 нам не нужны такие трюки.

Ответ 8

Здесь решение, что (1) не требует каких-либо изменений кода или точек останова, и (2) приостанавливается после завершения программы, чтобы вы могли видеть все, что было напечатано. Он остановится после F5 или Ctrl + F5. Основной недостаток заключается в том, что на VS2013 Express (как проверено) он не загружает символы, поэтому отладка очень ограничена.

Создайте командный файл. Я назвал мой runthenpause.bat со следующим содержимым:

Первая строка будет запускать любую команду, которую вы предоставляете, и до восьми аргументов. Вторая строка будет. пауза.

Откройте свойства проекта | Конфигурационные свойства | Отладка.

Теперь, когда вы запустите, runthenpause.bat запустит ваше приложение, и после того, как ваше приложение завершится, вы остановитесь, чтобы увидеть вывод консоли.

Я опубликую обновление, если выясню, как загрузить символы. Я пробовал /Z7 за этот, но безуспешно.

Ответ 9

просто введите свою последнюю строку кода:

Ответ 10

Начиная с Visual Studio 2017 (15.9.4) есть опция:

Автоматически закрывать консоль, когда отладка прекращается:

Сообщает Visual Studio закрыть консоль в конце сеанса отладки.

Ответ 11

Вы можете запустить исполняемый файл из командной строки. Таким образом, вы можете увидеть весь вывод. Или вы можете сделать что-то вроде этого:

и таким образом окно не будет закрываться, пока вы не введете данные для переменной a .

Ответ 12

добавить "| pause" в поле аргументов команды в разделе отладки в свойствах проекта.

Ответ 13

Просто нажмите CNTRL + F5, чтобы открыть его во внешнем окне командной строки (Visual Studio не контролирует его).

Если это не сработает, добавьте следующее в конец вашего кода:

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

Если вы хотите сделать это в нескольких местах, поместите вышеуказанный код в метод (например, private void Pause() ) и вызовите Pause() всякий раз, когда программа достигает возможного конца.

Ответ 14

Несколько лучшее решение:

в начале вашей программы.

  • может использовать std:: exit()
  • может иметь несколько возвратов из основного
  • вы можете запустить свою программу под отладчиком
  • Независимый IDE (+ независимый от ОС, если вы используете трюк cin.sync(); cin.ignore(); вместо system("pause"); )
  • необходимо изменить код
  • не будет останавливаться на std:: terminate()
  • все равно произойдет в вашей программе вне сеанса IDE/debugger; вы можете предотвратить это под Windows, используя:

Ответ 15

Обязательно сделайте любой из них в конце функции main() и перед оператором return .

Ответ 16

В моем случае я испытал это, когда создал проект Empty C++ в версии VS 2017 для сообщества. Вам нужно будет установить для подсистемы значение "Консоль (/SUBSYSTEM: CONSOLE)" в разделе "Свойства конфигурации".

  1. Зайдите в "Просмотр", затем выберите "Менеджер недвижимости"
  2. Щелкните правой кнопкой мыши на проекте/решении и выберите "Свойство". Откроется страница свойств теста.
  3. Перейдите к компоновщику, затем выберите "Система"
  4. Нажмите "Подсистема" и появится выпадающий
  5. Выберите "Консоль (/SUBSYSTEM: CONSOLE)"
  6. Применить и сохранить
  7. В следующий раз, когда вы запустите свой код с помощью "CTRL +F5", вы должны увидеть результат.

Ответ 17

Вы также можете использовать эту опцию

Ответ 18

Ответ 19

Visual Studio 2015, импорт. Потому что я ненавижу когда примеры кода не дают необходимых импортов.

Какую команду можно поставить в конце командного файла, чтобы предотвратить автоматическое закрытие консоли после выполнения файла?

ОТВЕТЫ

Ответ 1

В пакетных файлах Windows/DOS:

Ответ 2

Зависит от точного вопроса!

Обычно pause выполняет задание в файле .bat.

Если вы хотите, чтобы cmd.exe не закрывался, чтобы продолжать печатать, используйте команду cmd /k в конце файла.

Ответ 3

Если вы хотите, чтобы cmd.exe не закрывался и мог продолжать печатать, используйте cmd /k

Просто почувствовал необходимость уточнить, что делает /k (с сайта Windows):

/k : Выполняет команду, указанную в строке, и продолжает.

Итак, cmd /k без последующей команды в конце файла bat просто сохранит окно cmd.exe для дальнейшего использования.

С другой стороны, pause в конце командного файла просто приостанавливает процесс и завершает cmd.exe при первой кнопке, нажав

Ответ 4

Ниже приведен список команд в командном файле, который откроет новые окна командной строки, а новые окна не будут автоматически выходить.

Ответ 5

Если вы используете Maven и хотите пропустить ввод и не допустить закрытия консоли, чтобы увидеть результат, вам нужно использовать команду CALL в скрипте, кроме просто "mvn clean install".

Как это закроет консоль

Так консоль будет оставаться открытой

Если вы не используете команду CALL , ни один из примеров вставки не будет работать.

Ответ 6

Добавьте cmd.exe в новую строку под кодом, который вы хотите выполнить:

Ответ 7

мой способ - написать фактическую партию (говоря "foo.bat" ), чтобы закончить работу; затем создайте еще один "start.bat":

Я считаю, что это очень полезно, когда я устанавливаю одноразовые переменные среды.

Ответ 8

Вызвать cmd в конце командного файла.

Ответ 9

. Он будет ожидать ввода пользователем и высвободит поток при нажатии клавиши.

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

Ответ 10

Возможность 1: Просто создайте 2 файла .bat и напишите в первую:

Пакетный файл 2 - это файл, который не закрывается в конце. Итак, теперь, когда вы открываете партию № 1, она начнет 2-й и сам гной. Когда второй заканчивается, он не будет полностью закрываться (до тех пор, пока вы не положите выход в конце)

Возможность 2: Пакетный файл 1:

Когда второй файл заканчивается, он снова переходит к файлу 1 и выводит оставшуюся часть. С этим вы даже можете сделать обработчики ошибок. Если nr.1 сбой, он переходит в nr.2 и отображает его

Ответ 11

Я знаю, что опаздываю, но мой любимый способ:

Таким образом, пользователь не может выйти, используя ввод.

Ответ 12

Этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной% exitkey% (эта переменная может быть вызвана тем, что вам нравится, хотя).

NB: пространство после '=' очень важно

Ответ 13

Ответ 14

У меня были проблемы с ответами здесь, поэтому я придумал это, что работает для меня (TM):

Ответ 15

Есть два способа сделать это зависит от варианта использования

1) Если вы хотите, чтобы приглашение Windows cmd оставалось открытым, чтобы вы могли увидеть результат выполнения и закрыть его впоследствии; использовать

2), если вы хотите, чтобы приглашение Windows cmd оставалось открытым и позволяло выполнять некоторые последующие команды; использовать

введите описание изображения здесь

Ответ 16

Легко, добавьте cmd в свою последнюю строку летучей мыши, НО! если вы reset или очистите свой системный путь, вы должны запустить свой cmd с полным путем, например:

Например, у меня есть файл bat для reset jdk для старой версии, например:

Ответ 17

и окно закроется после нажатия клавиши. Чтобы скрыть текст, напечатанный в командной строке, введите

Процедура Exit в Паскале выполняет выход из программы (выход из подпрограммы, выход из процедуры, выход из функции). Синтаксис:

Процедура Exit выполняет выход из текущей подпрограммы и возвращает управление вызвавшей эту подпрограмму программе (или подпрограмме). То есть если вы вызвали подпрограмму ПП из своей программы, а в подпрограмме ПП есть процедура Exit, то подпрограмма ПП будет завершена, и программа продолжит работу.

Если же процедура Exit будет вызвана из программы, то будет завершена программа.

В процедуру Exit можно (но не обязательно) передать параметр Х любого типа (если Exit вызывается в функции). В этом случае, если подпрограмма Exit вызывается в функции, то при вызове Exit вызвавшая её функция вернёт значение Х.

ВАЖНО!
Тип параметра Х может быть любым, но он должен совпадать с типом результата, возвращаемого функцией, из которой вызывается процедура Exit.

Как выйти из функции

Конечно, вы уже догадались, как выйти из подпрограммы (функции или процедуры). Но на всякий случай поясню подробно.

Итак, вот пример функции, которая использует процедуру Exit:

Здесь мы проверяем переданный в функцию параметр Х. Если он больше или равен 10, то мы вызываем процедуру Exit, которая выполняет выход из функции. То есть код, который находится после Exit, уже не выполняется. И функция (в нашем случае) возвращает FALSE;

Если же Х меньше 10, то процедура Exit не вызывается, и выполняется последняя строка кода, в которой мы результат функции устанавливаем в TRUE.

То есть наша функция проверяет значение Х, и если оно меньше 10, то функция возвращает TRUE. В остальных случаях функция возвращает FALSE.

Как выйти из программы

Точно также можно выйти из программы, если в этом есть необходимость. Если ваша программа, например, обнаруживает какую-то критическую ошибку, которую не может обработать, то можно с помощью процедуры Exit выполнить выход из программы в любом месте.

Пример программы, а также примеры, где можно это использовать, вы можете найти ниже.

Комментарии довольно подробные. Так что всё должно быть понятно.

Здесь для примера есть две функции. Одну мы рассмотрели выше. А другая вызывает процедуру Exit, чтобы не случилось аварийное завершение программы из-за деления на ноль. Здесь также приведён пример использования процедуры Exit с параметром, возвращаемым функцией, которая вызвала процедуру Exit.

Ну и в конце выполняется прерывание программы. То есть последние две строки кода уже не будут выполнены, так как программа завершается с помощью функции Exit.

Я своего друга учу паскалю, и он хочет чтобы у него работало приложение отдельно от оболочки.
Я сделал все что нужно и установил сохранение exe файла в отдельную папку
Запускаю файл, она выполняет цикл и после этого завершается программа, хотя там есть еще пару строчек кода
Однако если запускать через оболочку, программа работает исправно
Не могу понять в чем проблема!

P.S. Игра угадать число

2ord

Вывод на экран производится в текстовом окне (консольный режим), при этом последний текст просто мельком проскакивает, на этом программа заканчивается и сразу же закрывается текстовое окно.
Поэтому нужно запускать экзешник либо при помощи cmd.exe, либо в программе на Паскале добавив последней строку ReadLn; , заново скомпилировав в экзешник. В последнем случае программа будет ждать нажатия на Ввод.

я думаю после writeln('Твое количество попыток: '+ attempts); нужно прописать "readkey;" чтобы ответ задержался до нажатия клавиши) отпиши если глаголю правильно))))

Читайте также: