- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 10

Thema: ein langes programm durch ein befehl ausführen lassen,wie??

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56

    ein langes programm durch ein befehl ausführen lassen,wie??

    Anzeige

    E-Bike
    hallo jungs,

    ganz simple aufgabe. habe ein programm geschrieben,welches eine bestimmte aufgabe absolviert und mehrere zeilen lang ist

    beispiel zählen.bas

    nun möchte ich diesen code in meinem eigentlichen programm mehrmals einfügen, habe aber keine lust dass der "lange" code zich mal eingefügt wird.

    wie kann ich den ganzen code durch einen einzigen befehl darstellen lassen
    beispiel bei jedesmal "zählen" schreiben wird der code ausgeführt

    danke

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    dies macht man mit einer subroutine

    do
    'Hauptprogramm

    gosub zähler

    loop


    zähler:
    hier steht dein zählercode
    return


    gruss bluesmash

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56
    habe grad in der Bascom hilfe gelesen,dass man auch den

    befehl

    $include "zählen.bas"

    benutzen kann.Hmm,wenn ich das mache, dann meckert der compiler, dass ich sachen mehrmals deklariert habe.ist ja eigentlich auch klar

    das heisst wieder sachen löschen

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    22.10.2005
    Beiträge
    56
    das mit der subroutine wird leider nicht klappen,da ich in meinem zählen programm auch schon eine subroutine drin habe, dann hätte ich ja ne subroutine in einer subroutine und ich weiss nicht ob das klappt.da bleibt nur include

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    25.03.2006
    Ort
    Darmstadt
    Alter
    33
    Beiträge
    522
    Zitat Zitat von alper
    dann hätte ich ja ne subroutine in einer subroutine und ich weiss nicht ob das klappt
    Die eine hat mit der anderen nichts zu tun. Du kannst (fast) beliebig viele Subroutinen ineinander verschachteln.

    MfG Mark

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.04.2005
    Ort
    Aarau
    Alter
    41
    Beiträge
    982
    jep sehe ich auch so... du kannst bis zu einer gewissen tiefe subroutinen ineinander verschachteln... weiss nur nicht mehr bis in welche tiefe das geht...

    gruss bluesmash

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    29.01.2005
    Alter
    52
    Beiträge
    294
    Die Verschachtlung geht so lange wie der Stack reicht.
    Das Gegenteil von "gut" ist "gut gemeint"!

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.07.2004
    Beiträge
    138
    Hallo,

    probiere mal die Benutzung einer Prozedur: Definieren mit SUB ... END SUB, dann beliebig oft aufrufen mit CALL ...
    Vor allem, wenn man Werte (Parameter) an die Prozedur übergibt, ist dies eine sehr gute Methode. Dies ergibt einen sehr guten und übersichtlichen Programmierstil.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    29.05.2007
    Beiträge
    21
    Du kannst auch eine Function als hauptschleife setzen und von der Function dann springen, z.B:

    Declare Function Haupt() as Byte
    declare sub 1()
    declare sub 2()


    Do Function
    call sub 1
    call sub 2
    end function

    sub 1:
    bla bla
    return wenn du zurückspringen willst

    sub 2:
    bla bla
    oder kein return wenn du sie nur einmal laufen lassen willst

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    29.05.2007
    Beiträge
    21
    natürlich do-loop (endless) nicht vergessen

Berechtigungen

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

Solar Speicher und Akkus Tests