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

  1. 5  REM VER 791116
  2. 10 PRINT"G3ZCZ Sweepstakes Contest Program Version 2.0"
  3. 15 ERRSET 2000,E1,E2
  4. 20 INPUT"Roughly how many QSO's do you expect to make ? ",M9
  5. 30 IFM9<100 THEN PRINT"OPTIMIST !!!!"
  6. 40 DIMW$(M9*10),C4$(17),S$(75*2),S(75)
  7. 50 C4$="QSRPNCKXFLBMDIWT*"
  8. 60  S$="CTEMMENHRIVTWMMAENNYNNSNWNQBDEEPMDWPON"
  9. 70  S$=S$+"ALGAKYNCNFSCSFTNVAWIMNAKLAMSNMNTOKSTCZSK"
  10. 80  S$=S$+"EBLAORSBSCSDSFSJSVPAABAZIDMTNVORUTWAAKWYBCMIOHWVNWILINWS"
  11. 90  S$=S$+"COIAKSMNMONBNDSD"
  12. 100 DATA 7,13,18,29,38,49,59,63,66,74
  13. 110 GOSUB 5010\X=0\GOSUB5005\IFX=1THEN5045ELSEGOSUB5050
  14. 120 OPEN #1,L1$
  15. 145 IFN=0THEN220
  16. 150 PRINT"Loading check list"
  17. 160 FOR I1=1TON
  18. 170 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  19. 175 IFC$<>"/*"THEN180ELSE200
  20. 180 GOSUB840\IFI=0THEN190ELSEGOSUB960\GOSUB1060
  21. 190 GOSUB1080\GOSUB970
  22. 195 N4=N4+1
  23. 196 PRINT I1,TAB(6),C$,TAB(18),Z4$
  24. 200 NEXTI1\C8$=C$
  25. 210 I=I1-1\GOSUB1020\N=I
  26. 220 GOSUB1040
  27. 230 N=N+1
  28. 240 GOSUB 1000\GOSUB1260
  29. 250 IF N>M9-5 THEN PRINT"CHECK LIST IS ALMOST FULL"
  30. 251 INPUT1"-?",A$\IFA$=""THEN250
  31. 255 IFLEN(A$)>1THEN250
  32. 260 FOR J2=1TOLEN(C4$)\IFA$(1,1)=C4$(J2,J2)THENEXIT280
  33. 270 NEXT \PRINTCHR$(7)\ GOTO250
  34. 280 PRINT TAB(5),\GOSUB 980\GOTO250
  35. 290 INPUT"REPORT RECEIVED ? ",R
  36. 300 RETURN
  37. 310 INPUT"REPORT SENT ? ",S
  38. 315 IFS>599THEN315
  39. 320 RETURN
  40. 350 INPUT"Day (1-31) ?  ",D1\IFD1<1ORD1>31THEN350
  41. 360 INPUT"Month ( 1 - 12 ) ?  ",D2\IFD2<0ORD2>12THEN360
  42. 370 INPUT "Year (19xx) ?",D3 \ IF D3<1900 THEN 370
  43. 380 D3 = D3 - 1900
  44. 390 RETURN
  45. 400 INPUT "Power (watts) ?  ",P
  46. 410 RETURN
  47. 420 INPUT "Freq/Band ?  ",F\IFF>999THEN420
  48. 430 RETURN
  49. 440 INPUT "Mode ?  ",M$\IFM$=""THEN440
  50. 450 IF M$(1,1)<>" "THEN460ELSEM$=M$(2,LEN(M$))\GOTO450
  51. 460 RETURN
  52. 470 INPUT"Call sign ?  ",A$\IFLEN(A$)=0THEN510
  53. 480 IFA$(1,1)<>" "THEN490ELSEA$=A$(2,LEN(A$))\GOTO480
  54. 490 C$=A$\GOSUB840è500 IFI=1THENPRINT"OK"ELSEPRINT"WORKED",CHR$(7)
  55. 510 RETURN
  56. 520 INPUT "Time ?  ",T\IFT>2400 THEN520
  57. 530 RETURN
  58. 540 INPUT"Number ? ",A$\IFLEN(A$)>0THENZ$=A$
  59. 550 RETURN
  60. 560 INPUT"Prec ? ",A$\IFLEN(A$)>0THENZ3$=A$
  61. 570 RETURN
  62. 580 INPUT"Check ? ",A$\IFLEN(A$)>0THENZ2$=A$
  63. 590 RETURN
  64. 600 INPUT"Section ? ",A$\IFLEN(A$)=0THEN650
  65. 610 IFLEN(A$)<2THEN600ELSEZ4$=A$
  66. 620 GOSUB1140\IFI=1THENIFS(I3)=0THENPRINT" New One"
  67. 630 IF I<>2THEN640ELSEPRINT"ENTER CALL AREA FIRST"\GOTO650
  68. 640 RETURN
  69. 650 RETURN
  70. 660 X$=Z$+Z3$+","+Z2$+","+Z4$
  71. 670 T$=FNT$(T)\PRINTT$,TAB(10),"# ",Z$," ",Z3$,TAB(20),C$,TAB(30),
  72. 680 PRINT Z2$,TAB(35),Z4$
  73. 690 RETURN
  74. 695 INPUT"ARE YOU SURE ? ",A$\IFA$=""THEN695ELSEIFA$(1,1)="Y"THEN698ELSERETURN
  75. 698 GOSUB1040\C$="/*"\IFS8=1THENS9=S9-2
  76. 700 D1=INT(D1) \D2=INT(D2)\D3=INT(D3)\S=INT(S)
  77. 705 X$=Z$+Z3$+","+Z2$+","+Z4$
  78. 710 R=INT(R)\P=INT(P)
  79. 720 S8=0\GOSUB840\IFI=0THEN730ELSEGOSUB960\GOSUB1060
  80. 730 WRITE#1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
  81. 735 N=N+1\IF C$="/*"THEN760
  82. 738 N4=N4+1
  83. 740 GOSUB1080\GOSUB970\C8$=C$
  84. 750 GOSUB 1040
  85. 760 GOTO 1000
  86. 770 IFN>0THENN=N-1
  87. 790 CLOSE #1
  88. 800 OPEN#0,L2$
  89. 810 WRITE #0,N
  90. 820 CLOSE #0
  91. 830 GOTO 5045
  92. 840 IF C$="/*"THEN940
  93. 850 J=0 \ FOR I=1TOLEN(C$)
  94. 860 J=J+ASC(C$(I,I))-47\NEXT
  95. 870 J=J*10
  96. 880 IF J<M9 THEN 890 ELSE J=J-M9\GOTO880
  97. 890 D$=W$(J*10+1,J*10+10)
  98. 900 IF D$(1,1)=" "THEN 950
  99. 910 IF D$(1,LEN(C$))=C$THEN940
  100. 920 J=J+1\IFJ>=M9THENJ=J-M9
  101. 930 GOTO 890
  102. 940 I=0\RETURN
  103. 950 I=1\RETURN
  104. 960 W$(J*10+1,J*10+10)=C$\RETURN
  105. 970 S(I3)=S(I3)+1\RETURN
  106. 980 ONJ2GOTO660,600,290,560,540,470,580,310,695,700,420,440,350,1255,400,520,770
  107. 1000 PRINT CHR$(26),CHR$(12)\PRINT\!"THERE ARE ",N-1," ENTRIES IN THE LOG"
  108. 1005 PRINT "LAST QSO WAS ..",C8$è1006 PRINT"NEXT QSO = ",N4+1
  109. 1010 RETURN
  110. 1020 GOSUB5015\GOSUB5020
  111. 1030 INPUT"HIT RETURN WHEN READY",A$\RETURN
  112. 1040 C$="?"\Z$=C$\Z2$=Z$\Z3$=Z$\Z4$=Z$\R=0\S=0\Y1=0\X$=""
  113. 1045 S=59
  114. 1050 RETURN
  115. 1060 FORI=1TOLEN(X$)\IFX$(I,I)="?"THENEXIT1050
  116. 1070 NEXT\S9=S9+2\S8=S8+1\GOTO1050
  117. 1080 FORI=1TOLEN(X$)\IFX$(I,I)=","THENEXIT1100
  118. 1090 NEXT\GOTO1115
  119. 1100 FORX4=I+1TOLEN(X$)\IFX$(X4,X4)=","THENEXIT1120
  120. 1110 NEXT
  121. 1115 PRINT"COMMENTS ARE NOT CONTEST DATA"\RETURN
  122. 1120 Z4$=X$(X4+1,LEN(X$))
  123. 1140 IFZ4$(1,1)="?"THEN1250
  124. 1150 IFC$="?"THEN1250
  125. 1155 IF C$="/*"THEN1250
  126. 1160 FOR I3=LEN(C$) TO 1 STEP -1
  127. 1170 IFASC(C$(I3,I3))>=65THEN1230
  128. 1180 IFASC(C$(I3,I3))<=47THEN1230
  129. 1190 Y=VAL(C$(I3,I3))\IFY=0THENY=10
  130. 1200 X=0\FOR I=1 TO Y \X1=X\ READ X\NEXT\RESTORE
  131. 1210 FORI3=X1TOX\IF S$(I3*2+1,I3*2+2)=Z4$(1,2)THENEXIT1240
  132. 1220 NEXT\GOTO1250
  133. 1230 NEXT\I3=0\I=0\RETURN
  134. 1240 I=1\RETURN
  135. 1250 I3=0\I=2\RETURN
  136. 1255 GOSUB 1000
  137. 1260 PRINT"DAY ",D1,D2,D3,TAB(16),"BAND ",F,TAB(32),"MODE ",M$\PRINT
  138. 1280 S7=0\Y=0\FOR I=1 TO 10
  139. 1290 READ X \IFI<9THEN1300
  140. 1295 X=X+1\IFI=10THENY=Y-1
  141. 1300 PRINTI,TAB(6),
  142. 1310 FOR J=Y TO X-1\IFS(J)=0 THEN 1320 ELSEPRINT"-- ",\S7=S7+1\GOTO1330
  143. 1320 PRINT S$(J*2+1,J*2+2)," ",
  144. 1330 NEXTJ\Y=X+1\PRINT\NEXTI
  145. 1340 RESTORE
  146. 1350 PRINT" VE",TAB(6),
  147. 1360 FORI=1 TO 8\READ X\IFS(X)=0THEN1370ELSEPRINT"-- ",\S7=S7+1\GOTO1380
  148. 1370 PRINTS$(X*2+1,X*2+2)," ",
  149. 1380 NEXT\PRINT\RESTORE\PRINT
  150. 1385 PRINT"POINTS = ",S9,TAB(16),"SECTIONS ",S7,TAB(32),"SCORE",S9*S7
  151. 1390 GOTO1005
  152. 2000 ERRSET 2000,E1,E2
  153. 2005 IF E1=480 THEN 470
  154. 2010 IF E1=5560 THEN 5570
  155. 2020 IF E1=5650 THEN 5670
  156. 2030 IF E2<>8 THEN 2040 ELSEPRINT"HARD DISC ERROR"\ GOTO2100
  157. 2040 IF E2<>7 THEN 2050 ELSE PRINT"FILE ERROR"\ GOTO 2100
  158. 2050 IF E2=15 THEN 790
  159. 2090 PRINT"ERROR ",E2," AT LINE ",E1\ GOTO790
  160. 2100 GOTO 5045
  161. 5000 REM SUBROUTINE PACKAGE VER 790822
  162.