home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 1
/
HamRadio.cdr
/
log
/
g3zcz15
/
swpstaks.2
< prev
next >
Wrap
Text File
|
1985-09-28
|
6KB
|
162 lines
5 REM VER 791116
10 PRINT"G3ZCZ Sweepstakes Contest Program Version 2.0"
15 ERRSET 2000,E1,E2
20 INPUT"Roughly how many QSO's do you expect to make ? ",M9
30 IFM9<100 THEN PRINT"OPTIMIST !!!!"
40 DIMW$(M9*10),C4$(17),S$(75*2),S(75)
50 C4$="QSRPNCKXFLBMDIWT*"
60 S$="CTEMMENHRIVTWMMAENNYNNSNWNQBDEEPMDWPON"
70 S$=S$+"ALGAKYNCNFSCSFTNVAWIMNAKLAMSNMNTOKSTCZSK"
80 S$=S$+"EBLAORSBSCSDSFSJSVPAABAZIDMTNVORUTWAAKWYBCMIOHWVNWILINWS"
90 S$=S$+"COIAKSMNMONBNDSD"
100 DATA 7,13,18,29,38,49,59,63,66,74
110 GOSUB 5010\X=0\GOSUB5005\IFX=1THEN5045ELSEGOSUB5050
120 OPEN #1,L1$
145 IFN=0THEN220
150 PRINT"Loading check list"
160 FOR I1=1TON
170 READ #1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
175 IFC$<>"/*"THEN180ELSE200
180 GOSUB840\IFI=0THEN190ELSEGOSUB960\GOSUB1060
190 GOSUB1080\GOSUB970
195 N4=N4+1
196 PRINT I1,TAB(6),C$,TAB(18),Z4$
200 NEXTI1\C8$=C$
210 I=I1-1\GOSUB1020\N=I
220 GOSUB1040
230 N=N+1
240 GOSUB 1000\GOSUB1260
250 IF N>M9-5 THEN PRINT"CHECK LIST IS ALMOST FULL"
251 INPUT1"-?",A$\IFA$=""THEN250
255 IFLEN(A$)>1THEN250
260 FOR J2=1TOLEN(C4$)\IFA$(1,1)=C4$(J2,J2)THENEXIT280
270 NEXT \PRINTCHR$(7)\ GOTO250
280 PRINT TAB(5),\GOSUB 980\GOTO250
290 INPUT"REPORT RECEIVED ? ",R
300 RETURN
310 INPUT"REPORT SENT ? ",S
315 IFS>599THEN315
320 RETURN
350 INPUT"Day (1-31) ? ",D1\IFD1<1ORD1>31THEN350
360 INPUT"Month ( 1 - 12 ) ? ",D2\IFD2<0ORD2>12THEN360
370 INPUT "Year (19xx) ?",D3 \ IF D3<1900 THEN 370
380 D3 = D3 - 1900
390 RETURN
400 INPUT "Power (watts) ? ",P
410 RETURN
420 INPUT "Freq/Band ? ",F\IFF>999THEN420
430 RETURN
440 INPUT "Mode ? ",M$\IFM$=""THEN440
450 IF M$(1,1)<>" "THEN460ELSEM$=M$(2,LEN(M$))\GOTO450
460 RETURN
470 INPUT"Call sign ? ",A$\IFLEN(A$)=0THEN510
480 IFA$(1,1)<>" "THEN490ELSEA$=A$(2,LEN(A$))\GOTO480
490 C$=A$\GOSUB840è500 IFI=1THENPRINT"OK"ELSEPRINT"WORKED",CHR$(7)
510 RETURN
520 INPUT "Time ? ",T\IFT>2400 THEN520
530 RETURN
540 INPUT"Number ? ",A$\IFLEN(A$)>0THENZ$=A$
550 RETURN
560 INPUT"Prec ? ",A$\IFLEN(A$)>0THENZ3$=A$
570 RETURN
580 INPUT"Check ? ",A$\IFLEN(A$)>0THENZ2$=A$
590 RETURN
600 INPUT"Section ? ",A$\IFLEN(A$)=0THEN650
610 IFLEN(A$)<2THEN600ELSEZ4$=A$
620 GOSUB1140\IFI=1THENIFS(I3)=0THENPRINT" New One"
630 IF I<>2THEN640ELSEPRINT"ENTER CALL AREA FIRST"\GOTO650
640 RETURN
650 RETURN
660 X$=Z$+Z3$+","+Z2$+","+Z4$
670 T$=FNT$(T)\PRINTT$,TAB(10),"# ",Z$," ",Z3$,TAB(20),C$,TAB(30),
680 PRINT Z2$,TAB(35),Z4$
690 RETURN
695 INPUT"ARE YOU SURE ? ",A$\IFA$=""THEN695ELSEIFA$(1,1)="Y"THEN698ELSERETURN
698 GOSUB1040\C$="/*"\IFS8=1THENS9=S9-2
700 D1=INT(D1) \D2=INT(D2)\D3=INT(D3)\S=INT(S)
705 X$=Z$+Z3$+","+Z2$+","+Z4$
710 R=INT(R)\P=INT(P)
720 S8=0\GOSUB840\IFI=0THEN730ELSEGOSUB960\GOSUB1060
730 WRITE#1,&D1,&D2,&D3,T,F,C$,S,R,M$,P,&Q1,&Q2,X$
735 N=N+1\IF C$="/*"THEN760
738 N4=N4+1
740 GOSUB1080\GOSUB970\C8$=C$
750 GOSUB 1040
760 GOTO 1000
770 IFN>0THENN=N-1
790 CLOSE #1
800 OPEN#0,L2$
810 WRITE #0,N
820 CLOSE #0
830 GOTO 5045
840 IF C$="/*"THEN940
850 J=0 \ FOR I=1TOLEN(C$)
860 J=J+ASC(C$(I,I))-47\NEXT
870 J=J*10
880 IF J<M9 THEN 890 ELSE J=J-M9\GOTO880
890 D$=W$(J*10+1,J*10+10)
900 IF D$(1,1)=" "THEN 950
910 IF D$(1,LEN(C$))=C$THEN940
920 J=J+1\IFJ>=M9THENJ=J-M9
930 GOTO 890
940 I=0\RETURN
950 I=1\RETURN
960 W$(J*10+1,J*10+10)=C$\RETURN
970 S(I3)=S(I3)+1\RETURN
980 ONJ2GOTO660,600,290,560,540,470,580,310,695,700,420,440,350,1255,400,520,770
1000 PRINT CHR$(26),CHR$(12)\PRINT\!"THERE ARE ",N-1," ENTRIES IN THE LOG"
1005 PRINT "LAST QSO WAS ..",C8$è1006 PRINT"NEXT QSO = ",N4+1
1010 RETURN
1020 GOSUB5015\GOSUB5020
1030 INPUT"HIT RETURN WHEN READY",A$\RETURN
1040 C$="?"\Z$=C$\Z2$=Z$\Z3$=Z$\Z4$=Z$\R=0\S=0\Y1=0\X$=""
1045 S=59
1050 RETURN
1060 FORI=1TOLEN(X$)\IFX$(I,I)="?"THENEXIT1050
1070 NEXT\S9=S9+2\S8=S8+1\GOTO1050
1080 FORI=1TOLEN(X$)\IFX$(I,I)=","THENEXIT1100
1090 NEXT\GOTO1115
1100 FORX4=I+1TOLEN(X$)\IFX$(X4,X4)=","THENEXIT1120
1110 NEXT
1115 PRINT"COMMENTS ARE NOT CONTEST DATA"\RETURN
1120 Z4$=X$(X4+1,LEN(X$))
1140 IFZ4$(1,1)="?"THEN1250
1150 IFC$="?"THEN1250
1155 IF C$="/*"THEN1250
1160 FOR I3=LEN(C$) TO 1 STEP -1
1170 IFASC(C$(I3,I3))>=65THEN1230
1180 IFASC(C$(I3,I3))<=47THEN1230
1190 Y=VAL(C$(I3,I3))\IFY=0THENY=10
1200 X=0\FOR I=1 TO Y \X1=X\ READ X\NEXT\RESTORE
1210 FORI3=X1TOX\IF S$(I3*2+1,I3*2+2)=Z4$(1,2)THENEXIT1240
1220 NEXT\GOTO1250
1230 NEXT\I3=0\I=0\RETURN
1240 I=1\RETURN
1250 I3=0\I=2\RETURN
1255 GOSUB 1000
1260 PRINT"DAY ",D1,D2,D3,TAB(16),"BAND ",F,TAB(32),"MODE ",M$\PRINT
1280 S7=0\Y=0\FOR I=1 TO 10
1290 READ X \IFI<9THEN1300
1295 X=X+1\IFI=10THENY=Y-1
1300 PRINTI,TAB(6),
1310 FOR J=Y TO X-1\IFS(J)=0 THEN 1320 ELSEPRINT"-- ",\S7=S7+1\GOTO1330
1320 PRINT S$(J*2+1,J*2+2)," ",
1330 NEXTJ\Y=X+1\PRINT\NEXTI
1340 RESTORE
1350 PRINT" VE",TAB(6),
1360 FORI=1 TO 8\READ X\IFS(X)=0THEN1370ELSEPRINT"-- ",\S7=S7+1\GOTO1380
1370 PRINTS$(X*2+1,X*2+2)," ",
1380 NEXT\PRINT\RESTORE\PRINT
1385 PRINT"POINTS = ",S9,TAB(16),"SECTIONS ",S7,TAB(32),"SCORE",S9*S7
1390 GOTO1005
2000 ERRSET 2000,E1,E2
2005 IF E1=480 THEN 470
2010 IF E1=5560 THEN 5570
2020 IF E1=5650 THEN 5670
2030 IF E2<>8 THEN 2040 ELSEPRINT"HARD DISC ERROR"\ GOTO2100
2040 IF E2<>7 THEN 2050 ELSE PRINT"FILE ERROR"\ GOTO 2100
2050 IF E2=15 THEN 790
2090 PRINT"ERROR ",E2," AT LINE ",E1\ GOTO790
2100 GOTO 5045
5000 REM SUBROUTINE PACKAGE VER 790822