home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
steel14.zip
/
TRANSFER.BAS
< prev
Wrap
BASIC Source File
|
1983-03-10
|
18KB
|
610 lines
3 DEFDBL X
4 DEFINT A-W,Y-Z
5 DIM F$(15),FLDN$(15,30),FTY(15,30),FL(15,30),IOPT(30)
10 DIM X$(30),Y$(30)
13 DIM L(15),NREC(15),Z$(30)
14 DIM X(30),CK$(30),SN$(30),SFN(10),DTOPT(10)
16 DIM LEND(30),CL(30)
17 DIM FTA(10),ATF(10),BTF(10),IMAX(10)
18 DIM SU%(40),S!(30),SUM#(40)
22 DIM ORFLG(10),D(10),TFN(10),FLDTCT(10,30,1),KTSUM(30),SUMFN(30)
23 DIM SUMF(10,30),KTSUMAF(30),SAFFN(30),SAFADD(10,30),SAFACCTO(10,30)
24 DIM SAFFLDN(10,30)
25 DIM S#(30)
26 DIM MAX(10),Z%(30),SU#(30),D#(30),EFN(10,30)
35 DIM K$(80)
42 DIM MAXK(30),SUMRN(10,30),SUMFLDN(10,30),MAXSAF(5)
44 DIM SUMAFOPT(10),SUMOPT(10),RNTNBOPT(10),DY(10),FLDTC(10,30,1)
46 DIM SUMFLD(10,30)
60 DIM SAF#(3,200)
61 CH = 29: PRINT FRE(0)
62 GOSUB 50000
70 NE = 0
80 GOSUB 10000
1000 GOTO 18000
2300 REM ************** DISK SELECTION ***************
2302 IF HDISK = 2 THEN GOSUB 13000
2303 IF HDISK = 2 THEN GOTO 2360
2304 PRINT ""
2305 PRINT "************ WHICH DISK DRIVE IS THE FILE ON **************"
2310 PRINT ""
2315 PRINT " 1 - DISK DRIVE A"
2320 PRINT " 2 - DISK DRIVE B"
2325 PRINT " 3 - DISK DRIVE C"
2330 PRINT " 4 - DISK DRIVE D"
2335 PRINT ""
2340 PRINT "*********** ENTER THE NUMBER THEN PRESS RETURN ************"
2345 GOSUB 14000
2347 IF DT# < 0 OR DT#>4 GOTO 2345
2350 T = DT#
2355 ON T GOTO 2360,2370,2380,2390
2360 T$ = F$(A)
2365 GOTO 2490
2370 T$ = "B:"+F$(A)
2375 GOTO 2490
2380 T$ = "C:"+F$(A)
2385 GOTO 2490
2390 T$ = "D:"+F$(A)
2490 RETURN
2500 REM ******* OPEN FILE SUBROUTINE *******
2503 CLOSE #1
2505 OPEN "R",#1,T$,L(A)
2507 D = 0
2510 FOR T = 1 TO NREC(A)
2520 FIELD #1,D AS DY$,FL(A,T) AS X$(T)
2530 D = D + FL(A,T)
2540 NEXT T
2543 GOSUB 7800
2545 RETURN
2550 REM ******* OPEN SECOND FILE *******
2553 CLOSE #2
2555 OPEN "R",#2,T$,L(B)
2557 D = 0
2560 FOR T = 1 TO NREC(B)
2565 FIELD #2,D AS DY$,FL(B,T) AS Y$(T)
2570 D = D + FL(B,T)
2575 NEXT T
2578 RETURN
2580 REM ******* OPEN THIRD FILE *******
2582 PRINT C,F$(C),L(C)
2584 OPEN "R",#2,F$(C),L(C)
2586 D = 0
2588 FOR T = 1 TO NREC(C)
2590 FIELD #2,D AS DY$,FL(C,T) AS Z$(T)
2592 D = D + FL(C,T)
2594 NEXT T
2596 RETURN
7800 MRN = LOF(1)/ L(A)
7805 REM MRN = INT(MRN)
7810 RETURN
7900 REM ***** LOF
7910 MRN2 = LOF(3)/82
7920 RETURN
7950 REM ******* LOF
7960 MRNS = LOF(B)/L(B)
7970 RETURN
10000 REM ************* READ SUBROUTINE *************
10004 GOSUB 10900
10010 OPEN "I",#1,"FFILE"
10020 INPUT #1,MAXF
10030 FOR A = 1 TO MAXF
10040 INPUT #1,A,F$(A),NREC(A),L(A)
10050 FOR N = 1 TO NREC(A)
10060 INPUT #1,FLDN$(A,N),FTY(A,N),FL(A,N)
10070 IF FTY(A,N) = 2 THEN INPUT #1,D,D
10080 NEXT N
10090 NEXT A
10100 CLOSE #1
10110 RETURN
10900 REM ************* PUT DISK IN DRIVE SUB
10905 IF HDISK = 2 THEN RETURN
10910 GOSUB 13000
10920 PRINT " ******** PUT PROGRAM DATA DISK IN THE DEFAULT DISK DRIVE *********"
10930 PRINT ""
10940 PRINT " THEN PRESS ANY KEY TO CONTINUE "
10950 PRINT ""
10960 PRINT " If the program data disk is already in the default disk drive then"
10965 PRINT " just press any key to continue."
10970 PRINT ""
10990 IF INKEY$ = "" GOTO 10990
10995 RETURN
11000 REM ******** LOAD KEYLIST *********
11010 RETURN
13000 REM ********* CLEAR SCREEN
13010 CLS
13020 RETURN
13100 REM ********* LOCATE
13110 LOCATE LI,1
13120 RETURN
13200 FOR T% = 1 TO 80
13210 PRINT CHR$(8);
13220 NEXT T%
13222 FOR T% = 1 TO 24
13223 PRINT CHR$(11);
13224 NEXT T%
13225 LI = LI - 1
13230 FOR T% = 1 TO LI
13240 PRINT CHR$(0)
13250 NEXT T%
13590 RETURN
13600 REM ****** CHECK FOR ASC0
13610 S4$ = INKEY$
13620 C2 = ASC(S4$)
13630 IF C2 = 83 THEN C = 1
13640 IF C2 = 82 THEN C = 6
13650 IF C2 = 75 THEN C = 19
13660 IF C2 = 77 THEN C = 4
13670 RETURN
14000 REM ******* INTEGER LESS THEN 100 CHECK ********
14010 MAX = 2
14020 ACT$ = "1234567890=<>^"
14023 IF NE = 0 THEN ACT$ = "1234567890"
14025 PRINT ">__<";
14030 GOTO 14500
14100 REM ******* INTEGER *******
14110 MAX = 8
14120 ACT$ = "1234567890-+,=<>^"
14123 IF NE = 0 THEN ACT$ = "1234567890-+,"
14125 PRINT ">________<";
14130 GOTO 14500
14200 REM ******* SINGLE PRECISION *******
14210 MAX = 10
14220 ACT$ = "1234567890-+,.%$=<>^"
14223 IF NE = 0 THEN ACT$ = "1234567890+-,.%$"
14225 PRINT ">__________<";
14230 GOTO 14500
14300 REM ******* DOUBLE PRECISION *******
14310 MAX = 20
14320 ACT$ = "1234567890-+,.%$=<>^"
14323 IF NE = 0 THEN ACT$ = "1234567890+-,.%$"
14325 PRINT ">____________________<";
14330 GOTO 14500
14500 REM ********** NUMBER CHECK **********
14505 A$ = ""
14510 K$(20) = " "
14515 KTMAX = 0
14520 FOR T9 = 1 TO MAX
14525 K$(T9) = " "
14530 NEXT T9
14535 DIG$ = "1234567890."
14540 DOTFLG = 0
14541 T2 = MAX + 1
14542 FOR T6 = 1 TO T2
14544 PRINT CHR$(CH);
14546 NEXT T6
14550 IF INKEY$ = "" GOTO 14560 ELSE GOTO 14550
14560 KT = 0
14565 REM *********** CHECK ALFANUMERIC INPUT FOR LENGTH ***********
14570 KT = KT + 1
14575 REM
14580 W$ = INKEY$
14585 IF W$ = "" GOTO 14580
14590 C = ASC(W$)
14593 IF C = 0 THEN GOSUB 13600
14595 IF C = 13 GOTO 14660
14600 IF C = 17 OR C = 8 GOTO 14860
14605 IF C = 19 GOTO 14690
14610 IF C = 4 GOTO 14710
14615 IF C = 6 GOTO 14730
14620 IF C = 1 GOTO 14790
14625 IF KT > MAX GOTO 14575
14630 IF INSTR(ACT$,W$) = 0 GOTO 14890
14635 K$(KT) = W$
14645 PRINT K$(KT);
14650 IF KT > KTMAX THEN KTMAX = KT
14655 GOTO 14570
14660 REM ********** RETURN **********
14670 FOR T9 = 1 TO KTMAX
14675 A$ = A$ + K$(T9)
14680 NEXT T9
14681 IF KTMAX = 0 THEN PRINT "1"
14682 IF KTMAX = 0 THEN DT# = 1
14683 IF KTMAX = 0 THEN RETURN
14684 PRINT ""
14685 GOTO 14905
14690 REM ********* MOVE CURSE BACK ********
14695 IF KT = 1 GOTO 14575
14700 KT = KT - 1
14703 PRINT CHR$(CH);
14705 GOTO 14575
14710 REM ********* MOVE CURSER FORWARD *********
14715 IF KT >= MAX GOTO 14575
14716 IF KT > (KTMAX + 1) GOTO 14575
14718 PRINT K$(KT);
14720 KT = KT + 1
14725 GOTO 14575
14730 REM ********** INSERT ***********
14733 IF KT > KTMAX GOTO 14575
14735 X9 = MAX
14740 WHILE X9 > KT
14745 X9 = X9 - 1
14750 K$(X9 + 1) = K$(X9)
14755 WEND
14760 K$(KT) = " "
14767 KTMAX = KTMAX + 1
14769 IF KTMAX > MAX THEN KTMAX = MAX
14770 FOR T9 = KT TO KTMAX
14775 PRINT K$(T9);
14780 NEXT T9
14781 T6 = (KTMAX - KT) + 1
14782 FOR T7 = 1 TO T6
14783 PRINT CHR$(CH);
14784 NEXT T7
14785 GOTO 14575
14790 REM ********** DELETE ***********
14793 IF KT > KTMAX GOTO 14575
14794 IF KTMAX = 1 GOTO 14575
14795 K$(MAX + 1) = ""
14800 X9 = KT
14805 WHILE X9 <= MAX
14810 K$(X9) = K$(X9 + 1)
14815 X9 = X9 + 1
14820 WEND
14830 KTMAX = KTMAX - 1
14835 FOR T9 = KT TO KTMAX
14840 PRINT K$(T9);
14845 NEXT T9
14850 PRINT "_";
14851 T7 = (KTMAX - KT) + 2
14852 FOR T8 = 1 TO T7
14853 PRINT CHR$(CH);
14854 NEXT T8
14855 GOTO 14575
14860 REM ********* BACKSPACE ********
14865 IF KT = 1 GOTO 14575
14870 KT = KT - 1
14875 PRINT CHR$(CH);
14877 K$(KT) = " "
14880 PRINT "_";
14883 PRINT CHR$(CH);
14885 GOTO 14575
14890 REM ******* INPUT NOT ACCEPTABLE ********
14895 PRINT CHR$(7);
14900 GOTO 14580
14905 REM ********* CLEAR STRINGS ********
14910 MAX = LEN(A$)
14915 D2$ = ""
14920 D1$ = ""
14925 DFLG = 0
14930 FOR Q93 = 1 TO MAX
14935 R$ = MID$(A$,Q93,1)
14940 IF INSTR(DIG$,R$) = 0 GOTO 14975
14945 IF R$ = "." OR DFLG = 1 GOTO 14965
14950 IF DFLG = 1 GOTO 14965
14955 D2$ = D2$ + R$
14960 GOTO 14975
14965 D1$ = D1$ + R$
14970 DFLG = 1
14975 NEXT Q93
14980 DA# = VAL(D2$)
14985 D1# = VAL(D1$)
14990 DT# = DA# + D1#
14995 IF K$(1) = "-" THEN DT# = -DT#
14997 RETURN
16010 PRINT "*********** MAKE SURE YOUR PRINTER IS ON **************"
16020 PRINT ""
16030 PRINT "******************** WITH PAPER ***********************"
16040 PRINT ""
16050 PRINT "********** PRESS ANY KEY TO START PRINTING ************"
16055 PRINT ""
16057 PRINT " ******* PRESS THE LETTER A TO ABORT *******"
16070 T$ = INKEY$
16073 IF T$ = "" GOTO 16070
16075 PRINT T$
16090 RETURN
16200 REM ********* PRINT OUT FIELDS
16205 T2 = 1
16210 FOR T = 1 TO NREC(A)
16220 PRINT TAB(T2) T;"-";FLDN$(A,T);
16230 IF T MOD 3 = 0 THEN PRINT ""
16235 IF T MOD 3 = 0 THEN T2 = -25
16237 T2 = T2 + 26
16340 NEXT T
16350 RETURN
18000 REM ********** TRANSFER MENU **************
18005 IF DTFLG >< 1 THEN GOSUB 19000
18007 GOSUB 13000
18010 PRINT "**************** TRANSFER MENU ******************"
18020 PRINT ""
18025 PRINT " 0 - EXIT THE PROGRAM"
18030 FOR N = 1 TO MAXS
18040 PRINT " ";N;"- ";SN$(N)
18050 NEXT N
18060 PRINT ""
18070 PRINT "******* ENTER THE NUMBER AND PRESS RETURN *******"
18075 GOSUB 14000
18076 IF DT# <0 OR DT# >MAXS GOTO 18075
18078 IF DT# = 0 THEN GOTO 51000
18080 SOPT = DT#
18085 GOSUB 13000
18090 A = SFN(SOPT)
18092 PRINT F$(A),"SOURCE FILE"
18094 GOSUB 2300
18096 GOSUB 2500
18098 IF DTOPT(SOPT) = 1 THEN GOSUB 21000
18099 GOSUB 13000
18100 PRINT ""
18110 PRINT "***** WHAT RECORD NUMBER DO YOU WANT TO START AT *****"
18120 PRINT ""
18130 PRINT "********* ENTER THE NUMBER THEN PRESS RETURN *********"
18135 GOSUB 14200
18136 IF DT# <1 OR DT# >10000 GOTO 18135
18140 RNSS = DT#
18200 PRINT ""
18202 GOSUB 7800
18204 PRINT "THE HIGHEST NUMBERED RECORD IS ";MRN
18210 PRINT "******** WHICH IS THE LAST RECORD YOU WANT TO TRANSFER ********"
18220 PRINT ""
18230 PRINT "************* ENTER THE NUMBER THEN PRESS RETURN **************"
18235 GOSUB 14200
18236 IF DT# <1 OR DT# >MRN GOTO 18235
18240 RNSF = DT#
18250 IF RNSF > MRN GOTO 18204
18300 SFN = SFN(SOPT)
18500 GOTO 20000
19000 REM ************ OPEN FOR INPUT **************
19005 GOSUB 10900
19010 OPEN "I",#2,"TFER"
19020 INPUT #2,MAXS
19030 FOR S = 1 TO MAXS
19040 D = 1
19050 INPUT #2,DTOPT(S),SUMOPT(S),SUMAFOPT(S),SN$(S),SFN(S)
19060 IF DTOPT(S) = 2 GOTO 19170
19070 INPUT #2,RNTNBOPT(S),D(S),TFN(S),DY(S)
19080 TFN = TFN(S)
19090 FOR N = 1 TO DY(S)
19100 INPUT #2,FLDTC(S,N,D)
19110 IF FLDTC(S,N,D) = 1 GOTO 19130
19120 INPUT #2,FLDTCT(S,N,D)
19130 NEXT N
19140 IF D = 2 GOTO 19170
19150 IF D(S) = 2 THEN D = 2
19160 IF D(S) = 2 GOTO 19090
19170 IF SUMOPT(S) = 2 GOTO 19220
19180 INPUT #2,KTSUM(S),SUMFN(S)
19190 FOR K = 1 TO KTSUM(S)
19200 INPUT #2,SUMF(S,K),SUMRN(S,K),SUMFLDN(S,K)
19210 NEXT K
19220 IF SUMAFOPT(S) = 2 GOTO 19270
19230 INPUT #2, KTSUMAF(S),SAFFN(S)
19240 FOR K = 1 TO KTSUMAF(S)
19250 INPUT #2,SAFADD(S,K),SAFACCTO(S,K),SAFFLDN(S,K),DY
19260 NEXT K
19270 NEXT S
19280 CLOSE #2
19285 DTFLG = 1
19290 RETURN
20000 REM ****** DATA TRANSFER PROGRAM ******
20095 REM ***** INITIALIZE SUMS TO ZERO *****
20100 GOSUB 20900
20105 PRINT "*** INITIALIXE SUMS
20110 REM *** OPEN SOURCE FILE ****
20112 GOSUB 13000
20140 REM ** IF DTOPT(SOPT) = 1 THEN GOSUB 21000
20150 REM ******* START READING LOOP **********
20160 FOR RN = RNSS TO RNSF
20180 GET #1,RN
20195 REM ******* CONVERT STRINGS TO INTEGERS
20200 GOSUB 21066
20205 PRINT "*** READING RECORD NUMBER ";RN
20210 REM ******* RECORD NUMBERING
20220 IF DTOPT(SOPT) = 1 THEN GOSUB 21700
20230 REM ***** TRANSFER DATA
20240 IF DTOPT(SOPT) = 1 THEN GOSUB 21900
20250 REM ***** ADD ACCORDING TO FIELDS
20260 IF SUMOPT(SOPT) = 1 THEN GOSUB 24000
20270 IF SUMAFOPT(SOPT) = 1 THEN GOSUB 24100
20300 NEXT RN
20500 REM ****** RESUME FROM ON ERROR
20510 REM ****** MOVE FIELDS TO FILE
20520 IF SUMOPT(SOPT) = 1 THEN GOSUB 25600
20530 IF SUMAFOPT(SOPT) = 1 THEN GOSUB 25800
20590 CLOSE
20600 GOTO 18000
20900 REM ****** CLEAR VARIABLES ******
20910 FOR N = 1 TO KTSUM
20920 SUM#(N) = 0
20930 NEXT N
20950 IF SUMAFOPT = 2 GOTO 20998
20960 FOR P = 1 TO KTSUMAF
20970 FOR N = 1 TO MAX(P)
20980 SAF#(P,N) = 0
20990 NEXT N
20995 NEXT P
20998 RETURN
21000 REM *********** DATA TRANSFER OPTION **********
21005 TFN = TFN(SOPT)
21010 B = TFN
21015 GOSUB 13000
21017 PRINT F$(B)," TARGET FILE "
21018 AHLD = A
21019 A = B
21020 GOSUB 2300
21030 GOSUB 2550
21032 A = AHLD
21040 RETURN
21066 FOR K = 1 TO NREC(A)
21068 REM ******** CONVERT EACH RECORD TO DECIMAL **********
21070 ON FTY(A,K) GOTO 21100,21200,21300,21400,21400
21100 Z$(K) = X$(K)
21110 GOTO 21500
21150 REM ******* START READING LOOP **********
21200 Z%(K) = CVI(X$(K))
21205 SU#(K) = Z%(K)
21210 GOTO 21500
21300 S!(K) = CVS(X$(K))
21305 SU#(K) = S!(K)
21310 GOTO 21500
21400 D#(K) = CVD(X$(K))
21405 SU#(K) = D#(K)
21410 GOTO 21500
21500 NEXT K
21510 RETURN
21590 REM ******* GET SECOND FILE **********
21595 REM ***** OPEN B ON START UP ****
21600 IF N <> RNSS GOTO 21700
21605 FLG = 1
21610 FLDOPT = 2
21620 B = TFN
21630 GOSUB 2300
21700 REM ***** RECORD NUMBERING
21705 RNTNBOPT = RNTNBOPT(SOPT)
21710 IF RNTNBOPT = 0 GOTO 21800
21715 REM ****** B RECORD NUMBER = TO A FIELD ******
21720 RN2 = SU#(RNTNBOPT)
21730 RETURN
21790 REM ****** B RECORD NUMBER INCREMENTS FROM 1 *******
21800 RN2 = RN
21810 RETURN
21900 REM ****** GET SECOND RECORD ******
21905 PRINT "TRANSFERING TO RECORD ";RN2
21910 GET #2,RN2
22000 FOR R = 1 TO NREC(B)
22005 REM ***** NO TRASFER *****
22010 IF FLDTC(SOPT,R,1) = 1 GOTO 23900
22020 IF FTY(B,R) <> 1 GOTO 22100
22030 T = FLDTC(SOPT,R,1) - 1
22040 LSET Y$(R) = Z$(T)
22050 GOTO 23900
22095 REM ***** JUST REPLACE *****
22100 IF FLDTCT(SOPT,R,1) <> 2 GOTO 22200
22105 T = FLDTC(SOPT,R,1) - 1
22110 LSET Y$(R) = Z$(T)
22120 GOTO 23900
22200 ON FTY(B,R) GOTO 23900,22210,22300,22400,22400
22205 REM ***** INTEGER *****
22210 I%=CVI(Y$(R))
22215 T = FLDTC(SOPT,R,1) - 1
22218 D# = SU#(T)
22220 IF FLDTCT(SOPT,R,1) = 3 THEN D# = -1 * D#
22230 I% = I% + D#
22240 LSET Y$(R) = MKI$(I%)
22250 GOTO 23900
22300 REM ** SINGLE PRECISION **
22310 I!=CVS(Y$(R))
22315 T = FLDTC(SOPT,R,1) - 1
22318 D# = SU#(T)
22320 IF FLDTCT(SOPT,R,1) = 3 THEN D# = -1 * D#
22330 I! = I! + D#
22340 LSET Y$(R) = MKS$(I!)
22350 GOTO 23900
22400 REM ** DOUBLE PRECISION **
22407 Y$ = Y$(R)
22410 I#=CVD(Y$)
22415 T = FLDTC(SOPT,R,1) - 1
22416 D# = SU#(T)
22420 IF FLDTCT(SOPT,R,1) = 3 THEN D# = -1 * D#
22430 I# = I# + D#
22440 LSET Y$(R) = MKD$(I#)
22450 GOTO 23900
22990 REM ****** FINISH TRANSFER LOOP ******
23900 NEXT R
23910 PUT #2,RN2
23912 RETURN
24000 REM ******** SUM OPTION *******
24010 FOR P = 1 TO KTSUM(SOPT)
24020 T = SUMF(SOPT,P)
24030 SUM#(P) = SUM#(P) + SU#(T)
24040 NEXT P
24050 RETURN
24100 REM ***** ADD ACCORDING TO FIELDS *****
24110 IF SUMAFOPT = 2 GOTO 24285
24120 FOR P = 1 TO KTSUMAF(SOPT)
24130 T = SAFADD(SOPT,P)
24140 F = SAFACCTO(SOPT,P)
24150 I = SU#(F)
24155 IF I > MAXSAF(P) THEN MAXSAF(P) = I
24160 SAF#(P,I) = SAF#(P,I) + SU#(T)
24170 NEXT P
24285 RETURN
25600 REM ****** MOVE SUMS TO FILES ******
25620 CLOSE
25630 B = SUMFN(SOPT)
25645 GOSUB 13000
25647 PRINT F$(B),"FILE FOR SUMS"
25648 AHLD = A
25649 A = B
25650 GOSUB 2300
25660 GOSUB 2550
25665 A = AHLD
25670 FOR P = 1 TO KTSUM(SOPT)
25700 RN = SUMRN(SOPT,P)
25710 GET 2,RN
25720 T = SUMFLDN(SOPT,P)
25725 S# = SUM#(P)
25727 PRINT "SUM";S#;" FIELD ";T
25730 ON FTY(B,T) GOSUB 25790,25772,25780,25790,25790
25750 PUT #2,RN
25760 NEXT P
25770 RETURN
25772 LSET Y$(T) = MKI$(S#)
25775 RETURN
25780 LSET Y$(T) = MKS$(S#)
25785 RETURN
25790 LSET Y$(T) = MKD$(S#)
25795 RETURN
25800 REM ******* PUT SUM ACCORDING TO FIELDS IN FILES *******
25810 CLOSE
25820 B = SAFFN(SOPT)
25823 GOSUB 13000
25825 PRINT F$(B),"FILE FOR SUMS ACCORDINT TO FIELDS "
25827 AHLD = A
25828 A = B
25830 GOSUB 2300
25833 A = AHLD
25835 GOSUB 2550
25850 FOR P = 1 TO KTSUMAF(SOPT)
25852 T = SAFFLDN(SOPT,P)
25860 FOR J = 1 TO MAXSAF(P)
25865 S# = SAF#(P,J)
25870 GET #2,J
25880 ON FTY(B,T) GOSUB 25984,25984,25990,25995,25995
25890 PUT #2,J
25895 PRINT P,J,S#,A,T
25900 NEXT J
25910 NEXT P
25980 CLOSE
25982 RETURN
25984 LSET Y$(T) = MKI$(S#)
25986 RETURN
25990 LSET Y$(T) = MKS$(S#)
25992 RETURN
25995 LSET Y$(T) = MKD$(S#)
25997 RETURN
26000 REM ******* ON ERROR ROUTINE ************
26100 EFLG = 1
26200 PRINT "********** END OF FILE ***********"
26202 PRINT "**** PRESS ANY KEY TO CONTINUE ****"
26204 IF INKEY$ = "" GOTO 26204
26500 REM ********* ON ERROR SUBROUTINE ***********
26600 PRINT "********** END OF FILE ***********"
26610 PRINT "**** PRESS ANY KEY TO CONTINUE ****"
26620 IF INKEY$ = "" GOTO 26620
26635 EFLG = 1
26640 RETURN
26800 REM ********** ON ERROR GOTO **************
26900 PRINT "************ RECORD NOT FOUND *************"
50000 REM ********** INTRO
50010 GOSUB 13000
50100 PRINT " T R A N S F E R P R O G R A M 3.0 "
50105 PRINT ""
50110 PRINT " Copyright 1984 by Potomac Pacific Engineering Inc."
50120 PRINT ""
50130 PRINT "This program is licensed FREE to all users with some restrictions"
50165 PRINT " See the manual for more information on the license."
50167 PRINT ""
50950 PRINT "****************** PRESS ANY KEY TO CONTINUE *******************";
50960 IF INKEY$ = "" GOTO 50960
50970 RETURN
51000 REM ******** EXIT
51100 GOSUB 13000
51105 GOSUB 13000
51110 PRINT " -BYE, Have a nice day
51120 END
51200 PRINT "BYE - Have a nice day "
51300 END
SUB 13000
51105 GOSUB 13000
51110 PRINT " -BYE, Have a nice day
51120 END
51