-
        

Ergebnis 1 bis 4 von 4

Thema: Grundlagen zu Subs und Labels

  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270

    Grundlagen zu Subs und Labels

    Anzeige

    Hallo Leute,

    aufgrund aktueller Probleme in meinem BASCOM-Programm und des großen durcheinander gemixten Zeugs, wollt ich fragen ob mir mal einer den Unterschied zwischen den folgenden Fällen erläutern kann:
    Mir geht es eigentlich nur darum, wie sich das Programm verhält im Bezug auf das Springen von einem Punkt zum anderen.

    Fall1:
    Code:
    Goto Auswertung
    ... Weiter Befehle
    Do
    Loop
    
    Auswertung:
    ... Hier stehen Befehle ...
    Return
    Was passiert hier? wird über das Return wieder nach oben zurück gesprungen? oder kann das sein, das unten das Return einfach ignoriert wird und weiter gegangen wird?


    Fall2:
    Code:
    Declare Sub Auswertung
    
    ... Befehle
    Auswertung
    ... Weiter Befehle
    Do
    Loop
    
    Sub Auswertung
    ... Hier stehen Befehle ...
    Return
    End sub
    
    ... Nächstes Sub
    Und jetzt wirds wild:
    2.1: Was ist der unterschied wenn ich das sub einfach nur mit "Auswertung" aufrufe zu dem Aufruf über "Gosub Auswertung". Macht das einen unterschied? Wenn ja, welchen?
    2.2: Und wird nach der Ausführung des Subs wie in VB automatisch wieder nach oben gesprungen, wo der Befhl zum Sub-Aufruf steht? Oder geht das nur mit dem Return?
    2.3: Was passiert wenn man das Return weg lässt? Wird dann einfach mit dem nächsten Sub weiter gemacht?

    Hoffe ihr könnt mir da etwas Klarheit verschaffen.

    Tausend Dank schonmal im Vorraus für eure Bemühungen.

    Gruß Robodriver

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    es gibt auch in Bascom verhaltensreln, les dir mal die hilfe durch.

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Hm, mein Bascom ist in Englisch...
    Und mit Rules oder so finde ich in der Hilfe auch nicht wirklich was...

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Erstmal: "GOTO" hat mit Sub oder Function und "RETURN" nix zu tun.
    Dein Fall1 führt also ins Nirwana.

    GOSUB Da mußt du bei der aufgerufenen Subroutine immer auch "RETURN" angeben. Das ist sozusagen die Grundvariante, bei der sich der Bascom nicht einmischt. (vergißt du das RETURN, läuft er einfach weiter zum nächsten Statement dahinter, was es auch sei ==> nächstes Nirwana)

    Bei Deklarierten SUB's oder fUNCTIONS macht der Bascom automatisch bei "end sub" (oder function) aber auch bei "exit" ein "return" rein.
    Sub oder function unterscheiden sich nur insofern, als dass es bei FUNCTION einen Rückgabewert gibt.

    Ob du dann
    CALL SUB(arg)
    oder nur
    SUB(arg)
    hinschreibst, is egal, da denkt Bascom einfach mit.

    Ein paar Details:
    http://www.roboternetz.de/wissen/ind.../Bascom_Inside
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •