home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 3 / hamradioversion3.0examsandprograms1992.iso / log / log3_52a / dxpdnqsl.prg < prev    next >
Text File  |  1990-06-25  |  4KB  |  132 lines

  1. *:*********************************************************************
  2. *:
  3. *:        Program: DXPDNQSL.PRG
  4. *:
  5. *:         System: PC-HAM Logbook
  6. *:         Author: Joe Kasser G3ZCZ
  7. *:      Copyright (c) 1990, Joe Kasser
  8. *:  Last modified: 06/25/89     16:03
  9. *:
  10. *:      Called by: LOGMISCF.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. * DXPEDITION SPECIAL, QSL'S ONE CONTACT PER BAND FOR EACH call IN LOG
  21. * will not print one for duplicates on each band
  22. * WILL NOT PRINT CONTEST OR ALREADY QSL'D UNLESS LOGBOOK = 'QSL'
  23. * FOR 5 BANDS ONLY
  24.  
  25. USE &logbook INDEX &logndx
  26. GOTO bottom
  27. STORE call TO lcall
  28. GOTO top
  29. STORE 'O' TO tqsl
  30. STORE call TO fcall
  31. ACCEPT 'All QSOs, just those owed and queued (A O or Q) ? ' TO tqsl
  32. ?
  33. @ 24, 0 SAY "Starting call ?"
  34. @ 24, 16 GET fcall
  35. @ 24, 40 SAY "Ending call ?"
  36. @ 24, 54 GET lcall
  37.  
  38. READ
  39. STORE TRIM(fcall) TO fcall
  40. FIND &fcall
  41. * ASSUME SINGLE UNLESS TOLD OTHERWISE
  42. DO WHILE (.not. EOF() ) .and. (call < lcall)
  43.    IF (SUBSTR(CALL,1,1) <> '-' .and. qslsent = '-') .or. logbook = 'QSL'
  44.       IF tqsl = 'O' .and. qslrx = 'R' .or. tqsl = 'A' .OR. qslrx = 'Q'
  45.  
  46.          STORE ' ' TO b1
  47.          STORE ' ' TO b2
  48.          STORE ' ' TO b3
  49.          STORE ' ' TO b4
  50.          STORE ' ' TO b5
  51.          STORE CALL TO tcall
  52.          IF qslrx = 'Q'
  53.             qslrx = '-'
  54.             REPLACE qslrx WITH '-'
  55.          ENDIF
  56.          DO WHILE CALL = tcall .and. .not. EOF()
  57.             STORE .F. TO pqso
  58.             DISP
  59.             IF b1 = ' '
  60.                *FIRST QSO
  61.                STORE band TO b1
  62.                STORE .t. TO pqso
  63.             ELSE
  64.                IF band = b1
  65.                   *worked
  66.                ELSE
  67.                   IF b2 = ' '
  68.                      STORE band TO b2
  69.                      STORE .t. TO pqso
  70.                   ELSE
  71.                      IF band = b2
  72.                         *worked
  73.                      ELSE
  74.                         IF b3 = ' '
  75.                            STORE band TO b3
  76.                            STORE .t. TO pqso
  77.                         ELSE
  78.                            IF band = b3
  79.                               *worked
  80.                            ELSE
  81.                               IF b4 = ' '
  82.                                  STORE band TO b4
  83.                                  STORE .t. TO pqso
  84.                               ELSE
  85.                                  IF band = b4
  86.                                  ELSE
  87.                                     IF b5 = ' '
  88.                                        STORE band TO b5
  89.                                        STORE .t. TO pqso
  90.                                     ELSE
  91.                                        IF band = b5
  92.                                           *worked on all bands
  93.                                        ELSE
  94.                                           STORE band TO b5
  95.                                           STORE .t. TO pqso
  96.                                        ENDIF
  97.                                     ENDIF
  98.                                  ENDIF
  99.                               ENDIF
  100.                            ENDIF
  101.                         ENDIF
  102.                      ENDIF
  103.                   ENDIF
  104.                ENDIF
  105.             ENDIF
  106.             IF pqso
  107.                ?? '**QSL**'
  108.                IF logbook = 'QSL'
  109.                   * Don't replace it
  110.                ELSE
  111.                   REPLACE qslsent WITH 'B'
  112.                ENDIF
  113.                DO qslprint
  114.             ENDIF
  115.             SKIP
  116.          ENDDO
  117.       ELSE
  118.          DISP
  119.          SKIP
  120.       ENDIF
  121.    ELSE
  122.       DISP
  123.       SKIP
  124.    ENDIF
  125. ENDDO
  126. USE
  127. RELEASE tcall,tband,fcall,lcall
  128. RELEASE b1,b2,b3,b4,b5,pqso,joe,label2,tqsl
  129. RETURN
  130.  
  131. *: EOF: DXPDNQSL.PRG
  132.