Что такое команда и синтаксис для взлома / остановки программы в 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. Это не будет запускать бесконечный цикл.