PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ein langes programm durch ein befehl ausführen lassen,wie??



alper
23.04.2007, 14:03
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

Bluesmash
23.04.2007, 14:50
dies macht man mit einer subroutine

do
'Hauptprogramm

gosub zähler

loop


zähler:
hier steht dein zählercode
return


gruss bluesmash

alper
23.04.2007, 14:55
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

alper
23.04.2007, 15:06
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

p_mork
23.04.2007, 15:25
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

Bluesmash
23.04.2007, 16:41
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

Dnerb
23.04.2007, 19:11
Die Verschachtlung geht so lange wie der Stack reicht.

Netbird
23.04.2007, 20:46
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.

fsid
29.05.2007, 11:01
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

fsid
29.05.2007, 11:02
natürlich do-loop (endless) nicht vergessen