- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 6 von 6

Thema: Bedingtes ENDE einer SUB-Routine???

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297

    Bedingtes ENDE einer SUB-Routine???

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    wenn ich eine Unterroutine programmiere

    Test:
    ...
    Return


    kann ich eine Unterroutine "bedingt" beenden???

    Zum Beispiel eine IF-Abfrage oder so und erst wenn eine Bedingung erfüllt ist wird der "Return" ausgeführt.


    Gruß MrQu

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Welche Sprache ?

    Du kannst in einer Funktion einfach eine Schleife bauen, die erst verlassen wird wenn dein Wert erreicht ist, danach kommt das return.

    Beispiel in C (in anderen sprachen ähnlich):
    Code:
    void unterprg(void) {
      int i = 0;
      while(i <= 5) {
          i = i+1;
         //  warten ...
      }
    }
    Du kannst natürlich alles abfragen, das Beispiel hier zählt nur bis 5.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297
    hi,

    gute Idee!!!

    habs getestet - in Basic

    ich will ein bit toggeln das unterprogramm darf aber nur verlassen werden wenn das bit auf 0 ist

    hab ne Do - Loop Until - Schleife eingesetzt und jetzt gehts

    danke

    mfg MrQu

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.11.2004
    Ort
    Hard, Vorarlberg
    Beiträge
    155
    Das ist möglich, wobei man hier unterscheiden muss zwischen einer
    • Unterroutine welche mit GOSUB angesprungen wird und mit Return endet
      Diese wird bei jedem Return beendet. Dieses kann auch in einer IF-Abfrage sein oder auch in einer Do while oder For next Schleife. Das ist aber nicht unbedingt ein schöner Programmierstil.

    oder
    • Definierte SUB Routine mit

      Declare Sub XY

      Sub XY
      ...
      ...
      End Sub

      Diese SUB wird bei END SUB verlassen. Wenn man diese wie oben vorher beenden möchte, muss dies mit EXIT SUB geschehen.
    Viele Grüße
    Josef
    -------------------------------------------------------------------------------------
    DOS-File System für BASCOM-AVR auf http://members.aon.at/voegel

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    05.07.2004
    Ort
    Münchener Osten
    Alter
    51
    Beiträge
    297
    hmmm, ich verstehe jetzt nicht den Unterschied zwischen

    normaler Unterroutine (mit gosub) und der lösung mit der sub-routine???

    hast mal n beispiel-script???


    mfg MrQu

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Der Unterschied ist eigentlich nur intern.
    Nachteil: du kannst bei GOSUB keine Parameter mitgeben und keine lokalen Daten definieren.
    Vorteil: du brauchst daher weniger Code und Speicher.
    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
  •  

fchao-Sinus-Wechselrichter AliExpress