10REM JOINER (BASIC)
20REM Version 0.1
30REM By Andrew Black
40REM (c) Andrew Soft
50:
60REM This program is designed to
70REM join small text files together
80REM into one file. You can have
90REM as many files joined together
100REM as you want.
110:
120REM" This program has been placed
130REM" into Public Domain.
140:
150*FX14,6
160ONERRORPROCerror(0)
170DIMfile$(70)
180a$=""
190MODE7
200VDU23;8202;0;0;0;
210VDU15
220PROCtitle
230PROCchoose
240END
250:
260DEFPROCjoin
270CLS
280INPUT" How many files to join",fnum
%
290INPUT" Destination file",ofile$
300IF LEN(ofile$)>7 THEN GOTO 290
310ofile$=":"+STR$(ddrv%)+"."+ofile$
320a$="!"
330output=OPENOUT(ofile$)
340FORQ=1TOfnum%
350INPUT" Enter file(s) to join",file$
(Q)
360NEXTQ
370:
380PROCsearch
390:
400FORW=1TOfnum%
410input=OPENIN(file$(W))
420IFinput=0THENPROCerror(1)
430length%=EXT#(input)
440time%=((length%/1024)*9)DIV1
450PRINT
460PRINT" Joining "file$(W)
470PRINT" Joining time: ";(time%DIV60)
" minutes and ";(time%MOD60)" secs."
480FORZ=1TOlength%
490BPUT# output,BGET# input
500NEXT
510CLOSE#input
520NEXT
530CLOSE#output
540PRINT'" Transfer successful "
550I$=INKEY$(200)
560PROCchoose
570ENDPROC
580:
590DEFPROCchoose
600CLS
610IFa$="!"THENPROCexit
620INPUT" Source drive (0-3)",sdrv%
630IF sdrv%>3 OR sdrv%<0 THEN PROCchoo
se
640PRINT
650INPUT" Desination drive (0-3)",ddrv
%
660IF ddrv%>3 OR ddrv%<0 THEN PROCchoo
se
670PROCjoin
680ENDPROC
690:
700DEFPROCerror(num%)
710CLOSE#0
720IFnum%=1THENPRINT "File not found"
730REPORT
740PRINT
750ENVELOPE1,1,4,-4,4,10,20,10,127,0,0
,-5,126,126
760SOUND1,1,100,100
770END
780ENDPROC
790:
800DEFPROCtitle
810PRINT"
ppppppppppp";
820VDU134,157,141
830PRINT" File Joiner by Andrew Black
"
840VDU134,157,141
850PRINT" File Joiner by Andrew Black
"
860PRINT"
£££££££££££"
870VDU28,0,24,39,4
880ENDPROC
890:
900DEFPROCexit
910a$=""
920CLS
930INPUT" Exit (Y/N)",ext$
940IFext$="N"THENGOTO230
950END
960ENDPROC
970:
980DEF PROCsearch
990FOR S%=1 TO fnum%
1000file$(S%)=":"+STR$(sdrv%)+"."+file$
(S%)
1010NEXT
1020ENDPROC