Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

GOSUB/RETURN

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
freeludwig



Anmeldungsdatum: 06.12.2007
Beiträge: 19

BeitragVerfasst am: 06.12.2007, 12:43    Titel: GOSUB/RETURN Antworten mit Zitat

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... neutral 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
Benutzer-Profile anzeigen Private Nachricht senden
Bimi



Anmeldungsdatum: 03.12.2007
Beiträge: 66

BeitragVerfasst am: 06.12.2007, 13:24    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
freeludwig



Anmeldungsdatum: 06.12.2007
Beiträge: 19

BeitragVerfasst am: 06.12.2007, 14:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Bimi



Anmeldungsdatum: 03.12.2007
Beiträge: 66

BeitragVerfasst am: 06.12.2007, 17:40    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
freeludwig



Anmeldungsdatum: 06.12.2007
Beiträge: 19

BeitragVerfasst am: 06.12.2007, 17:44    Titel: Antworten mit Zitat

Danke viel, Bimi! Ich bin Anfanger, das ist für mich grosse Hilfe! zwinkern Danke, L.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz