home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Publication 17
/
Publication_17_19xx_Civitas_de_Side_B.d64
/
instructions!
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2023-02-26
|
9KB
|
244 lines
0 goto3
1 _o1,21,38,3,3,0,0
2 _pm1$:_pm2$:_pm3$:_g:return
3 i=i+1:ifi<2thenload"spacecode",8,1
4 sys49152
8 goto10
9 poke198,0:wait198,1:return
10 _!0,0:_i:print"";
20 _o1,1,38,23,0,1,0
21 gosub5000
22 i=102:ifrnd(0)>.5theni=160
23 _fa0,0,39,20,i,11
30 _o3,2,15,6,3
90 rem ----------- menue
100 :
105 _o1,21,38,3,3,0
106 _p"[211]teuerung mit den [154][195]ursortasten und [154][210]eturn.":_g
110 _p"[194]efehle":_p"[213][211][210]-[198]unktion"
111 _p"[198]ehlermeldungen":_p"[195]opyright":_p"[196]irectory":_p"[197][206][196][197]!":_md
120 _fw0,9:_ma
210 c=usr(3)+1
220 oncgosub1000,4000,2000,3000,500,600
230 goto120
500 print"[153]";:_d2:return
600 _t:_s:end
1000 rem ----------"[194][197][198][197][200][204][197]
1001 _o1,4,13,15,10
1003 _p"sysright$nit":_p"(NULL)pen":_p"lenlose":_p"(NULL)oplevel":_p"chr$et":_p"(NULL)croll"
1004 _p"(NULL)rint":_p"(NULL)ey":_p"str$irectory":_p"ascrame":_p"ascill":_p"right$nvert"
1005 _p"(NULL)enuebefehle":_p"lenursor/ascarben":_p"(NULL)(NULL)(NULL)(NULL)vallen(NULL)!":_md
1008 _fw0,7:_ma
1009 b[178][183](3)[170]1
1010 [139]b[178]15[167]:_c:[142]
1011 [145]b[141]1030,1065,1150,1180,1210,1270,1310,1430,1480,1520,1600,1700,1800,1900
1013 [137]1008
1020 :
1021 [143] -----------"right$nit
1022 :
1030 m1$="[201]nit:":m2$="[153]_[201]":m3$="":gosub1
1032 _o4,6,31,7,5:_p"_[201]":_s
1040 _p"[149][193]lle bereits gespeicherten (bzw. geoeffneten) [198]enster werden "
1050 _p";vergessen. [196]er [211]peicher ab $d000 wird fuer [215]indows reserviert."
1060 gosub9:_c:return
1061 :
1062 rem -----------"[207]pen
1063 :
1065 m1$[178]"(NULL)pen:":m2$[178]"print_(NULL) x,y,xwidth,ywidth,farbe"
1066 m3$[178]" [,speichern?[,loeschen?]]":[141]1
1067 _o5,7,31,13,5
1070 _p"_(NULL)"
1080 _p"verifyatnn der angegebenen (NULL)osition (der (NULL)unkt x/y liegt openinnerhalbverify des "
1090 _p";ascensters) wird ein ascenster geoeffnet, das xwidth (NULL)eichen breit und "
1100 _p";ywidth (NULL)eichen lang ist. (NULL)oll der betroffene peekildschirmbereich "
1110 _p";opennichtverify zwischengespeichert oder geloescht werden, dann gehoert an "
1120 _p";die entsprechende (NULL)telle eine 0, sonst eine 1. str$iese beiden (NULL)arameter "
1130 _p";sind optional."
1140 [141]9:_c:[142]
1145 :
1146 [143] --------------"lenlose
1147 :
1150 m1$="[195]lose:":m2$="[153]_[195]":m3$="":gosub1
1155 _o5,8,20,6,5:_p"_[195]":_s
1160 _p"[149][196]as zuletzt geoeffnete [198]enster verschwindet vom [194]ildschirm."
1170 gosub9:_c:return
1174 :
1175 rem ----------------"[212]oplevel
1176 :
1180 m1$[178]"(NULL)oplevel:":m2$[178]"print_(NULL)":m3$[178]"":[141]1
1185 _o4,9,15,6,6:_p"_(NULL)":_s
1190 _p"verifyatnlle gespeicherten ascenster werden geschlossen."
1200 [141]9:_c:[142]
1201 :
1202 [143] ----------------"chr$et
1203 :
1210 m1$="[199]et:":m2$="[153]_[199]":m3$="":gosub1
1215 _o5,10,31,10,7:_p"_[199]":_s
1220 _p"[149][196]ie [203]oordinaten des zuletzt gespeicherten [198]ensters werden geholt. "
1230 _p";[196]as ist dann nuetzlich, wenn man ein 'nicht gespeichertes' "
1240 _p";[198]enster verlassen und im zuvor geoeffneten "
1250 _p";'gespeicherten' etwas ausgeben will."
1260 gosub9:_c:return
1261 :
1262 rem -----------------"[211]croll
1263 :
1270 m1$[178]"(NULL)croll:":m2$[178]"print_(NULL)":m3$[178]"":[141]1
1275 _o3,11,20,6,5:_p"_(NULL)":_s
1280 _p"verifystr$er right$nhalt des aktuellen ascensters wird um eine (NULL)eile nach oben "
1290 _p";kopiert."
1300 [141]9:_c:[142]
1301 :
1302 [143] ---------------"(NULL)rint
1303 :
1310 m1$="[208]rint:":m2$="[153]_[208] string":m3$="":gosub1
1311 _o7,7,24,12,5:_p"_[208]":_s
1312 _p"[149][196]er [211]tring wird (mit [215]ortumbruch) in das [198]enster geschrieben, "
1313 _p";und zwar in die unterste [218]eile. [196]er restliche [201]nhalt des [198]ensters "
1314 _p";wird nach oben gerollt."
1320 _k
1330 _s:_s:_p"[218]wei [211]onderfaelle von _[208]:"
1340 _s:_p"[149]1.[201]st das erste [218]eichen des [211]trings ein [211]emikolon, so wird dort in "
1350 _p";der [218]eile fortgefahren, wo der [195]ursor steht. [196]as ist nuetzlich beim "
1360 _p";[211]chreiben von [212]exten, die nicht in eine [194]asic-[218]eile passen."
1370 _k:_s
1380 _p"2.[197]in ^ als erstes [218]eichen im [211]tring bedeutet, dass die [193]usgabe oben "
1390 _p";links beginnt und kein [215]ortumbruch stattfindet. [196]urch [211]teuerzeichen "
1400 _p";oder zu lange [212]exte kann man auch [194]ereiche ausserhalb des [198]ensters "
1410 _p";erreichen."
1420 gosub9:_c:return
1421 :
1422 rem ----------------"[203]ey
1423 :
1430 m1$[178]"(NULL)ey:":m2$[178]"print_(NULL) [x,y[,farbe]]":m3$[178]"":[141]1
1435 _o5,7,30,12,5:_p"_(NULL)":_s
1440 _p"verifystr$ieser peekefehl wartet auf einen (NULL)astendruck. (NULL)erden (NULL)arameter "
1450 _p";angegeben (x/y), dann erscheint an der abgegebenen (NULL)telle ein kleines "
1460 _p"ascenster mit der (NULL)achricht 'space' in lenursorfarbe. str$ie (NULL)oordinaten "
1465 _p";geben diesmal die linke, obere valcke des for(NULL)ahmensverify an."
1470 _k16,6:_c:[142]
1471 :
1472 [143] ----------------"str$irectory
1473 :
1480 m1$="[196]irectory:":m2$="[153]_[196] [farbe]":m3$="":gosub1
1485 _o11,12,25,7,5:_p"_[196]":_s
1490 _p"[149][201]n einem grossen [198]enster wird das [196]irectory angezeigt. [196]er "
1500 _p"[194]ildschirm sieht danach genauso aus wie vorher."
1510 _k:_c:return
1511 :
1512 rem ---------------"[198]rame
1513 :
1520 m1$[178]"ascrame:":m2$[178]"print_asc x1,y1,x2,y2[,farbe[,loeschen?]]":m3$[178]"":[141]1
1525 _o5,6,32,6,5:_p"_asc x1,y1,x2,y2,fa
1530 _s:_p"[149][197]s wird ein [210]ahmen auf den [194]ildschirm gezeichnet, der die "
1540 _p";[215]indoworganisation nicht beeinflusst."
1550 _k:_c:return
1551 :
1552 rem --------------"[198]ill
1553 :
1600 m1$[178]"ascillatnrea / ascill(NULL)indow":m2$[178]"print_ascatn x1,y1,x2,y2[,char[,color]]"
1601 m3$[178]"_asc(NULL) [char[,color]]":[141]1
1610 _o6,1,31,18,5
1620 _p"_ascatn / _asc(NULL)":_s
1630 _p"verifyascuellt einen bestimmten peekereich des peekildschirms mit dem "
1640 _p";(NULL)eichen forcharverify in der ascarbe forcolorverify. (NULL)enn als (NULL)eichencode '0' "
1645 _p";angegeben wird, dann werden lediglich die vorhandenen (NULL)eichen "
1650 _p";eingefaerbt. (NULL)m den peekereich mit lenode-0-(NULL)eichen ((NULL)lammeraffen) "
1655 _p";zu fuellen, muss zum ascarbcode 100 addiert werden "
1660 _p";(peekeispiel: _asc(NULL) 0,101 fuellt das aktuelle ascenster mit weissen "
1665 _p";(NULL)lammeraffen)."
1670 _p"(NULL)ird kein (NULL)eichen angegeben, so wid der peekereich mit (NULL)paces geloescht."
1680 _k:_c:[142]
1690 :
1691 [143] -----------------"right$nvert
1692 :
1700 m1$="[201]nvert[193]rea / [201]nvert[215]indow":m2$="[153]_[201][193] x1,y1,x2,y2":m3$="_[201][215]"
1701 gosub1
1710 _o5,8,16,6,8
1720 _p"_[201][193] / _[201][215]":_s
1725 _p"[149][196]er angegebene [194]ereich bzw. das aktuelle [198]enster wird invertiert."
1750 _k:_c:return
1790 :
1791 rem ----------------"[205]enuebefehle
1792 :
1800 m1$[178]"(NULL)enuestr$efinieren: print_(NULL)str$ [zeile]"
1801 m2$[178]"(NULL)enuebalkenpeekewegen:print_(NULL)(NULL) [zeile]"
1802 m3$[178]"(NULL)enueatnutomatik: print_(NULL)atn [zeile1,zeile2]"
1803 [141]1
1810 _o1,1,38,18,10
1820 _p"_(NULL)str$ / _(NULL)(NULL) / _(NULL)atn":_s
1822 _p"verify(NULL)m diese peekefehle anwenden zu koennen, muss ein ascenster geoeffnet "
1824 _p";sein. valin (vertikales) (NULL)enue programmiert man folgendermassen:":_s
1826 _p"(NULL)it for_(NULL)str$verify wird ein atnuswahlbalken erzeugt."
1828 _p"(NULL)er for_(NULL)(NULL)verify laesst dieser peekalken sich dann in die angegebene (NULL)eile "
1830 _p";innerhalb des ascensters bewegen.":_k:_s
1832 _p"ascuer die meisten (NULL)enues ist es nicht notwendig, die (NULL)astaturabfrage "
1834 _p"umstaendlich in peekasic zu programmieren. (NULL)tattdessen gibt man einfach "
1836 _p";nur noch _(NULL)str$ und for_(NULL)atnverify ein. str$ieser peekefehl bewirkt, dass sich der "
1838 _p";(NULL)enuebalken mit den lenursortasten steuern laesst (zeile1 & zeile2 = "
1839 _p";atnnfang & valnde des (NULL)enues). (NULL)obald dann (NULL)eturn gedrueckt wird, "
1840 _p";wird wieder zum peekasic zurueckgekehrt.":_s
1842 _p"str$ie aktuelle (NULL)eilennummer, in der sich der peekalken befindet..."
1844 _p"for*verify wird zwischengespeichert, wenn ein neues ascenster geoeffnet wird. "
1846 _p"for*verify kann per forvar=(NULL)(NULL)(NULL)(3)verify abgefragt werden. (NULL)berste (NULL)eile=(NULL)r.0."
1860 _k:_c:[142]
1897 :
1898 [143] ---------------"lenursor/ascarben
1899 :
1900 m1$="[211]et[195]ursor: [153]_' x,y"
1901 m2$="[211]et[195]olors: [153]_! hintergrund,rahmen":m3$="":gosub1
1910 _o3,10,15,6,4
1920 _p"_' / _!":_s
1930 _p"[196]iese [194]efehle erklaeren sich wohl von selbst.":_k:_c:return
2000 rem ---------"[198]ehler
2001 _o1,6,16,6,4
2002 _p"clr(NULL)(NULL) (NULL)right$(NULL)str$(NULL)(NULL) (NULL)(NULL)(NULL)(NULL)valstr$":_p"(NULL)(NULL)(NULL) (NULL)asc (NULL)val(NULL)(NULL)(NULL)(NULL)":_p"(NULL)(NULL)(NULL)str$ (NULL)(NULL)(NULL) (NULL)(NULL)(NULL)chr$"
2003 _p"(NULL)(NULL)(NULL)val (NULL)right$(NULL)(NULL)atn(NULL)lenleft$":_p"right$(NULL)(NULL)valchr$atn(NULL) (NULL)(NULL)atn(NULL)(NULL)right$(NULL)(NULL)":_p"(NULL)(NULL)(NULL)(NULL)atn(NULL)"
2004 _md:c[178]0:[137]2010
2005 [161]a$:[139]a$[178]""[176]a$[178]"cmd"[167]c[178]c[170]1
2006 [139]a$[178]"on"[176]a$[178]""[167]c[178]c[171]1
2007 [139]c[178][171]1[167]c[178]5
2008 [139]c[178]6[167]c[178]0
2009 [139]a$[178][199](13)[167]:_c:[142]
2010 _mmc
2011 [145]c[170]1[141]2030,2070,2110,2140,2180,2190:_k:_c:[137]2005
2030 _o19,6,20,6,9
2035 _p"^cmd_wait"
2040 _p"verifyvals wurde versucht, mit _len ein ascenster zu schliessen, obwohl "
2050 _p"keins mehr gespeichert ist."
2060 [142]
2070 _o19,7,20,5,9:_p"^cmd_wait"
2080 _p"verifyvals ist nicht mehr genug (NULL)peicherplatz fuer das zu oeffnende ascenster "
2090 _p";vorhanden."
2100 [142]
2110 _o19,8,20,3,9:_p"^cmd_wait"
2120 _p"verifyvalin (NULL)ort ist zu lang, um in das ascenster zu passen."
2130 [142]
2140 _o19,9,20,6,9:_p"^cmd_wait"
2150 _p"verify(NULL)it dem _(NULL)-peekefehl koennen nur (NULL)trings ausgegeben werden, (NULL)ahlen "
2160 _p";muessen mit (NULL)(NULL)(NULL)(x) umgeformt werden."
2170 [142]
2180 _o19,10,20,2,9:_p"^cmd_wait"
2181 _p"^cmd_wait":_p"verify(NULL)ie im normalen peekasic!":[142]
2190 _o19,11,20,2,9:[137]2181
3000 [143] ------------"lenopyright
3010 _o1,18,38,1,3
3020 _p"[144] ([195]) by [205][207][210][197].[199][207][210][197] [211][207][198][212][215][193][210][197] 1993 "
3021 gosub3040:_fw0,11:gosub3040:_fw0,12:gosub3040:_fw0,15:gosub3040:_fw0,1
3022 _k
3023 gosub3040:_fw0,15:gosub3040:_fw0,12:gosub3040:_fw0,11:gosub3040:_fw0,0
3024 gosub3040:gosub3040
3030 _c:return
3040 fori=1to50:next:return
4000 rem -----------"[213][211][210]
4001 _o1,5,20,7,3
4010 _p"verify... 'var' entspricht einer (NULL)ariable. (NULL)atuerlich kann die ascunktion "
4020 _p";auch anderweitig verwendet werden, z.peek. '(NULL)(NULL)right$(NULL)(NULL) (NULL)(NULL)(NULL)(0)'"
4030 m1$[178]"printvar=(NULL)(NULL)(NULL)(0) ascreier (NULL)indowspeicher"
4040 m2$[178]"printvar=(NULL)(NULL)(NULL)(1/2) akt. lenursorposition (x/y)"
4050 m3$[178]"printvar=(NULL)(NULL)(NULL)(3) akt. (NULL)enuepunkt"
4060 [141]1:_k:_c:[142]
5000 _p"str$ies ist die atnnleitung fuer die peekasic-valrweiterung "
5001 _p";'(NULL)indow (NULL)ystem', die auf dieser str$iskette unter dem (NULL)amen "
5002 _p";'(NULL)(NULL)atnlenvallen(NULL)str$val' zu finden ist. atnktiviert wird sie mit '(NULL)(NULL)(NULL) 49152'!"
5003 _p"(NULL)atn(NULL)(NULL)val!":_s:_s:_s:_k:[142]