home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
log
/
hamsys
/
hamsort.bas
< prev
next >
Wrap
BASIC Source File
|
1987-09-30
|
2KB
|
45 lines
10 ' HAMSORT - PROGRAM TO PREPARE RECORDS TO BE SORTED
15 'CHANGE DATE - 1/1/87
18 DEF SEG = 64 : POKE 23,64 : ' SET CAPS LOCK ON
20 CLS:LOCATE 8,1:PRINT "Which drive do you want to use for the input file?"
30 O$=INKEY$ : IF O$="" GOTO 30 ' WAIT FOR RESPONSE
40 IF O$ = "A" OR O$="B" THEN DR1$=O$+":" :GOTO 70 'DISKETTE A OR B
50 IF O$ = "C" OR O$="D" THEN DR1$=O$+":" :GOTO 70 'DRIVE C OR D
60 GOTO 30 ' NOT VALID DRIVE, RETRY
70 PRINT : PRINT "What drive do you want the output file on?"
80 O$=INKEY$ : IF O$="" GOTO 80 ' WAIT FOR RESPONSE
90 IF O$ = "A" OR O$="B" THEN DR2$=O$+":" :GOTO 190 'DISKETTE A OR B
100 IF O$ = "C" OR O$="D" THEN DR2$=O$+":" :GOTO 190 'DRIVE C OR D
110 GOTO 80 ' NOT VALID DRIVE, RETRY
120 SW=0:CTR = 18 ' set switch and recsize to 0
130 PRINT "Do you want to include send/receive cards ?":GOSUB 410
140 IF O$="Y" THEN SW=SW+1:CTR=CTR+3
150 PRINT "Do you want to include time of day ?":GOSUB 410
160 IF O$="Y" THEN SW=SW+2:CTR=CTR+6
170 PRINT "Do you want to include signal strength ?":GOSUB 410
180 IF O$="Y" THEN SW=SW+4:CTR=CTR+11
190 PRINT "Based on your answers you will be able to sort ";
200 PRINT USING "##,### records";63000!/CTR
210 OPEN DR1$+"HAMHDR.DAT" AS 3 LEN=24
220 FIELD 3,4 AS A$,4 AS B$,8 AS C$,8 AS D$ : GET 3,1 ' SET HEADER RECORD FLD
230 NUMREC=CVS(A$)
240 OPEN DR1$+"HAMLOG.DAT" AS 1 LEN=72 :' OPEN MAIN FILE TO COPY FROM
250 FIELD 1,5 AS Z$,8 AS DF2$,5 AS DF3$,2 AS DF45$,10 AS DF6$,6 AS A$,10 AS DF89$,26 AS B$
260 OPEN DR2$+"HAMLOG.SRT" FOR OUTPUT AS 2 :' OPEN FILE TO COPY TO
270 FOR I = 1 TO NUMREC ' SET FIRST RECORDS FOR ALL FILES
280 GET 1,I : ' GET FIRST RECORDS FROM BOTH FILES
290 ON SW GOTO 310,320,330,340,350,360,370
300 PRINT #2,DF2$;DF6$ :GOTO 380
310 PRINT #2,DF2$;DF45$;DF6$ : GOTO 380
320 PRINT #2,DF2$;DF3$;DF6$: GOTO 380
330 PRINT #2,DF2$;DF3$;DF45$;DF6$ : GOTO 380
340 PRINT #2,DF2$;DF6$;DF89$ : GOTO 380
350 PRINT #2,DF2$;DF45$;DF6$;DF89$: GOTO 380
360 PRINT #2,DF2$;DF3$;DF6$;DF89$: GOTO 380
370 PRINT #2,DF2$;DF3$;DF45$;DF6$;DF89$:GOTO 380
380 NEXT
390 CLOSE
400 RUN "mmenu
410 O$=INKEY$:IF O$="" GOTO 410
420 O$=CHR$(ASC(O$)AND 223) : RETURN