home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / log / log3_52a / logqsl.prg < prev    next >
Text File  |  1990-05-04  |  3KB  |  101 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: LOGQSL.PRG
  4. *:
  5. *:         System: PC-HAM Logbook
  6. *:         Author: Joe Kasser G3ZCZ
  7. *:      Copyright (c) 1990, Joe Kasser
  8. *:  Last modified: 05/04/90     11:54
  9. *:
  10. *:      Called by: LOGFUNCT.PRG                  
  11. *:
  12. *:          Calls: QSLPRINT.PRG
  13. *:
  14. *:           Uses: &LOGBOOK.DBF   
  15. *:
  16. *:        Indexes: &LOGNDX
  17. *:
  18. *:      Documented 05/04/90 at 13:49                SNAP!  version 3.12f
  19. *:*********************************************************************
  20. *LOGQSL VERSION 871209
  21. * CALLED FROM logbook
  22. *LOCAL VARIABLES callflag,callheard,linecount
  23.  
  24. *INITIALISE EVERYTHING
  25.  
  26. USE &logbook INDEX &logndx
  27. ACCEPT 'Do you want to print QSL labels (Y/N) ? ' TO pf
  28. STORE  .t.  TO callflag
  29. STORE '-' TO nqslsent
  30. STORE '-' TO nqslrx
  31. STORE '          ' TO callheard
  32. *MAIN LOOP
  33. DO WHILE callflag
  34.    GOTO TOP
  35.    STORE SUBSTR(callheard + '     ',1,10) TO callheard
  36.    *   ACCEPT "Call/Prefix (* To terminate, + To repeat) ? " TO callheard
  37.    @ 24,1 SAY "Call/Prefix (* To terminate) ?"
  38.    @ 24,32  GET callheard
  39.    READ
  40.    IF callheard = "*"
  41.       STORE .F. TO callflag
  42.       * Clear loop control for exit
  43.    ELSE
  44.       STORE callheard TO callheard
  45.       FIND &callheard
  46.       IF (EOF() .or. BOF())
  47.          CLEAR
  48.          @ 5,1 SAY callheard
  49.          @ 5,12 SAY "does not appear to be in the log"
  50.          ?
  51.          ?
  52.       ELSE
  53.          DO WHILE CALL = callheard .and. (.not.EOF())
  54.             CLEAR
  55.             STORE qslsent TO  nqslsent
  56.             STORE qslsent TO  oqslsent
  57.             STORE qslrx   TO  nqslrx
  58.             
  59.             @ 12,1 SAY "DATE"
  60.             @ 13,1 SAY "TIME"
  61.             @ 14,1 SAY "CALL"
  62.             @ 15,1 SAY "BAND"
  63.             @ 16,1 SAY "POWER"
  64.             @ 17,1 SAY "MODE"
  65.             @ 18,1 SAY "REPORT (RX)"
  66.             @ 19,1 SAY "REPORT (TX)"
  67.             @ 20,1 SAY "COMMENTS"
  68.             @ 21,1 SAY "QSLSENT"
  69.             @ 22,1 SAY "QSLRX"
  70.             
  71.             @ 12,13 SAY DATE
  72.             @ 13,13 SAY TIME
  73.             @ 14,13 SAY CALL
  74.             @ 15,13 SAY band
  75.             @ 16,13 SAY Power
  76.             @ 17,13 SAY mode
  77.             @ 18,13 SAY rx
  78.             @ 19,13 SAY tx
  79.             
  80.             @ 21,13 GET nqslsent
  81.             @ 22,13 GET nqslrx
  82.             READ
  83.             
  84.             *UPDATE ENTRY
  85.             REPLACE qslsent WITH nqslsent
  86.             REPLACE qslrx WITH nqslrx
  87.             IF pf = 'Y' .and. qslsent <> '-'.and. oqslsent = '-'
  88.                DO qslprint
  89.             ENDIF
  90.             SKIP
  91.          ENDDO
  92.       ENDIF
  93.    ENDIF
  94. ENDDO
  95. USE
  96. * GET READY TO EXIT
  97. RELEASE callflag,callheard,linecount,nqslsent,nqslrx,pf,label2
  98. RELEASE oqslsent
  99. RETURN
  100. *: EOF: LOGQSL.PRG
  101.