supersheet.bas

1 REM SUPER SHEET
2 DIM N(200):DIM N$(200):DIM LAB$(200):DIM S(600):DIM TYP(600):DIM NUM(600)
3 FOR N=1 TO 200:N$(N)="        ":NEXT
5 KEY OFF:SCREEN 2:SCREEN 0,1,0,0:VIEW PRINT 1 TO 24:COLOR 15,0,0:CLS
6 FOR P=0 TO 15:PALETTE P,0:NEXT
7 SCREEN 0,1,2,0:CLS:SCREEN 0,1,3,0:CLS:SCREEN 0,1,1,0:CLS:SCREEN 0,1,0,0:SCREEN 0,1,0,0:CLS
10 COLOR 15:LOCATE 8,29:PRINT "S U P E R    S H E E T"
15 COLOR 11:LOCATE 10,27:PRINT "Created by peron"
20 COLOR 12:LOCATE 12,29:PRINT "Programmed by peron"
25 COLOR 14:LOCATE 6,20:PRINT STRING$(40,205):LOCATE 14,20:PRINT STRING$(40,205)
30 PP=100:PALETTE 15,8:PALETTE 14,4:FOR P=1 TO PP:NEXT:PALETTE 15,7:PALETTE 14,12:PALETTE 11,3:PALETTE 12,4:FOR P=1 TO 15:PALETTE P,P:NEXT
31 SCREEN 0,1,2,0:GOSUB 1000:SCREEN 0,1,3,0:GOSUB 2000:SCREEN 0,1,0,0
35 LOCATE 24,1:FOR A=1 TO 7:PRINT:NEXT:VIEW PRINT 2 TO 24:LOCATE 24,1:FOR A=1 TO 8:PRINT:NEXT:VIEW PRINT 1 TO 24
40 COLOR 11,1:LOCATE 1,1:PRINT "Options:";:COLOR 15:PRINT "  File Edit ";:IF S2=0 THEN COLOR 8 ELSE COLOR 15
41 PRINT "Calculate ";:IF N2=0 THEN COLOR 8 ELSE COLOR 15
42 PRINT "Jazzy ";:COLOR 15:PRINT "Info  ";
43 COLOR 14,4:PRINT " (c)1989 Rufus Pro  ";:COLOR 0,7:PRINT " Tandy 1000ex":COLOR 15,0:LOCATE 2,1:PRINT STRING$(80,205):COLOR 13:LOCATE 2,4:PRINT DATE$
44 HELP=0
45 GOSUB 900
50 IF A$="E" OR A$="e" THEN HELP=1:GOTO 100
55 IF A$="F" OR A$="f" THEN HELP=2:GOTO 400
56 IF N2=0 THEN 65
60 IF A$="J" OR A$="j" THEN HELP=3:GOTO 600
65 IF A$="C" OR A$="c" THEN HELP=4:GOTO 700
66 IF A$=CHR$(27) THEN SCREEN 2:CHDIR "..":RUN "menu"
70 IF ASC(RIGHT$(A$,1))=157 THEN LOCATE 1,1:COLOR 15,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Clearing memory...":FOR N=1 TO N2:N$(N)="        ":LAB$(N)="":NEXT:S=0:S2=0:XT=0:YT=0:N2=0:VIEW PRINT 3 TO 25:COLOR ,0:CLS:VIEW PRINT 1 TO 25:GOTO 40
80 IF A$="I" OR A$="i" THEN 3000
95 GOTO 45
100 IF N2<>0 THEN 200
105 REM DEFINE NEW SHEET
106 COLOR 14,1:LOCATE 1,1:PRINT "*EDIT* ";:COLOR 15:PRINT "Use the number pad to difine cell size :: ";:COLOR 0,3:PRINT "  ENTER=SELECT :: ESC=CANCEL   "
110 COLOR 2,0
114 X=1:Y=4:LOCATE Y,X:PRINT STRING$(8,219)
115 GOSUB 900:COLOR 2
116 IF A$="4" AND X<>1 THEN 135
117 IF A$="4" AND X=1 THEN PALETTE 2,14:PLAY "C40A40":PALETTE 2,2
118 IF A$="6" AND X<>71 THEN 140
119 IF A$="6" AND X=71 THEN PALETTE 2,14:PLAY "C40A40C40":PALETTE 2,2
120 IF A$="2" AND Y<>22 THEN Y=Y+2:FOR A=1 TO X STEP 10:LOCATE Y,A:PRINT STRING$(8,219):NEXT
121 IF A$="2" AND Y=22 THEN PALETTE 2,14:PLAY "C40A40C40":PALETTE 2,2
122 IF A$="8" AND Y<>4 THEN FOR A=1 TO X STEP 10:LOCATE Y,A:PRINT STRING$(8,32):NEXT:Y=Y-2
123 IF A$="8" AND Y=4 THEN PALETTE 2,14:PLAY "C40A40C40":PALETTE 2,2
125 IF ASC(A$)=27 THEN VIEW PRINT 3 TO 24:CLS:VIEW PRINT 1 TO 24:GOTO 40
126 IF ASC(A$)=13 THEN XT=X:YT=Y:ROWS=(10+X)/10:COLS=(Y/2)-1:N2=ROWS*COLS:GOTO 200
130 GOTO 115
135 FOR A=4 TO Y STEP 2:LOCATE A,X:PRINT STRING$(8,32):NEXT:X=X-10:GOTO 115
140 X=X+10:FOR A=4 TO Y STEP 2:LOCATE A,X:PRINT STRING$(8,219):NEXT:GOTO 115
145 GOTO 115
150 FOR A=4 TO Y STEP 2:LOCATE A,X:PRINT STRING$(8,32):NEXT:X=X-10:GOTO 115
155 X=X+10:FOR A=4 TO Y STEP 2:LOCATE A,X:PRINT STRING$(8,219):NEXT:GOTO 115
200 REM EDIT SHEET IN MEMORY
201 IF DSP=0 THEN 209 ELSE VIEW PRINT 3 TO 24:CLS:VIEW PRINT 1 TO 24
202 N=0:FOR Y=4 TO YT STEP 2:FOR X=1 TO XT STEP 10
203 N=((X+10/10)+((Y/2)-3)):T$=N$(N):R=2:IF LAB$(N)="F" THEN R=6
204 COLOR 15,R:LOCATE Y,X:PRINT T$:GOSUB 950
205 NEXT:NEXT:DSP=0:IF DSPFLG=1 THEN DSPFLG=0:GOTO 40
209 COLOR 14,1:LOCATE 1,1:PRINT "*EDIT* ";:COLOR 15:PRINT "Select Cell to define use :: ";:COLOR 11,4:PRINT " T=TEXT :: F=FORM :: N=NUM :: ENT/DEL/ESC   "
210 X=1:Y=4
211 N=((X+10/10)+((Y/2)-3)):T$=N$(N):COLOR 11,5:LOCATE Y,X:PRINT T$:R=2:IF LAB$(N)="F" THEN R=6
215 GOSUB 900
216 IF A$="8" AND Y<>4 THEN COLOR 15,R:LOCATE Y,X:PRINT T$:Y=Y-2:GOTO 211
217 IF A$="2" AND Y<>YT THEN COLOR 15,R:LOCATE Y,X:PRINT T$:Y=Y+2:GOTO 211
218 IF A$="4" AND X<>1 THEN COLOR 15,R:LOCATE Y,X:PRINT T$:X=X-10:GOTO 211
219 IF A$="6" AND X<>XT THEN COLOR 15,R:LOCATE Y,X:PRINT T$:X=X+10:GOTO 211
220 IF A$="T" AND LAB$(N)<>"F" THEN 250
221 IF A$="t" AND LAB$(N)<>"F" THEN 250
225 IF A$="N" AND LAB$(N)<>"F" THEN 300
226 IF A$="n" AND LAB$(N)<>"F" THEN 300
230 IF A$="F" OR A$="f" THEN 350
235 IF A$=CHR$(27) THEN COLOR 15,R:LOCATE Y,X:PRINT T$:GOTO 40
240 IF A$=CHR$(8) AND LAB$(N)<>"F" THEN LAB$(N)="":N$(N)="        ":GOTO 211
245 GOTO 215
250 T2$=T$:COLOR 15,1:LOCATE Y,X:PRINT STRING$(8,32)
252 B$=""
255 GOSUB 900
256 COLOR 7,1
260 IF ASC(A$)=27 THEN T$=T2$:GOTO 211
265 IF ASC(A$)=>65 AND ASC(A$)<=122 AND LEN(B$)<>8 THEN B$=B$+A$:T$=B$+STRING$(8-LEN(B$),32):LOCATE Y,X:PRINT T$
266 IF A$=CHR$(13) AND LEN(T$)=0 THEN LAB$(N)="":N$(N)=T$:GOTO 211
270 IF ASC(A$)=13 AND LEN(T$)>0 THEN LAB$(N)="T":N$(N)=T$:GOTO 211
275 IF ASC(A$)=8 AND LEN(B$)>0 THEN B$=LEFT$(B$,LEN(B$)-1):T$=B$+STRING$(8-LEN(B$),32):LOCATE Y,X:PRINT T$
276 GOTO 255
280 GOTO 255
300 T2$=T$:COLOR 14,4:LOCATE Y,X:PRINT STRING$(8,32)
301 FL1=0
302 B$=""
305 GOSUB 900
306 COLOR 14,4
310 IF ASC(A$)=27 THEN T$=T2$:GOTO 211
315 IF ASC(A$)=>48 AND ASC(A$)<=57 AND LEN(B$)<>8 THEN B$=B$+A$:T$=B$+STRING$(8-LEN(B$),32):LOCATE Y,X:PRINT T$
316 IF ASC(A$)=46 AND FL1=0 THEN B$=B$+A$:T$=B$+STRING$(8-LEN(B$),32):LOCATE Y,X:PRINT T$:FL1=1
320 IF ASC(A$)=13 AND LEN(T$)>0 THEN LAB$(N)="N":N$(N)=T$:GOTO 211
321 IF ASC(A$)=13 AND LEN(T$)=0 THEN LAB$(N)="":N$(N)=T$:GOTO 211
325 IF ASC(A$)=8 AND LEN(B$)>0 THEN C$=RIGHT$(B$,1):B$=LEFT$(B$,LEN(B$)-1):T$=B$+STRING$(8-LEN(B$),32):LOCATE Y,X:PRINT T$:IF C$="." THEN FL1=0
330 GOTO 305
350 COLOR 15,2:LOCATE Y,X:PRINT T$:SEL=S
351 IF SEL>500 THEN COLOR 15,1:LOCATE 24,1:PRINT "Formula Message :: Can not produce new formula > Over 500 bits :: ESC=RETURN   ":WHILE INKEY$<>CHR$(27:WEND:LOCATE 24,1:PRINT STRING$(80,32):GOTO 211
355 COLOR 15,1:LOCATE 24,1:PRINT "Formula :: 1=~+~ 2=~-~ 3=~/~ 4=~x~ 5=~%~ :: ";:COLOR 14,6:PRINT "   Select calc tool   :: ESC=RETURN ":COLOR ,0
360 GOSUB 900
361 IF ASC(A$)=27 THEN LOCATE 24,1:PRINT STRING$(80,32):GOTO 211
362 IF VAL(A$)<1 OR VAL(A$)>5 THEN 360
365 TYP=VAL(A$)
370 COLOR 15,1:LOCATE 24,1:PRINT "Formula :: Sellect cell :: ENTER=SELECT :: TAB=TOTAL :: ESC=RETURN ::          "
374 N=((X+10/10)+((Y/2)-3)):T$=N$(N):COLOR 1,7:LOCATE Y,X:PRINT T$:R=2:IF LAB$(N)="F" THEN R=6
375 GOSUB 900
376 IF A$="8" AND Y<>4 THEN COLOR 15,R:LOCATE Y,X:PRINT T$:Y=Y-2:GOTO 374
377 IF A$="2" AND Y<>YT THEN COLOR 15,R:LOCATE Y,X:PRINT T$:Y=Y+2:GOTO 374
378 IF A$="4" AND X<>1 THEN COLOR 15,R:LOCATE Y,X:PRINT T$:X=X-10:GOTO 374
379 IF A$="6" AND X<>XT THEN COLOR 15,R:LOCATE Y,X:PRINT T$:X=X+10:GOTO 374
380 COLOR ,0:IF A$=CHR$(27) THEN LOCATE 24,1:PRINT STRING$(80,32):S2=S:GOTO 211
381 IF A$=CHR$(13) AND LAB$(N)="N" THEN S=S+1:NUM(S)=N:TYP(S)=TYP:LOCATE 24,70:PRINT S:PLAY "A40"
382 IF A$=CHR$(9) AND LAB$(N)="" THEN S=S+1:NUM(S)=N:TYP(S)=9:LOCATE 24,1:PRINT STRING$(80,32):LAB$(N)="F":S2=S:GOTO 211
383 IF A$=CHR$(13) AND LAB$(N)="F" THEN S=S+1:NUM(S)=N:TYP(S)=TYP:LOCATE 24,70:PRINT S:PLAY "A40"
385 GOTO 375
390 RESUME 391
391 RESET:COLOR 15,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Bruno software error.  (press a key)":WHILE INKEY$="":GOSUB 950:WEND:COLOR 7,0:CLS:END
400 COLOR 14,1:LOCATE 1,1:PRINT " *FILE* ";:COLOR 15,4:PRINT "OPTIONS: Directory Load Save Erase :: ESC=RETURN                        ":COLOR 15,0
401 RESET
405 GOSUB 900
406 IF A$="D" OR A$="d" THEN DRR=1:GOTO 450
407 IF A$=CHR$(27) THEN ON ERROR GOTO 390:SCREEN 0,1,0,0,0:DRR=0:IF DSP=1 THEN DSPFLG=1:GOTO 200 ELSE 40
408 IF A$="L" OR A$="l" THEN 470
409 IF A$="S" OR A$="s" THEN 480
410 IF A$="E" OR A$="e" THEN 500
445 GOTO 405
450 COLOR 15,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Disc Busy..."
451 ON ERROR GOTO 455
452 OPEN "i",#1,"dfiles.sht":INPUT #1,F2:FOR F=1 TO F2:INPUT #1,F$(F),I$(F):GOSUB 950:NEXT:CLOSE:GOTO 460
455 OPEN "o",#1,"dfiles.sht":WRITE #1,0:CLOSE:ON ERROR GOTO 456:RESUME 452
456 COLOR 15,1:LOCATE 1,1:PRINT "Bad disc in drive A.  (press a key)":WHILE INKEY$="":GOSUB 950:WEND:RESUME 400
460 PCOPY 0,1:SCREEN 0,1,1,1,0:VIEW PRINT 3 TO 25:COLOR ,0:CLS:VIEW PRINT 1 TO 25:GOSUB 950
461 VIEW PRINT 1 TO 25
465 COLOR 12:LOCATE 5,10:PRINT "Index : Filename : Information"
466 COLOR 4 :LOCATE 6,10:PRINT "------------------------------"
467 FOR F=1 TO F2:COLOR 14:LOCATE 6+F,10:PRINT F:LOCATE 6+F,18:PRINT F$(F):GOSUB 950:COLOR 14:LOCATE 6+F,30:PRINT I$(F):GOSUB 950:NEXT
468 GOTO 400
470 COLOR 15,1:VIEW PRINT 23 TO 24:CLS:LOCATE 24,1:PRINT "Enter load Name:";:COLOR 14:LINE INPUT "",O$
471 IF O$="" OR LEN(O$)>8 THEN COLOR ,0:CLS:VIEW PRINT 1 TO 25:GOTO 400
472 ON ERROR GOTO 499
473 CLOSE
475 COLOR ,0:CLS:VIEW PRINT 1 TO 25:LOCATE 1,1:COLOR 15,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Loading "O$" from drive A..."
476 OPEN "i",#1,O$+".sht":GOSUB 950:INPUT #1,S2,XT,YT:N2=((XT+10/10)+((YT/2)-3))
477 FOR N=1 TO N2:INPUT #1,N$(N),LAB$(N):GOSUB 950:NEXT
478 FOR S=1 TO S2:INPUT #1,NUM(S),TYP(S):GOSUB 950:NEXT
479 CLOSE:COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "File has been loaded ok. (press a key)":WHILE INKEY$="":GOSUB 950:WEND:DSP=1:GOTO 400
480 COLOR 15,1:VIEW PRINT 23 TO 24:CLS:LOCATE 24,1:PRINT "Enter save Name:";:COLOR 14:LINE INPUT "",O$
481 IF O$="" OR LEN(O$)>8 THEN COLOR ,0:CLS:VIEW PRINT 1 TO 25:GOTO 400
483 ON ERROR GOTO 490
484 GOTO 495
485 COLOR ,0:CLS:VIEW PRINT 1 TO 25:LOCATE 1,1:GOSUB 950:COLOR 15,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Saving "O$" to drive A...":ON ERROR GOTO 491
486 S2=S:CLOSE:N2=((XT+10/10)+((YT/2)-3)):OPEN "o",#1,O$+".sht":GOSUB 950:WRITE #1,S2,XT,YT
487 FOR N=1 TO N2:WRITE #1,N$(N),LAB$(N):GOSUB 950:NEXT
488 FOR S=1 TO S2:WRITE #1,NUM(S),TYP(S):GOSUB 950:NEXT
489 CLOSE:COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "File has been saved ok. (press a key)":WHILE INKEY$="":GOSUB 950:WEND:GOTO 400
490 OPEN "o",#1,"dfiles.sht":WRITE #1,1,O$,INFO$:GOSUB 950:CLOSE:GOSUB 950:RESUME 485
491 ON ERROR GOTO 493:RESUME 492
492 GOSUB 950:OPEN "i",#2,"dfiles.sht":GOSUB 950:CLOSE:COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Not enough disc memory in drive A , file not saved.  (press a key)":RESET:WHILE INKEY$="":GOSUB 950:WEND:GOTO 400
493 RESUME 494
494 COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Disc in drive A is not stable , file not saved.  (press a key)":RESET:WHILE INKEY$="":GOSUB 950:WEND:GOTO 400
495 OPEN "I",#1,"DFILES.SHT":GOSUB 950:INPUT #1,F2:FOR F=1 TO F2:GOSUB 950:INPUT #1,F$(F),I$(F):IF F$(F)=O$ THEN CLOSE:GOTO 485
496 NEXT:CLOSE
497 CLS:LOCATE 24,1:COLOR 15,1:PRINT "Information on file:";:COLOR 14:LINE INPUT "",INFO$:IF INFO$="" OR LEN(INFO$)>60 THEN 497
498 OPEN "O",#1,"DFILES.SHT":GOSUB 950:WRITE #1,F2+1:FOR F=1 TO F2:GOSUB 950:WRITE #1,F$(F),I$(F):NEXT:WRITE #1,O$,INFO$:GOSUB 950:CLOSE:GOTO 485
499 RESET:LOCATE 1,1:COLOR 15,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "File not found on drive A.  (press a key)":WHILE INKEY$="":GOSUB 950:WEND:RESUME 400
500 COLOR 15,1:VIEW PRINT 23 TO 24:CLS:LOCATE 24,1:PRINT "Enter erase Name:";:COLOR 14:LINE INPUT "",O$
501 IF O$="" OR LEN(O$)>8 THEN COLOR ,0:CLS:VIEW PRINT 1 TO 25:GOTO 400
502 ON ERROR GOTO 520
503 CLOSE:RESET
505 COLOR ,0:CLS:VIEW PRINT 1 TO 25:LOCATE 1,1:COLOR 15,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Erasing "O$" from drive A...":GOSUB 950
506 HIT=0:OPEN "I",#1,"DFILES.SHT":INPUT #1,F2:FOR F=1 TO F2:GOSUB 950:INPUT #1,F$(F),I$(F):IF O$=F$(F) THEN HIT=F
507 NEXT:CLOSE:IF HIT=0 THEN LOCATE 1,1:COLOR ,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Filename not found.  (press a key)":WHILE INKEY$="":GOSUB 950:WEND:GOTO 400
508 IF F2=1 THEN OPEN "o",#1,"dfiles.sht":WRITE #1,0:GOSUB 950:CLOSE:GOTO 511
509 OPEN "o",#1,"dfiles.sht":WRITE #1,F2-1:FOR F=1 TO F2:IF HIT<>F THEN WRITE #1,F$(F),I$(F)
510 GOSUB 950:NEXT:CLOSE
511 ON ERROR GOTO 514
512 GOSUB 950:KILL O$+".sht"
513 COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "File erased ok. (press a key)":WHILE INKEY$<>"":GOSUB 950:WEND:GOTO 400
514 RESUME 515
515 RESET:COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "File erased from directory but not from disc.  (press a key)":WHILE INKEY$<>"":GOSUB 950:WEND:GOTO 400
520 RESUME 521
521 RESET:COLOR ,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Bad disc in drive A.  (press a key)":WHILE INKEY$<>"":GOSUB 950:WEND:GOTO 400
600 COLOR ,0:AL=0:FOR Y=4 TO YT STEP 2:AL=AL+1:IF AL=3 THEN AL=1
601 FOR X=1 TO XT STEP 10
602 GOSUB 950
605 N=((X+10/10)+((Y/2)-3)):T$=N$(N)
610 IF LAB$(N)="N" THEN C=12 ELSE IF LAB$(N)="T" THEN C=15 ELSE IF LAB$(N)="F" THEN C=10
615 IF LAB$(N)="F" AND T$="        " THEN T$="? ? ? ? "
616 IF AL=2 THEN GOSUB 635
620 LOCATE Y,X:COLOR C:PRINT T$
625 NEXT:NEXT
630 COLOR 15,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Press any key to return.":WHILE INKEY$="":WEND:DSPFLG=1:DSP=1:COLOR ,0:GOTO 201
635 IF C=12 THEN C=4 ELSE IF C=15 THEN C=7 ELSE IF C=10 THEN C=2
640 RETURN
700 REM CALCULATE!
701 IF S2=0 THEN 45
705 COLOR 14,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT " *CALCULATE* ";:COLOR 15:PRINT " Please wait calculations taking place."
706 GOSUB 950
710 TOT=0:GOT=0:S=0
715 S=S+1
716 GOSUB 950
720 NUM=NUM(S):TYP=TYP(S)
725 N=NUM
730 GOT=VAL(N$(N)):GOSUB 740:GOTO 736
736 IF S=S2 THEN 805 ELSE 715
740 IF TYP=9 THEN N$=STR$(TOT):N$=RIGHT$(N$,LEN(N$)-1):N$=LEFT$(N$,8):N$(N)=N$+STRING$(8-LEN(N$),32):TOT=0:GOTO 800
745 IF TYP=1 THEN TOT=TOT+GOT:GOTO 800
746 IF TOT=0 THEN TOT=GOT:GOTO 800
750 IF TYP=2 THEN TOT=TOT-GOT:GOTO 800 ELSE IF TYP=3 THEN TOT=TOT/GOT:GOTO 800 ELSE IF TYP=4 THEN TOT=TOT*GOT:GOTO 800 ELSE IF TYP=5 THEN TOT=GOT/100:TOT=TOT*10:GOTO 800
800 RETURN
805 COLOR 14,1:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT " *CALCULATE* ";:COLOR 15:PRINT "Displaying new calculations in sheet.":DSPFLG=1:DSP=1:COLOR ,0:GOTO 200
900 A$=INKEY$
901 IF A$="H" OR A$="h" THEN GOSUB 955
905 COLOR 10,0:LOCATE 2,70:PRINT TIME$
910 IF A$<>"" THEN RETURN ELSE 900
950 COLOR 10,0:LOCATE 2,70:PRINT TIME$:RETURN
955 REM
960 IF HELP=2 THEN SCREEN 0,1,2,2,0:GOTO 980
965 IF HELP=1 THEN SCREEN 0,1,3,3,0:GOTO 990
970 RETURN
980 WHILE INKEY$="":WEND
981 IF DRR=1 THEN SCREEN 0,1,1,1,0:RETURN ELSE SCREEN 0,1,0,0,0:RETURN
990 WHILE INKEY$="":WEND
995 SCREEN 0,1,0,0,0:RETURN
1000 COLOR 15:LOCATE 1,29:PRINT "Help for ~File~ option"
1001 COLOR 14:LOCATE 3,1
1005 PRINT "If you can not load a file then:"
1006 COLOR 12:PRINT "                               *Check to see if it is in the directory"
1007 PRINT "                               *Make sure you type in the Filename correctly"
1008 PRINT "                               *Make sure the file was saved correctly"
1009 PRINT:COLOR 14:PRINT "If you can not save a file then:":COLOR 13
1010  PRINT "                                *Has the disc got enough space on it?"
1011  PRINT "                                *Did you use valid characters in the filename?"
1012  PRINT "                                *Is the disc of the correct IBM type/Format?"
1013 PRINT:COLOR 14
1014 PRINT "If you can not erase a file then:":COLOR 10
1015 PRINT "                                 *Using erase the characters in filename must be                                  typed exactly as shown (including capitals)."
1020 PRINT "                                 *Check Directory to see if you are correct"
1021 PRINT "                                 *Part erases are made because the file was not                                   saved properly."
1022 COLOR 11:PRINT:PRINT:PRINT "              NEVER USE EXTENSIONS IN FILENAMES (~.???~)"
1023 COLOR 15:LOCATE 24,28:PRINT "[ press any key to return ]"
1024 RETURN
2000 COLOR 15:LOCATE 1,29:PRINT "Help for ~Edit~ option"
2001 COLOR 7:LOCATE 3,1
2002 PRINT "KEY PRESSED : OPTION USED IN :         RESULTING ACTION                         -----------------------------------------------------------------"
2003 COLOR 11
2004 PRINT "     H      :      ALL       : Displays the main option help page                   ESC     :      ALL       : Alows you to escape from an option                  ENTER    :      ALL       : Inputs action into the sheet"
2005 PRINT "  B.SPACE   :     EDIT       : Erases the selected cell contents                     N      :     EDIT       : Alows you to enter a number cell                      T      :     EDIT       : Alows you to enter a text cell"
2006 PRINT "     F      :     EDIT       : Alows you to produce a formula                     B.SPACE   : TEXT/NUM/FORM  : Deletes last character typed                     ----------------------------------------------------------------"
2007 COLOR 13:PRINT "Formula instructions:"
2008 COLOR 12
2009 PRINT "Select the type of function by pressing the corresponding number from the       information bar at the bottom of the screen.These functions work the same way   as those on a normal calculator."
2010 PRINT " When you have done this the information bar will change and tell you to start  producing your formula.As you start to do this a counter on the far right of thebar will keep track of the number of steps in your formula."
2015 PRINT " Move the cursor (the highlighted cell) to the desired position.Then press      either ENTER to enter cell in the formula,or TAB to output the Total into that  cell."
2016 COLOR 14
2018 GOTO 1023
3000 PCOPY 0,1:SCREEN 0,1,1,1,0:VIEW PRINT 3 TO 25:COLOR ,0:CLS
3005 COLOR 12,0:LOCATE 4,9:PRINT CHR$(218)STRING$(60,196)CHR$(191)
3006 FOR Y=5 TO 18:LOCATE Y,9:PRINT CHR$(179):LOCATE Y,70:PRINT CHR$(179):NEXT:LOCATE 19,9:PRINT CHR$(192)STRING$(60,196)CHR$(217)
3010 COLOR 15,1
3020 LOCATE 5,10:PRINT "                     S U P E R    S H E E T                 "
3021 LOCATE 6,10:PRINT "                     ----------------------                 "
3022 COLOR 7                                                         
3023 LOCATE 7,10:PRINT "                                                            "
3024 LOCATE 8,10:PRINT "                      (C)1989 peron             "
3025 LOCATE 9,10:PRINT "            Created for Tandy 1000,and IBM computers        "
3030 LOCATE 10,10:PRINT "                 Programmed by Juan Domingo Perón           "
3031 LOCATE 11,10:PRINT "                                                            "
3032 LOCATE 12,10:PRINT "                                                            "
3033 COLOR 14
3034 LOCATE 13,10:PRINT "   No part of this software may be re-produced,copied in    "
3035 LOCATE 14,10:PRINT "      any shape or form whatsoever.All rights reserved.     "
3040 COLOR 15
3045 VIEW PRINT 1 TO 25:LOCATE 1,1:PRINT STRING$(80,32):LOCATE 1,1:PRINT "Press a key to return."
3050 WHILE INKEY$="":GOSUB 950:WEND:SCREEN 0,1,0,0,0:GOTO 40
  • supersheet.bas.txt
  • Última modificación: 2022/03/10 17:04
  • por peron