home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / log / hamsys / hamsort.bas < prev    next >
BASIC Source File  |  1987-09-30  |  2KB  |  45 lines

  1. 10 ' HAMSORT  -  PROGRAM TO PREPARE RECORDS TO BE SORTED
  2. 15 'CHANGE DATE - 1/1/87
  3. 18 DEF SEG = 64 : POKE 23,64 : ' SET CAPS LOCK ON
  4. 20 CLS:LOCATE 8,1:PRINT "Which drive do you want to use for the input file?"
  5. 30 O$=INKEY$ : IF O$="" GOTO 30                 ' WAIT FOR RESPONSE
  6. 40 IF O$ = "A" OR O$="B" THEN DR1$=O$+":" :GOTO 70 'DISKETTE A OR B
  7. 50 IF O$ = "C" OR O$="D" THEN DR1$=O$+":" :GOTO 70 'DRIVE C OR D
  8. 60 GOTO 30                                    ' NOT VALID DRIVE, RETRY
  9. 70 PRINT : PRINT "What drive do you want the output file on?"
  10. 80 O$=INKEY$ : IF O$="" GOTO 80                 ' WAIT FOR RESPONSE
  11. 90 IF O$ = "A" OR O$="B" THEN DR2$=O$+":" :GOTO 190 'DISKETTE A OR B
  12. 100 IF O$ = "C" OR O$="D" THEN DR2$=O$+":" :GOTO 190 'DRIVE C OR D
  13. 110 GOTO 80                                    ' NOT VALID DRIVE, RETRY
  14. 120 SW=0:CTR = 18                        ' set switch and recsize to 0
  15. 130 PRINT "Do you want to include send/receive cards ?":GOSUB 410
  16. 140 IF O$="Y" THEN SW=SW+1:CTR=CTR+3
  17. 150 PRINT "Do you want to include time of day ?":GOSUB 410
  18. 160 IF O$="Y" THEN SW=SW+2:CTR=CTR+6
  19. 170 PRINT "Do you want to include signal strength ?":GOSUB 410
  20. 180 IF O$="Y" THEN SW=SW+4:CTR=CTR+11
  21. 190 PRINT "Based on your answers you will be able to sort ";
  22. 200 PRINT USING "##,### records";63000!/CTR
  23. 210 OPEN DR1$+"HAMHDR.DAT" AS 3 LEN=24
  24. 220 FIELD 3,4 AS A$,4 AS B$,8 AS C$,8 AS D$ : GET 3,1  ' SET HEADER RECORD FLD
  25. 230 NUMREC=CVS(A$)
  26. 240 OPEN DR1$+"HAMLOG.DAT" AS 1 LEN=72 :' OPEN MAIN FILE TO COPY FROM
  27. 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$
  28. 260 OPEN DR2$+"HAMLOG.SRT" FOR OUTPUT AS 2 :' OPEN FILE TO COPY TO
  29. 270 FOR I = 1 TO NUMREC                 ' SET FIRST RECORDS FOR ALL FILES
  30. 280 GET 1,I              :              ' GET FIRST RECORDS FROM BOTH FILES
  31. 290 ON SW GOTO 310,320,330,340,350,360,370
  32. 300 PRINT #2,DF2$;DF6$ :GOTO 380
  33. 310 PRINT #2,DF2$;DF45$;DF6$ : GOTO 380
  34. 320 PRINT #2,DF2$;DF3$;DF6$: GOTO 380
  35. 330 PRINT #2,DF2$;DF3$;DF45$;DF6$ : GOTO 380
  36. 340 PRINT #2,DF2$;DF6$;DF89$ : GOTO 380
  37. 350 PRINT #2,DF2$;DF45$;DF6$;DF89$: GOTO 380
  38. 360 PRINT #2,DF2$;DF3$;DF6$;DF89$: GOTO 380
  39. 370 PRINT #2,DF2$;DF3$;DF45$;DF6$;DF89$:GOTO 380
  40. 380 NEXT
  41. 390 CLOSE
  42. 400 RUN "mmenu
  43. 410 O$=INKEY$:IF O$="" GOTO 410
  44. 420 O$=CHR$(ASC(O$)AND 223) : RETURN
  45.