QBasic: как запустить программу из другой программы?

Я сделал две разные программы в QBasic, и обе они сохранены в разных файлах .bas, то есть одна 1.bas, а другая 2.bas.

Как открыть программу 1.bas, находясь в программе 2.bas, не закрывая ее?

Программа 1 должна какое-то время работать внутри программы 2, а когда она закончится, я снова должен оказаться в программе 2. Есть ли способ это сделать?

Я хотел бы знать, есть ли для этого синтаксис, который работает в QBasic и/или QB64.


person samrat luitel    schedule 21.06.2016    source источник
comment
На дворе 2016 год. Люди до сих пор пишут код на qbasic?   -  person Jonathon Reinhart    schedule 21.06.2016
comment
мы вынуждены использовать его на школьном уровне   -  person samrat luitel    schedule 21.06.2016
comment
@trincot, что я тоже знаю, но отвечаю на мой вопрос   -  person samrat luitel    schedule 21.06.2016
comment
@trincot я все равно понимаю, какой язык программирования будет лучше изучать с твоей точки зрения   -  person samrat luitel    schedule 21.06.2016
comment
@trincot ты используешь фейсбук или твиттер   -  person samrat luitel    schedule 21.06.2016
comment
@trincot Нет, спасибо за это.   -  person samrat luitel    schedule 21.06.2016
comment
@trincot сэр, вы используете любую социальную сеть   -  person samrat luitel    schedule 21.06.2016
comment
@trincot, так что я не могу связаться с вами позже, если это необходимо   -  person samrat luitel    schedule 21.06.2016
comment
@trincot ты пользуешься твиттером   -  person samrat luitel    schedule 21.06.2016
comment
@trincot извините за мой грубый комментарий, мне всего 13 лет, и я не знаю, что я разговариваю с таким большим объявлением, великим человеком   -  person samrat luitel    schedule 21.06.2016


Ответы (1)


В Qbasic вы можете использовать команду CHAIN, чтобы передать управление другому файлу .BAS, и когда он будет завершен, он вернется к первому файлу .BAS. Вы можете комбинировать его с COMMON, чтобы также использовать переменные между двумя программами.

Вы также можете использовать RUN, но в QBasic вы не можете передавать переменные (не уверен, но я думаю, что элемент управления не вернется). А в QB64 можно передавать переменные с помощью RUN

См. в качестве примера стандартные COM1_EX.BAS и COM2_EX.BAS, содержимое COM1_EX.BAS:

' == COM1_EX.BAS - COMMON statement programming example ==
DIM Values(1 TO 50)
COMMON Values(), NumValues

PRINT "Enter values one per line. Type 'END' to quit."
NumValues = 0
DO
   INPUT "-> ", N$
   IF I >= 50 OR UCASE$(N$) = "END" THEN EXIT DO
   NumValues = NumValues + 1
   Values(NumValues) = VAL(N$)
LOOP
PRINT "Leaving COM1_EX.BAS to chain to COM2_EX.BAS"
PRINT "Press any key to chain... "
DO WHILE INKEY$ = ""
LOOP

CHAIN "com2_ex"

содержимое COM2_EX.BAS:

' == COM2_EX.BAS - COMMON statement programming example ==
' Notice that the variables Values() and NumValues from COM1_EX
' will be called X() and N here in COM2_EX
DIM X(1 TO 50)
COMMON X(), N

PRINT
PRINT "Now executing file com2_ex.bas, reached through a CHAIN command"
IF N > 0 THEN
   Sum = 0
   FOR I = 1 TO N
      Sum = Sum + X(I)
   NEXT I
   PRINT "The average of the values is"; Sum / N
END IF
person BdR    schedule 21.06.2016