dies macht man mit einer subroutine
do
'Hauptprogramm
gosub zähler
loop
zähler:
hier steht dein zählercode
return
gruss bluesmash
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
dies macht man mit einer subroutine
do
'Hauptprogramm
gosub zähler
loop
zähler:
hier steht dein zählercode
return
gruss bluesmash
Meine Homepage:
www.bluesmash.roboterbastler.de
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
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
Die eine hat mit der anderen nichts zu tun. Du kannst (fast) beliebig viele Subroutinen ineinander verschachteln.Zitat von alper
MfG Mark
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
Meine Homepage:
www.bluesmash.roboterbastler.de
Die Verschachtlung geht so lange wie der Stack reicht.
Das Gegenteil von "gut" ist "gut gemeint"!
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.
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
natürlich do-loop (endless) nicht vergessen
Lesezeichen