home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1987 May
/
1987-05.d64
/
sleevemaker
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
3KB
|
124 lines
10 dim sg$(2,19),te$(19):rem set up arrays
20 fori=1to2:forj=1to19
30 sg$(i,j)=" "
40 nextj:nexti
50 set$="+----------------------------------------+"
60 ax$="-------------------":zx$=" "
70 fm$="a":fc$="b"
80 print"[147][144]cassette sleeve maker[146]"
90 print"enter the number of sides"
100 print"you wish to label (1/2)";
110 inputc:ifc<>1andc<>2then110
120 at=c
130 print"[147]the next screen will"
140 print"show half of a tape label"
150 print"entered lines may not[146] contain:"
160 print"; or , or _, or +, or ^"
170 print"hit any key to continue"
180 gets$:ifs$=""then180
190 rem *main program*
200 fori=1toc
210 forj=1to19
220 gosub700:gosub1020
230 gosub650
240 print"":forr=1toj
250 ifr=15orr=17thenprint"[145]"
260 print"";sg$(i,r)
270 nextr
280 gosub910
290 ifj>15thenprint"[145]"
300 gosub1170:inputc$
310 ifleft$(c$,1)=chr$(94)andj<15thenj=15:goto220
320 sg$(i,j)=c$
330 gosub910:sg$(i,j)=left$(sg$(i,j),19)
340 gosub1210
350 bb$=sg$(i,j):gosub1110:sg$(i,j)=bb$
360 print"":forik=1toj:gosub1150
370 ifik=jthenprint"[145]"
380 print"";sg$(i,ik):nextik
390 gosub1060:ifks$<>"y"andks$<>"n"thenprint"[145]":goto390
400 ifks$="n"thensg$(i,j)=zx$:goto220
410 nextj
420 nexti
430 rem ** hard copy **
440 print"[147]press any key for printout"
450 geta$:ifa$=""then450
460 lb=2:la=1:ifat=1thenla=1:lb=2
470 open 4,4
480 print#4,set$
490 print#4,"+ side a side b +"
500 forj=1to19
510 te$(j)="+ "+sg$(la,j)+" "+sg$(lb,j)+"+":nextj
520 forj=1to14:print#4,te$(j):nextj
530 print#4,set$
540 print#4,te$(15):print#4,te$(16)
550 print#4,set$
560 fori=17to19:print#4,te$(i):nexti
570 print#4,set$
580 close4
590 print"[147]would you like another label (y/n)";
600 inputa$:ifa$<>"y"anda$<>"n"then600
610 ifa$="y"then20
620 print"[147]":end
630 rem *** subroutines ***
640 rem ---sub pointer----
650 gosub910
660 gosub1180:ifj>15thenprint"[145]"
670 printtab(21)"_"
680 return
690 rem ------sub setup-----
700 print"[147]":if i=2then810
710 fd$=" +"+ax$
720 print" +side ";fm$;" [146]"
730 forii=1to14:print" +":nextii
740 printfd$
750 print" +"
760 print" +"
770 printfd$
780 forii=1to3:print" +":nextii
790 print fd$
800 gosub970:return
810 fd$=" "+ax$+"+"
820 print" +side ";fc$;" [146]+"
830 forii=1to14:printtab(21)"+":nextii
840 printfd$
850 printtab(21)"+"
860 printtab(21)"+"
870 printfd$
880 forii=1to3:printtab(21)"+":nextii
890 printfd$:gosub970:return
900 rem ---- sub cursor ----
910 print""
920 ford=1toj
930 print"[145]"
940 nextd:print"[145]":return
950 :
960 rem ---- sub 19 characters ----
970 print""
980 printtab(22)"___this is 19"
990 printtab(25)"characters"
1000 printtab(25)"for reference"
1010 return
1020 print""
1030 print""tab(23)"input line #";j
1040 return
1050 rem ------sub correct----
1060 print"":ks$=""
1070 print""tab(23)"is this entry"
1080 printtab(23)"correct (y/n)"
1090 printtab(29);:inputks$
1100 rem ------ sub 19 string ------
1110 fr=len(bb$):f=19-fr:tr$=right$(zx$,f)
1120 bb$=bb$+tr$:return
1130 return
1140 rem ----sub skip-----
1150 ifik=15orik=17then print"[145]"
1160 return
1170 rem ---sub input skip---
1180 ifj=15orj>=17then print"[145]"
1190 return
1200 rem ----sub blank space----
1210 fk$=left$(sg$(i,j),1)
1220 iffk$="_"orfk$="+"thensg$(i,j)=zx$
1230 return