Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
z9001:basic_tipps [2010/07/17 16:48] – Externe Bearbeitung 127.0.0.1 | — | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== basic_tipps.htm ====== | ||
- | |||
- | Was so alles an Tricks mit dem BASIC möglich war (entgegen der offiziellen Dokumentation), | ||
- | |||
- | Das Programm startet nach dem Einlesen mit CLOAD" | ||
- | |||
- | Als Mini-Programme eingelagert sind Routinen zum Auflisten von Kassetteninhalten (CLIST) und ein Debug-Zusatz zum Auflisten aller Variablen. | ||
- | |||
- | 10 CLS: | ||
- | 100 PRINT | ||
- | 110 PRINT | ||
- | 120 PRINT" | ||
- | 130 PRINT" | ||
- | 140 PRINT" | ||
- | 150 PRINT" | ||
- | 160 PRINT" | ||
- | 170 PRINT" | ||
- | 180 PRINT" | ||
- | 190 PRINT | ||
- | 200 PRINT | ||
- | 210 PRINT" | ||
- | 220 PRINT" | ||
- | 230 PRINT" | ||
- | 240 PRINT" | ||
- | 250 PRINT | ||
- | 260 PRINT | ||
- | 270 PRINT" | ||
- | 280 PRINT" | ||
- | 290 PRINT | ||
- | 295 PRINT" | ||
- | 300 PRINT | ||
- | 310 PRINT | ||
- | 320 PRINT" | ||
- | 330 PRINT" | ||
- | 340 PRINT" | ||
- | 350 PRINT" | ||
- | 360 PRINT" | ||
- | 370 PRINT" | ||
- | 380 PRINT" | ||
- | 390 PRINT | ||
- | 400 PRINT" | ||
- | 500 INPUT""; | ||
- | 510 BEEP: | ||
- | 520 DOKE11103, | ||
- | 10 !HC-BASIC TIPS+KNIFFE | ||
- | 11 ! | ||
- | 12 !V.Pohlers, Lomonossowallee 41/81, Greifswald, 2200 | ||
- | 13 !fuer die zweite Z1013-Tagung Dresden Febr. 1988 | ||
- | 14 ! | ||
- | 15 ! | ||
- | 16 ! | ||
- | 17 !Programmname fuer CSAVE/CLOAD in Stringvariable | ||
- | 18 ! | ||
- | 19 ! CSAVE"" | ||
- | 20 ! | ||
- | 21 !INPUT AT(X,Y) -Funktion | ||
- | 22 ! | ||
- | 23 ! DOKE 112, | ||
- | 24 ! ^ Leerzeichen noetig, erscheint nicht im Text | ||
- | 25 ! | ||
- | 26 !RANDOMIZE -Funktion | ||
- | 27 ! | ||
- | 28 ! 10 PRINT "zum Start bel. Taste druecken!": | ||
- | 29 ! 20 I=I-1: | ||
- | 30 ! 30 IF INKEY$="" | ||
- | 31 ! | ||
- | 32 !Runden einer Zahl | ||
- | 33 ! | ||
- | 34 ! DEF FNRS(X)=INT(10^S*X+.5)/ | ||
- | 35 ! | ||
- | 36 !rechtsbuendige Ausgabe von Zahlen | ||
- | 37 ! | ||
- | 38 ! DEF FNP(X)=8-LEN(STR$(INT(X))) | ||
- | 39 ! PRINT TAB(20+FNP(Z)); | ||
- | 40 ! | ||
- | 41 !Programmschutz fuer LIST/ | ||
- | 42 ! | ||
- | 43 ! POKE 11101, | ||
- | 44 ! | ||
- | 45 ! DOKE 11101,0 bzw. POKE 11102, | ||
- | 46 ! | ||
- | 47 ! LINES 0 LIST-Tod | ||
- | 48 ! | ||
- | 49 !-Abfrage bei Bildschirmende innerhalb FOR...NEXT | ||
- | 50 ! | ||
- | 51 ! IF PEEK(113)> | ||
- | 52 ! | ||
- | 53 !Cursorzeichen veraendern | ||
- | 54 ! | ||
- | 55 ! POKE 10846,neuer Cursor | ||
- | 56 ! | ||
- | 57 !BASIC-RAM-Ende bei Neustart bis max. 0EBFFH | ||
- | 58 ! | ||
- | 59 ! DOKE 834,-5121 | ||
- | 60 ! | ||
- | 61 !selbststartende BASIC-Programme | ||
- | 62 ! | ||
- | 63 ! * vor Programm schreiben | ||
- | 64 ! 0 RESTORE 10: DOKE 11103, | ||
- | 65 ! 10 hier beginnt das Programm | ||
- | 66 ! * POKE 8291,29: CSAVE" | ||
- | 67 ! * bei erneutem Einlesen mit CLOAD Selbststart | ||
- | 68 ! Zeile 0 erscheint nicht bei LIST usw. ! | ||
- | 69 ! | ||
- | 100 !CLIST fuer HC-Routinen-gespeicherte BASIC-Programme | ||
- | 101 ! | ||
- | 102 PRINT" | ||
- | 103 DA=128 | ||
- | 104 DOKE45, | ||
- | 105 CALL*1FC | ||
- | 106 IF PEEK(123)& | ||
- | 107 FOR I=DA+3 TO DA+10 | ||
- | 108 PRINT CHR$(PEEK(I));: | ||
- | 109 I=PEEK(DA)-211 | ||
- | 110 IF I=0 OR I=4 THEN PRINT " | ||
- | 111 IF I=1 OR I=5 THEN PRINT " | ||
- | 112 IF I=2 OR I=6 THEN PRINT " | ||
- | 113 IF I>3 THEN PRINT " G"; :ELSE PRINT " | ||
- | 114 PRINT DEEK(DA+11) | ||
- | 115 GOTO104 | ||
- | 116 ! | ||
- | 117 ! " | ||
- | 118 ! | ||
- | 200 !LVAR fuer HC-BASIC | ||
- | 201 ! | ||
- | 202 ! * eigenes Pgm einladen, danach LVAR (60000-60190) einladen | ||
- | 203 ! * im eigenen Pgm an die zu ueberprufenden Stellen GOSUB60000 schreiben | ||
- | 204 ! | ||
- | 205 ! LVAR listet direkt den Variablenspeicher: | ||
- | 206 ! einf. Var. : | ||
- | 207 ! Strings | ||
- | 208 ! Funktionsnamen haben vorm Namen ein " | ||
- | 209 ! | ||
- | 210 ! Felder | ||
- | 211 ! | ||
- | 212 ! | ||
- | 60000 VI=0: | ||
- | 60010 PRINTVI; | ||
- | 60020 PRINTTAB(8)CHR$(127ANDPEEK(VI+1)); | ||
- | 60030 PRINTCHR$(SGN(128ANDPEEK(VI))*36); | ||
- | 60040 IFPEEK(VI)& | ||
- | 60050 PRINTTAB(12)DEEK(VI+4); | ||
- | 60060 RESTORE60100: | ||
- | 60070 POKEVJ, | ||
- | 60080 POKEVJ+1, | ||
- | 60090 IFPEEK(VI)> | ||
- | 60100 PRINTA $:! | ||
- | 60110 NEXT | ||
- | 60115 IFDEEK(11227)=DEEK(11225)THEN60190 | ||
- | 60120 PRINT: | ||
- | 60130 PRINTVI; | ||
- | 60140 PRINTCHR$(SGN(128ANDPEEK(VI))*36); | ||
- | 60150 PRINT" | ||
- | 60160 PRINTDEEK(2*VJ+VI+5)-1; | ||
- | 60170 PRINTCHR$(8);" | ||
- | 60180 VI=VI+DEEK(VI+2)+3: | ||
- | 60190 PRINTVI: | ||
- | 60200 ! | ||
- | 60210 !die Adressen sind dezimal und beziehen sich auf das | ||
- | 60220 !Riesa-10k-Basic bzw. auf das HC-BASIC m1, | ||
- | 60230 !beim HC-BASIC H u.a. stimmen sie nicht alle !!!!!!!!!! | ||
- | 60240 ! | ||
- | 60250 !bitte TIPS nur mit CSAVE abspeichern, | ||
- | 60260 !ordentlich abarbeitet. | ||
- | 60270 ! | ||
- | 60280 !Volker Pohlers, Lomonossowallee 41/81, Greifswald, 2200 | ||