Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
freeludwig
Anmeldungsdatum: 06.12.2007 Beiträge: 19
|
Verfasst am: 06.12.2007, 12:43 Titel: GOSUB/RETURN |
|
|
Please,ich brauche hilfe. Entschuldigen,ich spreche nicht so gut deutsch. Also:Ich benutze FB in WS XP,alles geht,aber wenn benutze ich GOSUB und RETURN so ist dort ein Fehler(?). Ich benutze z.B. Example aus Help-category,und auch Error... Ich weiss nicht warum eigentlich.
z.B.
PRINT "Let's Gosub!"
GOSUB MyGosub
PRINT "Back from Gosub!"
SLEEP
END
MyGosub:
PRINT "In Gosub!"
RETURN
Und wahrend Compile und Run: Error 135: Only valid in -lang gb, found 'GOSUB' in 'GOSUB MyGosub'
und noch: Error 50: Illegal outside a CONSTRUCTOR, DESTRUCTOR......
Ich habe Gefühl,dass benutze ich diese Weisung richtig,oder?
Danke sehr! |
|
Nach oben |
|
 |
Bimi
Anmeldungsdatum: 03.12.2007 Beiträge: 66
|
Verfasst am: 06.12.2007, 13:24 Titel: |
|
|
GERMAN
Der Compiler muss mit der Option -lang qb aufgerufen werden.
Grund:
GOSUB/RETURN wird in den heutigen BASIC-Versionen nicht mehr benötigt und von der Verwendung wird abgeraten. FreeBasic kennt es daher nur noch im QuickBasic Kompatibilitätsmodus, welcher mit obigem Parameter eingeschaltet wird. Dann läuft auch das Beispiel.
ENGLISH
The compiler must be called with the command lien option -lang qb.
Reason:
The keywords GOSUB/RETURN were used in old style BASIC's like GWBasic an particular in QBasic. In modern BASIC's like FB you don't need this construct and it should not longer be used. By setting the -lang qb option you tell teh compile that he have to use the qb language with all it's deprecated elements. |
|
Nach oben |
|
 |
freeludwig
Anmeldungsdatum: 06.12.2007 Beiträge: 19
|
Verfasst am: 06.12.2007, 14:45 Titel: |
|
|
o.k. danke schön! Aber welche Lösung existiert? Was soll ich also machen? Ich brauche GOSUB/RETURN benutzen (oder sonst Arbeit mit Unterprogramme).
Danke noch mal! - |
|
Nach oben |
|
 |
Bimi
Anmeldungsdatum: 03.12.2007 Beiträge: 66
|
Verfasst am: 06.12.2007, 17:40 Titel: |
|
|
Definiere eine SUB
anstatt
Code: |
PRINT "Let's Gosub!"
GOSUB MyGosub
PRINT "Back from Gosub!"
SLEEP
END
MyGosub:
PRINT "In Gosub!"
RETURN |
schreibst du
Code: |
SUB subroutine ()
print "Im Sub"
END SUB
PRINT "Let's use a sub"
subroutine ()
PRINT "after sub"
SLEEP
|
Die Vorteile einer Subroutine:
* eigener Adressraum, bei der definition von Variablen muss nicht darauf Rücksicht genommen werden, ob es dies global bereits gibt
* SUB's und FUNCTION's können wie Befehle verwendet werden
* Es gibt nicht diesen "Spaghetticode"
- soll eine Varaible wie in Unteroutinen mit GOSUB seinen Wert zwischen den Aufrufen behalten, verwende das Schlüsselwort STATIC
- soll eine globale Variable auch in der Subroutine bekannt sein, verwende das Schlüsselwort SHARED |
|
Nach oben |
|
 |
freeludwig
Anmeldungsdatum: 06.12.2007 Beiträge: 19
|
Verfasst am: 06.12.2007, 17:44 Titel: |
|
|
Danke viel, Bimi! Ich bin Anfanger, das ist für mich grosse Hilfe! Danke, L. |
|
Nach oben |
|
 |
|