home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 3
/
hamradioversion3.0examsandprograms1992.iso
/
log
/
log3_52a
/
logadd.prg
< prev
next >
Wrap
Text File
|
1990-05-04
|
6KB
|
196 lines
*:*********************************************************************
*:
*: Program: LOGADD.PRG
*:
*: System: PC-HAM Logbook
*: Author: Joe Kasser G3ZCZ
*: Copyright (c) 1990, Joe Kasser
*: Last modified: 05/04/90 12:53
*:
*: Called by: LOGFUNCT.PRG
*:
*: Uses: &LOGBOOK.DBF
*:
*: Indexes: &LOGNDX
*:
*: Documented 05/04/90 at 13:49 SNAP! version 3.12f
*:*********************************************************************
* IF YOU CHANGE THE STRUCTURE OF THE DATABASE TO INCREASE THE
*WIDTH OF THE COMMENTS, MODIFY THE PROGRAM AS SHOWN BELOW
ACCEPT 'Are you running this in real TIME (Y/N) ? ' TO rtf
IF rtf = 'Y'
STORE '9999' TO otime
STORE ' ' TO dummy
ENDIF
USE &logbook
STORE .t. TO callflag
GOTO BOTTOM
STORE CALL TO lastcall
STORE RECNO() TO lastentry
*initialise new variables
STORE DATE TO ndate
STORE TIME TO ntime
STORE band TO nband
STORE Power TO npower
STORE mode TO nmode
STORE rx TO nrx
STORE tx TO ntx
SET INDEX TO &logndx
CLEAR
*MAIN LOOP
DO WHILE callflag
STORE "-" TO nqslsent
STORE "-" TO nqslrx
STORE " " TO ncall
* CHANGE THE LENGTH OF THE SPACES BETWEEN THE " " ON THE NEXT LINE
* IF YOU CHANGE THE WIDTH OF THE COMMENTS here it is set to 10
STORE " " TO ncomments
STORE " " TO logflag
STORE .t. TO dataflag
DO WHILE dataflag
USE &logbook
GOTO BOTTOM
IF RECNO() > 14
SKIP -14
ELSE
GOTO TOP
ENDIF
CLEAR
SET COLOR TO W+/R,W+/RB,BG+
@ 1,21 SAY 'PREVIOUS ENTRIES IN LOG, ARE'
?
@ 3,1 SAY " ENTRY DATE TIME CALL BAND PWR MODE RX TX "
@ 3,58 SAY "S R COMMENTS"
SET COLOR TO GR+/B,W+/RB,BG+
DO WHILE .not. EOF()
? RECNO(),DATE,TIME,CALL,band,Power,mode,rx,tx,qslsent,qslrx,comments
SKIP
ENDDO
SET INDEX TO &logndx
IF rtf = 'Y'
* DO REALTIME
ntime = TIME()
ndate = DTOC(DATE())
ndate = SUBSTR(ndate,7, 2) + '/' + SUBSTR(ndate,1,5)
ntime = SUBSTR(ntime,1,2) + SUBSTR(ntime,4,2)
ENDIF
* @ 19,1 SAY lastentry
* @ 19,12 SAY "LAST CONTACT WAS WITH "
* @ 19,35 SAY lastcall
@ 21,3 SAY "DATE TIME CALL BAND PWR MODE RX TX"
@ 21,49 SAY "S R COMMENTS"
@ 23,1 SAY "QRU (*THL)"
@ 22,1 GET ndate
@ 22,11 GET ntime
@ 22,16 GET ncall
@ 22,27 GET nband
@ 22,31 GET npower
@ 22,36 GET nmode
@ 22,41 GET nrx
@ 22,45 GET ntx
@ 22,49 GET nqslsent
@ 22,51 GET nqslrx
@ 22,53 GET ncomments
@ 23,13 GET logflag
READ
DO CASE
CASE logflag = 'H'
GOTO TOP
STORE 1 TO linecount
IF SUBSTR(ncall,1) <> ' '
STORE TRIM(ncall) TO fcall
FIND &fcall
IF (EOF() .or. BOF())
CLEAR
SET COLOR TO W+/R,W+/RB,BG+
@ 5,1 SAY ncall
@ 5,12 SAY "Does not appear to be in the log"
WAIT
CLEAR
SET COLOR TO GR+/B,W+/RB,BG+
ELSE
DO WHILE CALL = fcall .and. (.not. EOF())
IF linecount = 1
CLEAR
SET COLOR TO W+/R,W+/RB,BG+
@ 1,21 SAY 'PREVIOUS ENTRIES IN LOG, ARE'
@ 3,1 SAY " ENTRY DATE TIME CALL BAND PWR MODE RX TX "
@ 3,58 SAY "S R COMMENTS"
SET COLOR TO GR+/B,W+/RB,BG+
ENDIF
? RECNO(),DATE,TIME,CALL,band,Power,mode,rx,tx,qslsent,qslrx,comments
STORE linecount + 1 TO linecount
IF linecount = 20
?
WAIT
STORE 1 TO linecount
ENDIF
SKIP
ENDDO
?
WAIT
IF linecount > 16
CLEAR
ENDIF
ENDIF
ELSE
? 'ERROR Blank Call'
ENDIF
CASE logflag = 'L'
*LOG ENTRY
APPEND BLANK
STORE .F. TO dataflag
REPLACE qslsent WITH nqslsent
REPLACE qslrx WITH nqslrx
REPLACE DATE WITH ndate
REPLACE TIME WITH ntime
REPLACE CALL WITH ncall
REPLACE band WITH nband
REPLACE Power WITH npower
REPLACE mode WITH nmode
REPLACE rx WITH nrx
REPLACE tx WITH ntx
REPLACE comments WITH ncomments
STORE CALL TO lastcall
STORE RECNO() TO lastentry
STORE " " TO ncall
STORE " " TO ncomments
CASE logflag = "*"
STORE .F. TO callflag
STORE .F. TO dataflag
CASE logflag = 'T'
IF rtf = 'Y'
ndate = DTOC(DATE())
ndate = SUBSTR(ndate,7, 2) + '/' + SUBSTR(ndate,1,5)
ntime = TIME()
ntime = SUBSTR(ntime,1,2) + SUBSTR(ntime,4,2)
ENDIF
@ 22,1 SAY ndate
@ 22,11 SAY ntime
ENDCASE
* ENDIF
ENDDO
ENDDO
USE
* GET READY TO EXIT
RELEASE lastcall,lastentry,ndate,ntime,ncall,nband,npower,nmode
RELEASE nqslsent,nqslrx,nrx,ntx,ncomments,fcall,linecount,fdate
RELEASE otime,rtf,mtime,cpointer,dummy,hour,MIN,mm,dd,yy,ndate
RELEASE callflag,dataflag,logflag
RETURN
*: EOF: LOGADD.PRG