home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / bus_pers / ham.lha / CQWWDXScrn_v1.0 (.txt) < prev    next >
AmigaBASIC Source Code  |  1990-08-29  |  17KB  |  468 lines

  1. 'August 1990. CQWWDXScrn_1.0 was developed by George R. Leone, K6SG, a
  2. 'member of the River City Contesters and of the Sacramento Amiga Computer
  3. 'Club. Use this public domain program at your own risk. The developer assumes
  4. 'no responsibility for any losses whatsoever incurred by its use nor does he
  5. 'assume any for upkeep or debugging of the program. It may be freely copied 
  6. 'and distributed but not sold for profit.
  7.  
  8. CLEAR ,175000
  9. WIDTH 80
  10. DIM q$(1,9) ,qc$(1,9),a$(3000),scor$(6,5)
  11.                                
  12.   PRINT "Before proceeding I need some information: ":PRINT
  13.   LOCATE 5,10:INPUT "Your first name ";my.nam$        'entries personalize reports
  14.   my.nam$=UCASE$(my.nam$)
  15.   LOCATE 7,10:INPUT "Your call ";my.cal$
  16.   my.cal$=UCASE$(my.cal$)
  17.   LOCATE 9,10:INPUT "State ";stat$
  18.   stat$=UCASE$(stat$)
  19.   LOCATE 11,10:INPUT "Your Country ";myctry$
  20.   yrin:
  21.   LOCATE 13,10:INPUT "Enter all digits of contest year";year$
  22.   IF year$="" THEN GOTO yrin:
  23.   yr$=RIGHT$(year$,2)
  24. mode: LOCATE 15,34:PRINT "      "
  25.   LOCATE 15,10:INPUT "Enter mode - SSB or CW ";mode$
  26.   mode$=UCASE$(mode$)
  27.   IF mode$ <> "SSB" AND mode$ <> "CW" THEN GOTO mode
  28.  
  29. menu.selection:
  30.   CLS
  31.   PRINT:PRINT TAB(20);"CQWW DX CONTEST REPORT REVIEW SELECTION"
  32.   PRINT:PRINT:PRINT TAB(15);"1.  Review Log "
  33.   PRINT:PRINT TAB(15);"2.  Review Summary Sheet"
  34.   PRINT:PRINT TAB(15);"3.  Review Dupesheet  "
  35.   PRINT:PRINT TAB(15);"4.  Review Multiplier Check Sheet"
  36.   PRINT:PRINT TAB(15);"5.  Make Log Corrections "
  37.   PRINT:PRINT TAB(15);"6.  Review Labels  "
  38.   PRINT:PRINT TAB(15);"7.  Main Menu "
  39.   
  40.   PRINT:PRINT:INPUT "Pick a number ";pn$
  41.   IF pn$ <> "1" AND pn$ <> "2" AND pn$ <> "3" AND pn$ <> "4" AND pn$ <> "5" AND pn$ <> "6" AND pn$ <> "7" THEN GOTO menu.selection
  42.   IF pn$="1" THEN GOSUB clr.ctrs:GOTO prints.log.title
  43.   IF pn$="2" THEN GOTO prints.summary.sheet
  44.   IF pn$="3" THEN GOSUB menu.first:GOTO prints.dupe.sheet
  45.   IF pn$="4" THEN GOSUB menu.first:GOTO prints.mult.list
  46.   IF pn$="5" THEN GOTO correct.log
  47.   IF pn$="6" THEN GOTO prints.labels
  48.   IF pn$="7" THEN CLOSE:CLS:CLEAR:CHAIN "CQWWDXBoot1.0"
  49.  
  50. prints.log.title:
  51.   CLS
  52. getinfo: CLOSE
  53.  
  54.   GOSUB clr.ctrs
  55.   INPUT "Enter band for which log is desired"; band$
  56.   IF band$ <> "1.8" AND band$ <> "3.5" AND band$ <> "7.0" THEN band$=band$+" "
  57.   IF band$="1.8" THEN c=1
  58.   IF band$="3.5" THEN c=2
  59.   IF band$="7.0" THEN c=3
  60.   IF band$="14 " THEN c=4
  61.   IF band$="21 " THEN c=5
  62.   IF band$="28 " THEN c=6
  63.   
  64.  
  65.   OPEN "CQWW"+yr$+mode$ AS #2 LEN = 75
  66.   FIELD #2,3 AS bn$,8 AS dayt$,5 AS tyme$,12 AS his.ca$,6 AS my.nr$,6 AS his.nr$,2 AS nu.zo$,6 AS nu.mul$,1 AS poynt$,6 AS na$,5 AS time.prev$,5 AS time.on$,5 AS sign.in$,5 AS sign.out$
  67.   qso.ptr=LOF(2)/75
  68. again.sam:  
  69.   pg=pg+1
  70.   PRINT SPC(22);"CQ**** WORLD WIDE DX CONTEST ****CQ       Page ";pg             
  71.   PRINT:PRINT "CALL USED: ";my.cal$;"   MODE: ";mode$;SPC(8);"Log for ";band$;" Mhz. Band"
  72.   PRINT "-----------------------------------------------------------------------------"
  73.   PRINT "Date      Time   Station      SENT     RCVD    Zone   Ctry    PTS   QSO#"
  74.   PRINT "-----------------------------------------------------------------------------"
  75.  
  76. git: 'ctr=0
  77.   IF x > qso.ptr THEN GOTO last.page
  78.    x= x + 1
  79.                                 'starts qso counter                                      
  80.    GET #2, x
  81.      q$(1,1)=bn$
  82.      IF q$(1,1) <> band$ THEN  git 
  83.      q$(1,2)=dayt$
  84.      q$(1,3)=tyme$
  85.      q$(1,4)=his.ca$
  86.      q$(1,5)=my.nr$
  87.      q$(1,6)=his.nr$                
  88.      q$(1,8)=nu.mul$
  89.      q$(1,7) = nu.zo$
  90.      q$(1,9)=poynt$
  91.      pts= VAL(poynt$)
  92.      
  93.   IF band$="1.8" THEN c=1
  94.   IF band$="3.5" THEN c=2
  95.   IF band$="7.0" THEN c=3
  96.   IF band$="14 " THEN c=4
  97.   IF band$="21 " THEN c=5
  98.   IF band$="28 " THEN c=6
  99.  
  100.   IF  nu.mul$ <> "      " THEN ctr1=ctr1+1    
  101.   IF  nu.zo$ <> "  " THEN ctr1a=ctr1a+1
  102.   ctr1b = ctr1b + pts                                  
  103.   ctr1c = ctr1c + 1 
  104.   scor$(c,1)=STR$(ctr1)
  105.   scor$(c,2)=STR$(ctr1a)
  106.   scor$(c,3)=STR$(ctr1b)
  107.   scor$(c,4)=STR$(ctr1c)
  108.   PRINT q$(1,2);" ";" ";q$(1,3);"  "q$(1,4);" ";q$(1,5);"   ";q$(1,6);"  ";q$(1,7);"     ";q$(1,8);"   ";q$(1,9);"   ";x
  109.   ctr=ctr+1
  110.    IF x = LOF(2)/75  THEN GOTO last.page
  111.    IF ctr MOD 22 = 0 THEN GOSUB pageit     'puts 22 lines on screen
  112.                                'marks qso counter at end of page
  113.      GOTO git
  114.      GOTO last.page
  115.  
  116. pageit:
  117.   INPUT "More - Y/N ";mor$
  118.   mor$=UCASE$(mor$)
  119.   IF mor$ <> "Y" AND mor$ <> "N" THEN GOTO pageit
  120.   IF mor$ = "N" THEN GOTO menu.selection :ELSE RETURN
  121.   
  122.  
  123. Print.footer:
  124.   
  125.   PRINT "Band  QSO'S  Qso Points  Zones     Countries     "    'footnotes each page with statistics
  126.   PRINT band$;"    ";scor$(c,4);"        ";scor$(c,3);"       ";scor$(c,2);"      ";scor$(c,1)
  127.  
  128.   GOSUB finish
  129.   GOTO again.sam
  130.  
  131. clr.ctrs: pg=0 
  132.   x=0
  133.   ctr=0 
  134.   ctr1=0        'Country mult counter
  135.   ctr1a=0       'Zone mult counter
  136.   ctr1b=0       'Qso point counter         
  137.   ctr1c=0       'Band qso counter
  138.   RETURN
  139.  
  140. prints.mult.list:
  141.    CLS
  142.   LOCATE 8,5:PRINT "1. View Country Multiplier List."
  143.   LOCATE 10,5:PRINT "2. View Zone Multiplier List."
  144.   LOCATE 12,5:PRINT "3. Main Menu."
  145.   LOCATE 15,5:INPUT "Pick a number " ,  m$
  146.   IF m$ <> "1" AND m$ <> "2" AND m$ <> "3" THEN prints.mult.list
  147.   IF m$ = "1" THEN GOTO git.a.mult
  148.   IF m$ = "2" THEN GOTO git.a.mult
  149.   IF m$ = "3" THEN GOTO menu.selection
  150.  
  151.  
  152. last.page:
  153.   PRINT "Band   QSO's   Qso Points  Zones   Countries    "    'footnotes each page with statistics
  154.   PRINT band$;"    ";scor$(c,4);"       ";scor$(c,3);"        ";scor$(c,2);"        ";scor$(c,1)
  155.   GOSUB finish
  156.   PRINT CHR$(12)
  157.   GOTO menu.selection
  158.  
  159. finish:
  160.   PRINT:PRINT
  161.   PRINT "<Press any key to continue.>";
  162.   hit$ = INPUT$(1) 
  163.   RETURN
  164.  
  165. prints.title:
  166.   CLS
  167.   IF pn$ = "3" THEN tit$ = "DUPE"
  168.   IF m$ = "1" THEN tit$ = "COUNTRY"
  169.   IF m$ = "2" THEN tit$ = "ZONE"
  170.   PRINT TAB(9);"Call...: ";my.cal$;"      CQWW DX CONTEST " ;tit$;" CHECKSHEET"
  171.   PRINT:PRINT 
  172.   RETURN
  173.  
  174. menu.first:
  175.    pg=0:x=0
  176.    RETURN
  177.  
  178. prints.dupe.sheet: CLOSE
  179.   OPEN "CQWW"+yr$+mode$ AS #2 LEN = 75
  180.   FIELD #2,3 AS bn$,8 AS dayt$,5 AS tyme$,12 AS his.ca$,6 AS my.nr$,6 AS his.nr$,2 AS nu.zo$,6 AS nu.mul$,1 AS poynt$,6 AS na$,5 AS time.prev$,5 AS time.on$,5 AS sign.in$,5 AS sign.out$
  181.   qso.ptr=LOF(2)/75
  182.  
  183.   xd=0
  184.   IF pn$ = "3" THEN GOSUB git.a.call
  185.   IF m$ = "1" THEN GOSUB git.a.ctry 
  186.   IF m$ = "2" THEN GOSUB git.a.zone                
  187.   GOSUB shell.sort
  188.   GOTO dupe.output                          
  189.  
  190. git.a.call:xd=0                                   
  191.   FOR xd=1 TO LOF(2)/75
  192.   GET #2, xd 
  193.   a$(xd)=bn$+"  "+his.ca$
  194.     NEXT xd
  195.   RETURN
  196.  
  197. git.a.ctry:xd=0                                   
  198.   FOR xd=1 TO LOF(2)/75
  199.   GET #2, xd 
  200.   a$(xd)=bn$+"  "+na$
  201.     NEXT xd
  202.   RETURN
  203.  
  204. git.a.zone: xd=0                                
  205.   FOR xd=1 TO LOF(2)/75
  206.   GET #2, xd
  207.      a$(xd)=bn$+"  "+nu.zo$
  208.     NEXT xd
  209.   RETURN
  210.  
  211. shell.sort:           
  212.   z=xd
  213.   T=xd-1
  214.   CLS
  215.  
  216. shell.algorithm:
  217.   n=LOF(2)/75
  218.   l=(2^INT(LOG(n)/LOG(2)))-1
  219.  
  220. start:
  221.   l=INT(l/2)
  222.   IF l < 1 THEN sorted.output
  223.   FOR j = 1 TO l
  224.   FOR k=j + l TO n STEP l
  225.    i=k
  226.     T$=a$(i)
  227.     compare:
  228.     IF a$(i-l) <= T$ THEN substitute
  229.     a$(i)=a$(i-l)
  230.    i=i-l
  231.    IF i > l THEN compare
  232.  
  233. substitute:
  234.   a$(i)=T$
  235.     LOCATE 1,1: PRINT T$   
  236.       NEXT k
  237.     NEXT j
  238.   GOTO start
  239.  
  240. sorted.output:
  241.   GOSUB prints.title
  242.   PRINT
  243.   FOR xd=1 TO n
  244.   IF m$="1" THEN PRINT a$(xd),
  245.   IF m$="2" THEN PRINT a$(xd),                     'prints mults in alpha/num sequence by band
  246.   IF pn$="3" THEN PRINT  a$(xd)"  ";              'prints calls in alpha/num sequence
  247.    IF xd MOD 100 = 0 THEN GOSUB pageit         'puts 100 calls on screen
  248.     NEXT xd
  249.   GOSUB finish
  250.   PRINT CHR$(13) CHR$(12)
  251.   GOTO menu.selection
  252.  
  253. git.a.mult: CLOSE
  254.   OPEN "CQWW"+yr$+mode$ AS #2 LEN = 75
  255.   FIELD #2,3 AS bn$,8 AS dayt$,5 AS tyme$,12 AS his.ca$,6 AS my.nr$,6 AS his.nr$,2 AS nu.zo$,6 AS nu.mul$,1 AS poynt$,6 AS na$,5 AS time.prev$,5 AS time.on$,5 AS sign.in$,5 AS sign.out$
  256.   qso.ptr=LOF(2)/75
  257.   IF m$ = "1" THEN ctryit
  258.   IF m$ = "2" THEN zoneit
  259.   
  260.  
  261. ctryit:                                
  262.   FOR xd=1 TO LOF(2)/75
  263.   GET #2, xd
  264.    IF nu.mul$="      " THEN a$(xd)=" " :ELSE a$(xd)=bn$+" "+nu.mul$
  265.    NEXT
  266.   GOTO shell.sort
  267.  
  268. zoneit:                                
  269.   FOR xd=1 TO LOF(2)/75
  270.   GET #2, xd
  271.    IF nu.zo$="  " THEN a$(xd)=" " :ELSE a$(xd)=bn$+"  "+nu.zo$
  272.    NEXT
  273.   GOTO shell.sort
  274.  
  275.  
  276. prints.summary.sheet:
  277.   PRINT TAB(35);year$
  278.   PRINT TAB(22);"CQ**** WORLD WIDE DX CONTEST ****CQ"
  279.   PRINT STRING$(77,"-")
  280.   PRINT:PRINT TAB(15);"CALL SIGN: ";my.cal$;TAB(45);"COUNTRY: ";myctry$    
  281.   PRINT:PRINT TAB(5);"MODE: ";mode$;TAB(20);"( )Single Op.,All Band      ( )Multi-Op Single Transmitter"
  282.   PRINT TAB(20);"( )Single Op.____MHz        ( )Multi-Op. Multi-Transmitter"
  283.  PRINT "    QRP-5w or less:( ) "
  284.      PRINT
  285.   PRINT SPC(5);"Band   Valid QSOs  QSO Points  Zone Mult Ctry Mult  Score"
  286.   PRINT SPC(5);STRING$(72,"-")
  287.   PRINT TAB(7);"160";TAB(15);scor$(1,4);TAB(27);scor$(1,3)TAB(39);scor$(1,2);TAB(50);scor$(1,1);TAB(60);(VAL(scor$(1,1))+VAL(scor$(1,2)))*VAL(scor$(1,3))  
  288.   PRINT TAB(7);"80";TAB(15);scor$(2,4);TAB(27);scor$(2,3)TAB(39);scor$(2,2);TAB(50);scor$(2,1);TAB(60);(VAL(scor$(2,1))+VAL(scor$(2,2)))*VAL(scor$(2,3)) 
  289.   PRINT TAB(7);"40";TAB(15);scor$(3,4);TAB(27);scor$(3,3)TAB(39);scor$(3,2);TAB(50);scor$(3,1);TAB(60);(VAL(scor$(3,1))+VAL(scor$(3,2)))*VAL(scor$(3,3))  
  290.   PRINT TAB(7);"20";TAB(15);scor$(4,4);TAB(27);scor$(4,3)TAB(39);scor$(4,2);TAB(50);scor$(4,1);TAB(60);(VAL(scor$(4,1))+VAL(scor$(4,2)))*VAL(scor$(4,3)) 
  291.   PRINT TAB(7);"15";TAB(15);scor$(5,4);TAB(27);scor$(5,3)TAB(39);scor$(5,2);TAB(50);scor$(5,1);TAB(60);(VAL(scor$(5,1))+VAL(scor$(5,2)))*VAL(scor$(5,3))
  292.   PRINT TAB(7);"10";TAB(15);scor$(6,4);TAB(27);scor$(6,3)TAB(39);scor$(6,2);TAB(50);scor$(6,1);TAB(60);(VAL(scor$(6,1))+VAL(scor$(6,2)))*VAL(scor$(6,3)) 
  293.   PRINT SPC(5);STRING$(72,"-")
  294.   tot4=VAL(scor$(1,4))+VAL(scor$(2,4))+VAL(scor$(3,4))+VAL(scor$(4,4))+VAL(scor$(5,4))+VAL(scor$(6,4)) 
  295.   tot3=VAL(scor$(1,3))+VAL(scor$(2,3))+VAL(scor$(3,3))+ VAL(scor$(4,3))+VAL(scor$(5,3))+VAL(scor$(6,3)) 
  296.   tot2=VAL(scor$(1,2))+VAL(scor$(2,2))+VAL(scor$(3,2))+ VAL(scor$(4,2))+VAL(scor$(5,2))+VAL(scor$(6,2))
  297.   tot1=VAL(scor$(1,1))+VAL(scor$(2,1))+VAL(scor$(3,1))+ VAL(scor$(4,1))+VAL(scor$(5,1))+VAL(scor$(6,1)) 
  298.   PRINT TAB(3);"ALL BANDS";TAB(15);tot4;TAB(27);tot3;TAB(39);tot2;TAB(50);tot1;TAB(60);tot3*(tot1+tot2)
  299.   PRINT TAB(60);
  300.   PRINT STRING$(77,"-")
  301.  
  302.   GOSUB finish 
  303.   PRINT:PRINT "Station Description:";STRING$(55,"_")
  304.   PRINT:PRINT STRING$(77,"_")
  305.   PRINT:PRINT "Antenna(s): ";STRING$(67,"_")
  306.   PRINT:PRINT STRING$(77,"_")
  307.   PRINT:PRINT "Operators:"; STRING$(67,"_")
  308.   PRINT:PRINT STRING$(77,"_")
  309.   PRINT:PRINT "Remarks: ";STRING$(67,"_")
  310.   PRINT:PRINT STRING$(77,"_")
  311.   PRINT:PRINT STRING$(77,"_")
  312.   GOSUB finish
  313.   PRINT:PRINT "Club Competition / Minimum 3 logs:";STRING$(43,"_")
  314.   PRINT:PRINT "This is to certify that in this contest I have operated my transmitter
  315.   PRINT "within the limitations of my license and have observed fully the rules and
  316.   PRINT "regulations of the contest."
  317.   PRINT "Signature";STRING$(67,"_")
  318.   PRINT "Type or Print"
  319.   PRINT:PRINT "Name";STRING$(47,"_");"Call";STRING$(20,"_")
  320.   PRINT:PRINT "Address";STRING$(67,"_")
  321.   PRINT:PRINT "City";STRING$(67,"_")
  322.   PRINT:PRINT "State or Country";STRING$(35,"_");"ZIP";STRING$(20,"_")
  323.   GOSUB finish
  324.   PRINT CHR$(13) CHR$(12)
  325.   GOTO menu.selection
  326.  
  327. prints.labels:
  328.   CLOSE 
  329.   CLS
  330.   OPEN "CQWW"+yr$+mode$ AS #2 LEN = 75
  331.   FIELD #2,3 AS bn$,8 AS dayt$,5 AS tyme$,12 AS his.ca$,6 AS my.nr$,6 AS his.nr$,2 AS nu.zo$,6 AS nu.mul$,1 AS poynt$,6 AS na$,5 AS time.prev$,5 AS time.on$,5 AS sign.in$,5 AS sign.out$
  332.   qso.ptr=LOF(2)/75
  333.   i=0
  334.   LOCATE 3,5:INPUT "Do you want to print (I)ndividual or (A)ll labels? "; an$
  335.   an$=UCASE$(an$)                        'makes entries case blind
  336.   IF an$ <> "I" AND an$ <> "A" THEN GOTO prints.labels  'accepts only i or a
  337.   IF an$ = "I" THEN GOTO retrieve
  338.   IF an$ = "A" THEN GOTO git.by.call
  339.   
  340. make.labels:
  341.   PRINT
  342.   PRINT "Confirming QSO with ";q$(1,4)              'prints all labels
  343.   PRINT "DATE ";q$(1,2);": UTC ";q$(1,3)
  344.   PRINT "BAND ";q$(1,1);" Mhz ";mode$;": MY NR ";q$(1,5)
  345.   PRINT "TNX UR CQWW DX NR ";q$(1,6)
  346.   PRINT "73, CU NEXT YR. -- ";my.nam$
  347.   PRINT
  348.   RETURN
  349.  
  350. make.a.label:
  351.   PRINT                                               'prints one label
  352.   PRINT "Confirming QSO with ";qc$(1,4)
  353.   PRINT "DATE ";qc$(1,2);": UTC ";qc$(1,3)
  354.   PRINT "BAND ";qc$(1,1);" Mhz ";mode$;": MY NR ";qc$(1,5)
  355.   PRINT "TNX UR CQWW DX NR ";qc$(1,6)
  356.   PRINT "73, CU NEXT YR. -- ";my.nam$
  357.   PRINT
  358.   an$=""
  359.   GOTO retrieve
  360.  
  361. correct.log:
  362.   CLS
  363.   CLOSE
  364.   OPEN "CQWW"+yr$+mode$ AS #2 LEN = 75
  365.   FIELD #2,3 AS bn$,8 AS dayt$,5 AS tyme$,12 AS his.ca$,6 AS my.nr$,6 AS his.nr$,2 AS nu.zo$,6 AS nu.mul$,1 AS poynt$,6 AS na$,5 AS time.prev$,5 AS time.on$,5 AS sign.in$,5 AS sign.out$
  366.   qso.ptr=LOF(2)/75
  367.   
  368.  
  369. retrieve:
  370.   PRINT SPC(5):INPUT "Enter band or Press (M) for Menu";ans$
  371.   ans$=UCASE$(ans$)
  372.   IF ans$="M" THEN GOTO menu.selection :ELSE band$=ans$
  373.   IF band$ <> "160" THEN band$=band$+" "   'adds space to other bands for matching
  374.   INPUT "Retrieve by (C)all or (S)erial Number ";rt$
  375.   rt$=UCASE$(rt$)
  376.   IF rt$="S" THEN INPUT "Enter serial nr. ";i: GOTO git.by.ptr
  377.   INPUT "Enter Call "; cal$
  378.   cal$=UCASE$(cal$)
  379.   GOTO get.call
  380.  
  381. git.by.call:                        'This array used getting info
  382.   FOR qso.ptr = 1 TO LOF(2)/75       'for printing (A)ll labels
  383.    GET #2, qso.ptr
  384.      q$(1,1)=bn$
  385.      q$(1,2)=dayt$
  386.      q$(1,3)=tyme$
  387.      q$(1,4)=his.ca$
  388.      q$(1,5)=my.nr$
  389.      q$(1,6)=his.nr$                
  390.      q$(1,7)=nu.zo$   
  391.      q$(1,8) = nu.mul$
  392.      q$(1,9)=poynt$
  393.      pts= VAL(poynt$)
  394.      GOSUB make.labels
  395.      IF qso.ptr <> LOF(2)/75  THEN NEXT :ELSE GOSUB finish:GOTO menu.selection
  396.     
  397. get.call: x=0 :ctr=0
  398.   
  399. goagn:                              
  400.     FOR i = 1 TO qso.ptr
  401.    GET #2, i
  402.      q$(1,1)=bn$
  403.      ctr=INSTR(his.ca$," ")
  404.      q$(1,4)=LEFT$(his.ca$,ctr-1)
  405.      IF q$(1,1)=band$ AND q$(1,4) = cal$ THEN git.by.ptr :ELSE NEXT
  406.    PRINT "Call not found!":BEEP:BEEP:GOTO retrieve
  407.                                         
  408. git.by.ptr:                                 
  409.   CLS                            'This array used for correcting log entry
  410.   GET #2, i                      'and getting info for printing single labels
  411.      qc$(1,1)=bn$
  412.      qc$(1,2)=dayt$
  413.      qc$(1,3)=tyme$
  414.      qc$(1,4)=his.ca$
  415.      qc$(1,5)=my.nr$
  416.      qc$(1,6)=his.nr$                
  417.      qc$(1,7)=nu.zo$   
  418.      qc$(1,8)=nu.mul$
  419.      qc$(1,9)=poynt$
  420.      
  421.     
  422.   IF an$ = "I"  THEN GOTO make.a.label
  423.  
  424. Correct.entry:
  425.   PRINT "NOTE: Enter spaced Quotation Marks to delete an entry"
  426.   PRINT:
  427.   PRINT "Band  Date      Time   Station      SENT    RCVD   N Zone  N Ctry    PTS"
  428.   PRINT qc$(1,1);"   ";qc$(1,2);"  ";qc$(1,3);"  "qc$(1,4);"  ";qc$(1,5);"  ";qc$(1,6);"  ";qc$(1,7);"  ";qc$(1,8);"       ";qc$(1,9)
  429.    INPUT "Band    :",ba$
  430.    IF ba$ <> "" THEN qc$(1,1)=ba$ 
  431.    INPUT "Date    :",m.dat$
  432.    IF m.dat$ <> "" THEN qc$(1,2)=m.dat$
  433.    INPUT "Time    :",m.time$
  434.    IF m.time$ <> "" THEN qc$(1,3)=m.time$
  435.    INPUT "Station :", h.cal$
  436.    h.cal$=UCASE$(h.cal$)
  437.    IF h.cal$ <> "" THEN  qc$(1,4)=h.cal$
  438.    INPUT "Sent    :",m.numb$
  439.    IF m.numb$ <> "" THEN qc$(1,5)=m.numb$ 
  440.    INPUT "Received:",h.nr$
  441.    IF h.nr$ <> "" THEN qc$(1,6)=h.nr$
  442.    INPUT "New Zone:",n.zo$ 
  443.    IF n.zo$ <> "" THEN qc$(1,7)=n.zo$
  444.    INPUT "New Mult:",n.mul$
  445.    n.mul$=UCASE$(n.mul$)
  446.    IF n.mul$ <> "" THEN qc$(1,8)=n.mul$
  447.    INPUT "Points  :",pint$
  448.    IF pint$ <> "" THEN qc$(1,9)=pint$
  449.    PRINT "Band  Date      Time   Station      SENT     RCVD    N Zone  N Ctry      PTS"
  450.    PRINT qc$(1,1);"   ";qc$(1,2);" ";qc$(1,3);" ";" ";qc$(1,4);"  ";qc$(1,5);"  ";qc$(1,6);"  ";qc$(1,7);"  ";qc$(1,8);"   ";qc$(1,9)    
  451.   inky:a$=INKEY$:IF a$="" THEN inky     'pause routine
  452. File.it:             'enters corrected or non-corrected log record
  453.   LSET bn$ = qc$(1,1) 
  454.   LSET dayt$ = qc$(1,2)
  455.   LSET tyme$ = qc$(1,3)
  456.   LSET his.cal$ = qc$(1,4)
  457.   LSET my.nr$ = qc$(1,5)
  458.   LSET his.nr$ =qc$(1,6)
  459.   LSET nu.zo$ = qc$(1,7)
  460.   LSET nu.mul$ =qc$(1,8)
  461.   LSET poynt$ = qc$(1,9)
  462.   
  463.     PUT #2, i                 
  464.   CLS
  465.   GOTO retrieve
  466.  
  467.  
  468.