home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / log / g3zcz15 / contst16.2 < prev    next >
Text File  |  1985-09-28  |  7KB  |  198 lines

  1. 10 PRINT"G3ZCZ General Contest Program Version 1.6"\REM VER 830911"
  2. 20 INPUT"Roughly how many QSO's do you expect to make ? ",M9
  3. 25 ERRSET 2000,E1,E2
  4. 30 IFM9<100 THEN PRINT"OPTIMIST !"
  5. 40 DIMW$(M9*10),C4$(17),F1(M9)
  6. 50 C4$="QRCXFLBMDWT*SH"
  7. 60 DIMB(5)\B(1)=1\B(2)=4\B(3)=16\B(4)=64\B(5)=256
  8. 65 DIMB1(5)\B1(1)=10\B1(2)=15\B1(3)=20\B1(4)=40\B1(5)=80
  9. 110 GOSUB 5010\X=0\GOSUB5005\IFX=1THEN5045ELSEGOSUB5050
  10. 120 OPEN #1,L1$
  11. 145 IFN=0THEN220
  12. 150 PRINT"Loading check list"
  13. 160 FOR I1=1TON
  14. 170 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  15. 175 IFC$ <> "/*"THEN177ELSEN4=N4-1\IFN4<0THENN4=0\GOTO200
  16. 177 PRINT C$
  17. 180 GOSUB840\IFI=0THEN190ELSEGOSUB960
  18. 190 GOSUB962
  19. 195 N4=N4+1
  20. 200 NEXTI1\C8$=C$
  21. 210 I=I1-1\GOSUB1020\N=I
  22. 220 GOSUB1040
  23. 230 N=N+1
  24. 240 GOSUB 1000
  25. 250 IFN>M9-5THENPRINT"CHECK LIST IS ALMOST FULL"
  26. 251 INPUT1"-? ",A$\IFA$=""THEN250
  27. 252 A$=A$(1,1)
  28. 260 FOR J2=1TOLEN(C4$)\IFA$(1,1)=C4$(J2,J2)THENEXIT280
  29. 270 NEXT \!CHR$(7)\ GOTO250
  30. 280 PRINT TAB(5),\GOSUB 980\GOTO250
  31. 290 INPUT"REPORT RECEIVED ? ",X$
  32. 300 RETURN
  33. 310 INPUT"REPORT SENT ? ",S
  34. 315 IF S>599 THEN310
  35. 320 RETURN
  36. 350 INPUT"Day (1-31) ?  ",D1\IFD1<1ORD1>31THEN350
  37. 360 INPUT"Month ( 1 - 12 ) ?  ",D2\IFD2<0ORD2>12THEN360
  38. 370 INPUT "Year (19xx) ? ",D3 \ IF D3<1900 THEN 370
  39. 380 D3 = D3 - 1900
  40. 390 RETURN
  41. 400 INPUT "Power (watts) ?  ",P
  42. 410 RETURN
  43. 420 INPUT "Freq/Band ?  ",F\IF INT(F)>999THEN420
  44. 422 FORQ=1TO5\IFB1(Q)=FTHENEXIT430\NEXT\GOTO420
  45. 430 RETURN
  46. 440 INPUT "Mode ?  ",M$\IFM$=""THEN440
  47. 450 IF M$(1,1)<>" "THEN460ELSEM$=M$(2,LEN(M$))\GOTO450
  48. 460 RETURN
  49. 470 INPUT"Call sign ?  ",A$\IFLEN(A$)=0THEN510
  50. 480 IFA$(1,1)<>" "THEN490ELSEA$=A$(2,LEN(A$))\GOTO480
  51. 490 C$=A$\GOSUB840
  52. 500 IFI=1THEN!"OK"ELSE!"WORKED",CHR$(7)," on ",
  53. 502 IFI=1THEN510\F2=F1(J)
  54. 503 FORQ=5TO1STEP-1
  55. 504 IFF2<B(Q)THEN508
  56. 506 PRINTB1(Q)," ",\F2=F2-B(Q)\IFB1(Q)=FTHEN!"DUPLICATE ",
  57. 508 NEXT\IFF2>1THEN503
  58. 510 !\RETURN
  59. 520 INPUT "Time ?  ",T\IFT>2400THEN520
  60. 530 RETURN
  61. 660 IF D2>0THEN670ELSE!"Enter the date first please !"\RETURN
  62. 670 REM
  63. 675 I=N \ PRINT
  64. 685 GOSUB 5020 \ RETURN
  65. 690 RETURN
  66. 695 INPUT"ARE YOU SURE ? ",A$\IF A$=""THEN695ELSE IF A$(1,1)<>"Y"THENRETURN
  67. 698 GOSUB1040\C$="/*"\C8$=C$\N4=N4-1\IFN4<0THENN4=0
  68. 700 D1=INT(D1) \D2=INT(D2)\D3=INT(D3)\S=INT(S)
  69. 710 R=INT(R)\P=INT(P)
  70. 720 S8=0\GOSUB840\GOSUB962\IFI=0THEN730ELSEGOSUB960
  71. 730 GOSUB5035
  72. 735 N=N+1\IF C$="/*"THEN760
  73. 738 N4=N4+1
  74. 740 C8$=C$
  75. 750 GOSUB 1040
  76. 760 GOTO 1000
  77. 770 IFN>0THENN=N-1
  78. 790 CLOSE #1
  79. 800 OPEN#0,L2$
  80. 810 WRITE #0,N
  81. 820 CLOSE #0
  82. 830 GOTO 5045\REM EXIT
  83. 840 IF C$="/*"THEN940
  84. 850 J=0 \ FOR I=1TOLEN(C$)
  85. 860 J=J+ASC(C$(I,I))-47\NEXT
  86. 870 J=J*10
  87. 880 IF J<M9 THEN 890 ELSE J=J-M9\GOTO880
  88. 890 D$=W$(J*10+1,J*10+10)
  89. 900 IF D$(1,1)=" "THEN 950
  90. 910 IF D$(1,LEN(C$))=C$THEN940
  91. 920 J=J+1\IFJ>=M9THENJ=J-M9
  92. 930 GOTO 890
  93. 940 I=0\RETURN
  94. 950 I=1\RETURN
  95. 960 W$(J*10+1,J*10+10)=C$\RETURN
  96. 962 FORQ=1TO5\IFF=B1(Q)THENF1(J)=F1(J)+B(Q)
  97. 964 NEXT\RETURN
  98. 980 ONJ2GOTO660,290,470,310,695,700,420,440,350,400,520,770,1000,2205
  99. 1000 !CHR$(26),CHR$(12)\!"NEXT QSO= ",N4+1,TAB(20),"LAST QSO=",C8$,TAB(40),
  100. 1002 !"TIME= ",T\!"Band/Freq =  ",F,TAB(20),"Log file is ",L$
  101. 1005 PRINT "THERE ARE ",N-1," ENTRIES IN THE LOG"
  102. 1010 RETURN
  103. 1020 GOSUB5015\GOSUB5020
  104. 1030 INPUT"HIT RETURN WHEN READY",A$\RETURN
  105. 1040 C$="?"\Z$=C$\Z2$=Z$\Z3$=Z$\Z4$=Z$\R=0\S=0\Y1=0\X$=""
  106. 1045 S=59
  107. 1050 RETURN
  108. 2000 ERRSET 2000,E1,E2
  109. 2002 IF E1>500 AND E1<510 THEN 510
  110. 2005 IFE1=480 THEN 470
  111. 2015 IF E1=5560 THEN 5570
  112. 2020 IF E1=5650 THEN 5670
  113. 2030 IF E2<>8 THEN 2040ELSE!"HARD DISC ERROR"\GOTO 2100
  114. 2040 IF E2<>7 THEN 2050ELSE!"FILE ERROR"\GOTO 2100
  115. 2050 IF E2=15 THEN 790
  116. 2055 IF E1=251THEN251
  117. 2090 !"ERROR ",E2," AT LINE ",E1 \ GOTO 790
  118. 2100 GOTO 5045
  119. 2205 INPUT"Which Prefix ? ",P9$\IFP9$=""THEN2295
  120. 2215 I=0\FORJ=0TOM9-1\IFP9$="*"THEN2217ELSE2220
  121. 2217 IFW$(J*10+1,J*10+1)=" "THEN2255ELSE2225
  122. 2220 IFW$(J*10+1,J*10+LEN(P9$))=P9$THEN2225ELSE2255
  123. 2225 PRINTW$(J*10+1,J*10+10),TAB(I*10),\I=I+1\IFI<6THEN2255
  124. 2245 I=0\PRINT
  125. 2255 NEXT\PRINT
  126. 2295 RETURN
  127. 5000 REM SUBROUTINE PACKAGE VER 791008
  128. 5005 GOTO 5550 \ REM GET STNDATA
  129. 5010 GOTO 5060 \ REM SET UP VARIABLES & CONSTANTS
  130. 5015 GOTO 5180 \ REM PRINT TITLE LINE
  131. 5020 GOTO 5110 \ REM PRINT LINE OF DATA
  132. 5025 GOTO 5600 \ REM READ ENTRY FROM DISC
  133. 5030 GOTO 5500 \ REM PRINT HEADING
  134. 5035 GOTO 5620 \ REM WRITE ENTRY TO  DISC
  135. 5040 GOTO 5230 \ DETERMINE OUTPUT DEVICE
  136. 5045 STOP
  137. 5050 GOTO 5260 \ REM DETERMINE NAME OF LOG FILE & GET N
  138. 5060 DIMX$(64) \ P1=66\P2=1
  139. 5065 DIMM1$(36)\M1$="JanFebMarAprMayJunJulAugSepOctNovDec"
  140. 5070 T0 = 9 \ T1=T0+ 4 \ T2= T1+ 3 \ T3 = T2 +3
  141. 5075 T4=T3+10\T5=T4+10\T6=T5+4\T7=T6+5\T8=T7+4\T9=T8+6
  142. 5080 DEF FNT$(V)
  143. 5085 V1=INT(V/1000)\V2=INT((V-V1*1000)/100)
  144. 5090 V3=INT((V-V1*1000-V2*100)/10)\V4=INT(V-V1*1000-V2*100-V3*10)
  145. 5095 RETURN CHR$(48+V1)+CHR$(48+V2)+CHR$(48+V3)+CHR$(48+V4)
  146. 5096 FNEND
  147. 5100 RETURN
  148. 5110 PRINT #A,%5I,I,TAB(6),%2I,D1,TAB(T0),M1$((D2-1)*3+1,(D2-1)*3+3),
  149. 5112 PRINT #A,TAB(T1),%2I,D3,TAB(T2),
  150. 5115 T$=FNT$(T)
  151. 5120 PRINT #A,T$,TAB(T3),%Z8F3,F,TAB(T4),C$,TAB(T5),%3I,S,TAB(T6),
  152. 5130 PRINT #A,%3I,R,TAB(T7),M$,TAB(T8),%4I,P,TAB(T9),
  153. 5140 IF Q1=1 THEN PRINT#A,"S", ELSE PRINT#A,"-",
  154. 5150 IF Q2=1 THEN PRINT#A,"R", ELSE PRINT#A,"-",
  155. 5160 PRINT#A,"  ",X$
  156. 5165 P1=P1-1\IFP1>2THEN5170 ELSE P1=66\P2=P2+1\!#A\!#A"-"\!#A\GOSUB5500
  157. 5170 RETURN
  158. 5180 PRINT#A,"QSO #",TAB(5),"   DATE",TAB(T1+3),"TIME",TAB(T3),
  159. 5190 PRINT#A," BAND",TAB(T4),"STATION",TAB(T5)," S",TAB(T6),
  160. 5200 PRINT#A," R",TAB(T7-1),"MODE",TAB(T8)," PWR",TAB(T9),
  161. 5210 PRINT#A,"QSL  COMMENTS"
  162. 5220 RETURN
  163. 5230 INPUT"Which output device (0-7) ? ",A
  164. 5240 IF A>7 OR A<0 THEN 5230
  165. 5250 RETURN
  166. 5260 INPUT"What is the name of the log file ? ",L$\IFL$=""THEN5260
  167. 5270 INPUT"Which drive is it on ? ",D$\IFD$=""THEN 5270
  168. 5275 IF LEN(D$)>1THEN5270
  169. 5310 L1$=L$+","+D$ \ REM LOG FILE
  170. 5320 L2$="*"+L$+","+D$
  171. 5325 IF FILE(L1$)=3 THEN 5327 ELSEPRINT"LOG FILE IS NOT ON DISC"\GOTO5045
  172. 5327 IF FILE(L2$)=3 THEN 5330 ELSEPRINT"LOG POINTER FILE ERROR"\GOTO 5045
  173. 5330 OPEN#2,L2$
  174. 5340 READ#2,N
  175. 5350 CLOSE#2
  176. 5360 RETURN
  177. 5500 PRINT#A\PRINT#A,"STATION LOG  ",C9$,TAB(32),"PAGE",P2,
  178. 5510 PRINT#A,TAB(48),"FILE ",L1$\P1=P1-4\GOTO 5180
  179. 5550 X1$="STNDATA,"
  180. 5555 FOR I=1 TO 4\ I$=STR$(I) \ X$=X1$+I$(2,2)
  181. 5560 IF FILE(X$)=3 THEN EXIT 5590
  182. 5565 NEXT
  183. 5570 PRINT"STNDATA file is not on system"\ X=1\RETURN
  184. 5590 OPEN#2,X$ \ READ#2,L$,C9$ \ CLOSE#2
  185. 5595 RETURN
  186. 5600 READ #0,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  187. 5610 RETURN
  188. 5620 WRITE#1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  189. 5625 PRINT#7 C$," ",T," ",X$
  190. 5630 RETURN
  191. 5640 FOR I=1 TO 4
  192. 5650 IF FILE ("SYSTEM,"+STR$(I))=2 THEN EXIT 5690
  193. 5660 NEXT
  194. 5670 PRINT"put the SYSTEM disc in the computer, then hit 'RETURN'"
  195. 5680 INPUT "",A$ \ GOTO 5640
  196. 5690 CHAIN "SYSTEM,"+STR$(I)
  197. 5695 REM ERROR  E1<>5650 THEN +10 ELSE I>4 THEN 5670 ELSE 5660
  198.