| |
|
|
- Seite 1 - |
|
FLINN | moin erstmal DANKE an alle die mir schon geholfen haben, ich habe hier ein altes listing von mir das ist in (alt BSIC) ich möchte es gerne in XPROFAN schreiben nun gibt es ja da keine Zeilennummern wie verfahre ich jetzt mit dem GOTO Befehl ohne Zeilennummern? Bin gespannt auf eure Antworten)
1 PRINT CHR$(147) 2 PRINT"GIB EINE ZAHL EIN" 3 COLOR 0,1 4 PRINT" A =1" 5 PRINT" B =2" 6 PRINT" C =3" 7 COLOR 0,1 8 COLOR 1,6,4 9 INPUT"LOS DEINE ZAHL";A 10 ON A GOTO 12, 13, 14:GOTO 18 12 PRINT"DU HAST 1 GEDRUECKT":END 13 PRINT"DU HAST 2 GEDRUECKT":END 14 PRINT"DU HAST 3 GEDRUECKT":END 15 PRINT"DU HAST 3 GEDRUECKT":END 16 PRINT 17 PRINTRINT 18 PRINT"DANKE FUER DEINE MITARBEIT ABER DIE EINGABE IST FALSCH DU BIST RAUS!" |
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
H.Brill | Hilfe lesen
Wenn du unbedingt vorerst beim GOTO bleiben möchtest, nimm statt der Zeilennummer ein Label :
Aber ich würde da nicht soviel Zeit verschwenden. Goto und Gosub gibt es in nächster Zeit nicht mehr. Früher wurde das als Ersatz zu den heutigen Prozeduren genommen.
Declare GemerkteZahl&, EingabeZahl&, Ende&
Ende& = 0
MerkeZahl()
EingabeMaske()
WhileNot Ende&
If Eingabezahl& > 0
If EingabeZahl& <> GemerkteZahl&
Beep
Locate 4, 46 : Print " "
Locate 4, 46 : Input EingabeZahl&
Else
EndeProc()
Ende& = 1
EndIf
Else
Ende& = 1
EndIf
EndWhile
Proc EingabeMaske
CLS
Locate 1, 1 : Print "ENDE mit Eingabe 0 !"
Locate 2, 1 : Print "Der PC hat sich eine Zahl gemerkt !"
Locate 4, 1 : Print "Bitte eine Zahl zwischen 1 und 9 eingeben : "
Locate 4, 46 : Input EingabeZahl&
EndProc
Proc MerkeZahl
' Zahl zwischen 1 und 9
' durch Zufall ermitteln
Randomize
GemerkteZahl& = RND(9 - 1) + 1
EndProc
Proc EndeProc
Locate 8, 1 : Print "RICHTIG !!!!!"
Locate 9, 1 : Print "Bitte Taste zum Beenden drücken..."
WaitKey
EndProc
|
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 04.11.2017 ▲ |
|
|
|
|
|
p.specht
| Der Sprung erfolgt dann mit ´Goto "Label1"´.
Ich kopiere den Quelltext 2 mal, wobei ich aus dem 1. Teil alle Variablen für das in XProfan nötige "Declare" extrahiere (In Basic: DIM oder automatisches Anlegen). Auch ´GoSub "G100" ist dann möglich (sonst verhält sich GoSub, als wären Variable nur lokal gültig). Auch auf andere Besonderheiten muss man achten: Sqr() ist in XProfan SQRT() etc. etc. Allen mit Goto angesprungenen Zeilennummern ein G voranstellen und Doppelpunkt <return> anhängen... G100: (Bei Gosub-Labels stelle ich ein S voran). Restliche Zeilennummern weglöschen, nach Print gehört ein Leerzeichen. - Gruss
P.S.: Ich bin und bleibe "GOTO"-Fan. Viele alte Programme leisten noch immer Nützliches, und es wäre schade, alles neu strukturieren zu müssen. Edsger Wybe Dijkstra in Ehren, aber seinem "Goto considered harmful!" steht nach wie vor die Meinung gegenüber "Dijkstra considered harmful!", auch wenn man über 2002 verstorbene Computerpioniere nichts Schlechtes sagen soll... |
|
|
| Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 04.11.2017 ▲ |
|
|
|