32604,84 postings *kotz*

  • Als neues Loginsystem benutzen wir die Wacken.ID. Damit du deinen jetzigen Account im Wacken Forum mit der Wacken.ID verknüpfen kannst, klicke bitte auf den Link und trage deine E-Mail Adresse ein, die du auch hier im Forum benutzt. Ein User mit deinem Benutzernamen und deiner E-Mail Adresse wird dann automatisch angelegt. Du bekommst dann eine E-Mail und musst deine Wacken.ID bestätigen.

    Sollte es Probleme geben, schreibt uns bitte.

    Klicke hier, um deinen Account in eine Wacken.ID zu migrireren.

Suwarin

W:O:A Metalmaster
26 Nov. 2001
11.842
3
83
47
(ehem.Ruhrpott) Düsseldorf
100 A$="ACHTUNG! ACHTUNG! HIER SPRICHT DEIN COMPUTER!"
110 GOSUB 1000
120 PRINT
130 A$="IN MEINEM SPEICHER HAT SICH EIN BIT VERKLEMMT."
140 GOSUB 1000
150 PRINT
160 A$="BITTE DREH MICH UM UND KLOPF MIR AUF DEN RUECKEN!"
170 GOSUB 1000
180 PRINT
190 END
 

Suwarin

W:O:A Metalmaster
26 Nov. 2001
11.842
3
83
47
(ehem.Ruhrpott) Düsseldorf
Hey mann hab ich vergessen....:D
Aber um mal zum wesentlichen zurückzukommen.....

100 PRINT "WAS MÖCHTEN SIE BESTELLEN?"
110 PRINT "1. ETWAS ZU TRINKEN"
120 PRINT "2. EIN HAUPTGERICHT"
130 PRINT "3. EINEN NACHTISCH"
140 INPUT "GEBEN SIE EINE NUMMER EIN", A
150 ON A GOTO 200, 300, 400
200 PRINT "SIE BEKOMMEN EINE HALBE BIER"
210 GOTO 500
300 PRINT "SIE BEKOMMEN EINE SCHWEINSHAXE MIT SAUERKRAUT"
310 GOTO 500
400 PRINT "SIE BEKOMMEN NOCH EINE HALBE BIER"
500 PRINT "WOHL BEKOMM'S"



:D :D:D:D:D:D
 

Suwarin

W:O:A Metalmaster
26 Nov. 2001
11.842
3
83
47
(ehem.Ruhrpott) Düsseldorf
GOSUB <Zeilennummer>
RETURN
Der Befehl "GOSUB" springt zunächst genauso wie "GOTO" einfach zu der angegebenen Zeilennummer und setzt das Programm dort fort. Der Basicinterpreter merkt sich aber, welche Zeile auf die mit dem GOSUB-Befehl folgt. Falls das Programm nun auf einen "RETURN"-Befehl stößt, wird die Programmausführung in der gemerkten Zeile fortgesetzt.
Als Beispiel soll ein Unterprogramm dienen, das einen Text nacheinander zeichenweise auf den Bildschirm schreibt. Machen Sie sich nichts daraus, wenn Sie die folgenden Zeilen noch nicht ganz verstehen - es genügt für's erste zu wissen, daß sie den Inhalt der Stringvariablen "A$" zeichenweise auf den Bildschirm schreiben. Eine Stringvariable ist eine Variable, die Text enthalten kann.
1000 FOR I=1 TO LEN(A$)
1010 PRINT MID$(A$,I,1);
1020 NEXT I
1030 RETURN

Dieses Unterprogramm für sich auszuführen macht keinen Sinn: Erstens hat A$ noch keinen Inhalt, es wird also auch nichts auf den Bildschirm geschrieben. Zweitens würde der Basicinterpreter in Zeile 1030 auf den RETURN-Befehl stoßen, ohne daß er zuvor bei einem GOSUB vorbeigekommen wäre. Das Programm würde daher mit einer Fehlermeldung abbrechen.
Wir benötigen daher noch ein Hauptprogramm, das unser Unterprogramm nutzt. Es kann es nicht nur einmal, sondern beliebig oft und von verschiedenen Stellen aus aufrufen:
100 A$="ACHTUNG! ACHTUNG! HIER SPRICHT DEIN COMPUTER!"
110 GOSUB 1000
120 PRINT
130 A$="IN MEINEM SPEICHER HAT SICH EIN BIT VERKLEMMT."
140 GOSUB 1000
150 PRINT
160 A$="BITTE DREH MICH UM UND KLOPF MIR AUF DEN RUECKEN!"
170 GOSUB 1000
180 PRINT
190 END
Zeile 190 enthält einen weiteren neuen Befehl: END. Er führt dazu, daß das Programm an dieser Stelle beendet wird. Es gilt als ordentlicher Programmierstil, alle Unterprogramme am Ende des Programmes (d.h. bei den hohen Zeilennummern) unterzubringen. Das davorstehende Hauptprogramm endet dann mit dem END-Befehl, andernfalls wird zuletzt das erste Unterprogramm nach dem Hauptprogramm ausgeführt und der Basicinterpreter scheitert am RETURN-Befehl, der dieses Unterprogramm abschließt.

Ach P.s. FUBU SENF!!
 

mastaBe

W:O:A Metalmaster
24 Nov. 2001
6.990
1
83
40
Moers
Cool. Danke.

Basic hat gerult.

Die Zeitschriften und so waren immer lustig mit Listings zum Abtippen. War meistens ganz schön schmerzhaft.
 

mastaBe

W:O:A Metalmaster
24 Nov. 2001
6.990
1
83
40
Moers
Yep, aber wenn's dann wider Erwarten doch geklappt hat, hatte man immer so ein gutes Gefühl! Man war so voller STOLZ! Das gibt's doch heute gar nicht mehr, oder?