home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Best of the Best
/
_.img
/
02192
/
logbook.arc
/
DXCCMB.PRG
< prev
next >
Wrap
Text File
|
1987-12-24
|
4KB
|
132 lines
*MBDXCC AUTOMATICALLY UPDATES DXCC RECORDS FROM LOG DATABASE
* COPYRIGHT JOE KASSER G3ZCZ 1985
STORE 0 TO worked
STORE 0 TO qsled
both = 0
SELECT A
USE &logbook INDEX &logndx
SELECT B
USE &dxcc
DO WHILE .NOT. EOF()
? px
IF dstate = 'Q'
* ALREADY IN DXCC RECORD, IGNORE REST'
STORE .F. TO qslflag
STORE qsled + 1 TO qsled
ELSE
STORE 0 TO workedflag
STORE .T. TO qslflag
* NOT WORKED YET, SO TRY LOG FOR UPDATE'
STORE TRIM(px) TO prefix
SELECT A
FIND &prefix
IF (EOF() .OR. BOF())
* NO FIND, TRY ALTERNATE PREFIX
SELECT B
IF SUBSTR(px1,1,1) = ' '
* NO ALTERNATE PREFIX, GO TO NEXT PREFIX'
ELSE
STORE TRIM(px1) TO prefix
SELECT A
FIND &prefix
IF (EOF() .OR. BOF())
*NO FIND AGAIN, GO TO NEXT PREFIX '
ELSE
* FOUND SOMETHING FOR PX1 '
DO WHILE call = prefix .AND. qslflag
IF qslrx = 'R' .and. band = thisband
*FOUND A QSL'
STORE .F. TO qslflag
STORE call TO call
STORE date TO date
STORE time TO time
STORE mode TO mode
STORE band TO band
SELECT B
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
STORE qsled + 1 TO qsled
REPLACE dstate WITH 'Q'
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE RECNO() TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
ELSE
*FOUND SOMETHING FOR PX, see IF its qsled'
DO WHILE call = prefix .AND. qslflag
IF qslrx = 'R' .and. band = thisband
STORE .F. TO qslflag
*FOUND A QSL'
STORE call TO call
STORE date TO date
STORE time TO time
STORE mode TO mode
STORE band TO band
SELECT B
REPLACE dstate WITH 'Q'
STORE qsled + 1 TO qsled
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
SKIP -1
ELSE
IF workedflag = 0
IF band = thisband
STORE RECNO() TO workedflag
ENDIF
ENDIF
ENDIF
SKIP
ENDDO
ENDIF
ENDIF
SELECT B
IF qslflag
IF workedflag = 0
* PREFIX WAS NOT WORKED EITHER
ELSE
SELECT A
GOTO workedflag
STORE worked + 1 TO worked
STORE call TO call
STORE date TO date
STORE time TO time
STORE mode TO mode
STORE band TO band
SELECT B
REPLACE dcall WITH call
REPLACE ddate WITH date
REPLACE dtime WITH time
REPLACE dmode WITH mode
REPLACE dband WITH band
REPLACE dstate WITH 'W'
ENDIF
ENDIF
both = worked + qsled
?? dcall, dband, dstate, qsled, worked, both
SKIP
ENDDO
SELECT B
USE
SELECT A
USE
RELEASE worked,workedflag,qsled,prefix,qslflag,call,date,time,mode,band,both
RETURN