Что такое команда и синтаксис для взлома / остановки программы в QBASIC?

В настоящее время я пишу программу QBASIC, которая выполняет неопределенный цикл (цикл while). Однако, если определенное условие выполнено, я хочу выйти из программы. Какую команду я использую, а также каков синтаксис.

Спасибо

4 ответа

ENDВыходит из программы и очищает все переменные, что освобождает память.STOPвыходит из программы, но сохраняет значение всех переменных, что позволяет (в определенных версиях QB) продолжить выполнение в другой точке, выбрав Set next statement от Debugменю, а затем Startот Runменю. END имеет тот же эффект, что и STOP + выбор Restart от Runменю после завершения программы.

Если у вас есть цикл, и вы хотите выйти из программы из него, вы можете использовать либо

DO IF condition THEN EXIT DO LOOP END

или же

DO IF condition THEN END LOOP

Вы ищете END или же SYSTEM заявление. Например:

PRINT "Hello World!"
END
PRINT "This won't be printed."

Если вы используете обычный старый QBASIC/QuickBASIC, то вы можете игнорировать все детали QB64 на связанных страницах и просто использовать либо SYSTEM или же END, Оба будут делать то же самое по большей части. 1

Если вы используете FreeBASIC, рекомендуется использовать END вместо SYSTEM так как некоторые вещи не будут очищены должным образом при использовании SYSTEM, Увидеть SYSTEM для получения дополнительной информации о FreeBASIC, если это то, что вы используете.


1 END оператор при запуске программы с помощью QB.EXE /RUN PROGRAM.BAS напечатает "Нажмите любую клавишу для продолжения" перед выходом в среду QB / QBASIC. SYSTEM оператор, выполняемый таким же образом, просто вернет вас в оболочку DOS без необходимости нажатия клавиши. Кроме того, набрав SYSTEM в "Немедленном окне" среды QB / QBASIC выйдет из среды и вернется в оболочку DOS. В противном случае два оператора ведут себя одинаково в QB / QBASIC, будь то для автономных (скомпилированных) программ или .BAS модули.

Вы можете выполнять любые условия в соответствии с потребностями вашей программы. Например:

CLS
LET a = 5
WHILE a > 0
      PRINT a;
      a = a - 1
WEND
END

Здесь, в программе пока wends выполняет себя до a = 0. Это не будет запускать бесконечный цикл.

Ответ

exit();

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

Другие вопросы по тегам