2016-06-21 9 views
3

Ich habe zwei verschiedene Programme in QBasic gemacht und sie beide in verschiedenen .bas-Dateien gespeichert, d. H. Eins ist 1.bas und das andere 2.bas.QBasic: Wie führe ich ein Programm aus einem anderen Programm heraus?

Wie Programm 1.bas zu öffnen, während ich in Programm 2.bas, bin ohne es zu schließen?

Programm 1 sollte für einige Zeit in Programm 2 laufen, und wenn es endet, sollte ich wieder in Programm 2 sein. Gibt es eine Möglichkeit, das zu tun?

Ich würde gerne wissen, ob es eine Syntax dafür gibt, die in QBasic und/oder QB64 funktioniert.

+0

Es ist 2016. Leute schreiben noch Code in qbasic? –

+0

wir sind gezwungen, es in der Schule zu verwenden Ebene –

+0

@trincot, dass ich auch weiß, aber antworte nach meiner Frage –

Antwort

3

In Qbasic können Sie den Befehl CHAIN verwenden, um die Steuerung an eine andere .BAS-Datei zu übergeben, und wenn sie fertig ist, kehrt sie zur ersten .BAS-Datei zurück. Sie können es mit COMMON kombinieren, um auch Variablen zwischen den beiden Programmen zu teilen.

Sie könnten auch RUN verwenden, aber in QBasic können Sie Variablen nicht übergeben (nicht sicher, aber ich denke, das Steuerelement wird nicht zurückkehren). Und in QB64 es ist möglich, Variablen zu übergeben mit RUN

Siehe Standard COM1_EX.BAS und COM2_EX.BAS als Beispiel Inhalte von 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" 

Inhalt 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 
+0

Vielen Dank. –

Verwandte Themen