home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / log / hamsys / hamfix.bas < prev    next >
BASIC Source File  |  1987-01-02  |  3KB  |  52 lines

  1. 10 ' HAMFIX - program to manually merge two files
  2. 15 'CHANGE DATE - 1/12/85
  3. 20 DEF SEG = 64 : POKE 23,64          ' Set caps lock on
  4. 30 PRINT : PRINT "What drive do you want the 1st input file on?"
  5. 40 O$=INKEY$ : IF O$="" GOTO 40                ' WAIT FOR RESPONSE
  6. 50 IF O$ = "A" OR O$="B" THEN DR1$=O$+":" :GOTO 80 'DISKETTE A OR B
  7. 60 IF O$ = "C" OR O$="D" THEN DR1$=O$+":" :GOTO 80 'DRIVE C OR D
  8. 70 GOTO 40                                   ' Not valid drive retry
  9. 80 PRINT : PRINT "What drive do you want the 2nd input file on?"
  10. 90 O$=INKEY$ : IF O$="" GOTO 90                ' WAIT FOR RESPONSE
  11. 100 IF O$ = "A" OR O$="B" THEN DR2$=O$+":" :GOTO 130 'DISKETTE A OR B
  12. 110 IF O$ = "C" OR O$="D" THEN DR2$=O$+":" :GOTO 130 'DRIVE C OR D
  13. 120 GOTO 90                                   ' Not valid drive retry
  14. 130 PRINT : PRINT "What drive do you want the output file on?"
  15. 140 O$=INKEY$ : IF O$="" GOTO 140                ' WAIT FOR RESPONSE
  16. 150 IF O$ = "A" OR O$="B" THEN DR3$=O$+":" :GOTO 180 'DISKETTE A OR B
  17. 160 IF O$ = "C" OR O$="D" THEN DR3$=O$+":" :GOTO 180 'DRIVE C OR D
  18. 170 GOTO 140                                   ' Not valid drive retry
  19. 180 OPEN DR1$+"HAMLOG.DAT" AS 1 LEN=72 :' OPEN MAIN FILE TO COPY FROM
  20. 190 FIELD 1,72 AS A$
  21. 200 OPEN DR2$+"HAMLOG.DAT" AS 2 LEN=72 :' OPEN MERGE FILE TO COPY FROM
  22. 210 FIELD 2,72 AS B$
  23. 220 OPEN DR3$+"HAMLOG.TMP" AS 3 LEN=72 :' OPEN FILE TO COPY INTO
  24. 230 FIELD 3,72 AS C$
  25. 240 CLS                                 ' CLEAR SCREEN
  26. 250 LOCATE 5,30:PRINT "PRESS SPACE BAR TO WRITE THIS RECORD";
  27. 260 LOCATE 8,30:PRINT "PRESS ANY OTHER KEY FOR THIS ONE:";
  28. 270 A=1:B=1:C=1                         ' SET FIRST RECORDS FOR ALL FILES
  29. 280 GET 1,A:GET 2,B                     ' GET FIRST RECORDS FROM BOTH FILES
  30. 290 LOCATE 9,1:PRINT B$                ' PRINT MERGE FILE RECORD
  31. 300 LOCATE 6,1:PRINT A$                 ' PRINT MAIN FILE RECORD
  32. 310 O$=INKEY$:IF O$="" THEN GOTO 310
  33. 320 IF ASC(O$)=27 THEN GOTO  370        ' ESCAPE PUSHED TO CLOSE
  34. 330 IF O$=" " THEN GOTO 350              ' SPACE BAR PUSHED
  35. 340 LSET C$=B$:B=B+1:GET 2,B:GOTO 360   ' GET NEXT RECORD
  36. 350 LSET C$=A$:A=A+1:GET 1,A            ' GET NEXT RECORD
  37. 360 PUT 3,C:C=C+1:GOTO 290              ' NEXT RECORD
  38. 370 ' *** ROUTINE TO CLOSE FILES
  39. 380 ' ***
  40. 390 ' *  ROUTINE TO WRITE HEADER RECORD
  41. 400 ' ***
  42. 410 CLOSE 1
  43. 420 Q$=LEFT$(C$,5)
  44. 430 GET 3,1                            ' GET FIRST RECORD
  45. 440 F$=MID$(C$,6,8)                    ' EXTRACT FIRST DATE FROM IT
  46. 450 OPEN DR3$+"HAMHDR.TMP" AS 1 LEN=24
  47. 460 FIELD 1,4 AS A$,4 AS B$,8 AS C$,8 AS D$ : GET 3,1  ' SET HEADER RECORD FLD
  48. 470 LSET A$=MKS$(C-1):LSET B$=MKS$(VAL(Q$)):LSET D$="        ":LSET C$=F$
  49. 480 PUT 1,1                                            ' WRITE HEADER
  50. 490 CLOSE
  51. 500 RUN"mmenu
  52.