home *** CD-ROM | disk | FTP | other *** search
/ HAM Radio 1 / HamRadio.cdr / misc / c3zcz_15 / logstat.prg < prev    next >
Text File  |  1985-09-28  |  6KB  |  248 lines

  1. *LOGSTAT 850923 COPYRIGHT JOE KASSER G3ZCZ 1985
  2. * GENERATES STATISTICS ABOUT CONTACTS
  3. * called from LOGBOOK
  4.  
  5. STORE 0 TO qslrxcount
  6. STORE 0 TO qsltxcount
  7. STORE 0 TO qslowed
  8. STORE 0 TO qsldirect
  9. STORE 0 TO qslbureau
  10. STORE 0 TO qslmngr
  11. STORE 1 TO qsonumber
  12. STORE 0 TO ten
  13. STORE 0 TO fifteen
  14. STORE 0 TO twenty
  15. STORE 0 TO forty
  16. STORE 0 TO eighty
  17. STORE 0 TO onesixty
  18. STORE 0 TO two
  19. STORE 0 TO whatisit
  20. STORE 0 TO modessb
  21. STORE 0 TO modecw
  22. STORE 0 TO modertty
  23. STORE 0 TO modefm
  24. STORE 0 TO modea
  25. STORE 0 TO modeb
  26. STORE 0 TO modej
  27.  
  28. USE &logbook
  29. ERASE
  30. @ 1,10 SAY 'G3ZCZ LOG SUMMARY PROGRAM IN PROGRESS'
  31. @ 4,1 SAY 'QSL SUMMARY'
  32. @ 5,1 SAY '--------------------------------'
  33. @ 6,1 SAY 'TOTAL NUMBER OF CONTACTS'
  34. @ 7,1 SAY 'QSL CARDS SENT DIRECT'
  35. @ 8,1 SAY 'QSL CARDS SENT VIA BUREAU'
  36. @ 9,1 SAY 'QSL CARDS SENT VIA MANAGERS '
  37. @ 10,1 SAY 'QSL CARDS SENT '
  38. @ 11,1 SAY 'QSL CARDS RECEIVED'
  39. @ 12,1 SAY 'QSL CARDS OWED'
  40.  
  41. @ 4,40 SAY 'SUMMARY OF ENTRIES BY BAND'
  42. @ 5,40 SAY '---------------------------'
  43. @ 6,40 SAY '10  METERS'
  44. @ 7,40 SAY '15  METERS'
  45. @ 8,40 SAY '20  METERS'
  46. @ 9,40 SAY '40  METERS'
  47. @ 10,40 SAY '80  METERS'
  48. @ 11,40 SAY '160 METERS'
  49. @ 12,40 SAY ' 2  METERS'
  50. @ 13,40 SAY 'OSCAR MODE A'
  51. @ 14,40 SAY 'OSCAR MODE B '
  52. @ 15,40 SAY 'OSCAR MODE J'
  53. @ 16,40 SAY 'OTHERS'
  54. @ 18,1 SAY 'REPORT BY MODES'
  55. @ 19,1 SAY '-------------------------'
  56. @ 20,1 SAY 'SSB CONTACTS'
  57. @ 21,1 SAY 'CW CONTACTS'
  58. @ 22,1 SAY 'RTTY CONTACTS'
  59. @ 23,1 SAY 'FM CONTACTS'
  60.  
  61. DO WHILE .NOT. EOF
  62.    @ 2,1  SAY call
  63.    @ 2,12 SAY date
  64.    @ 2,22 SAY time
  65.  
  66.    IF qslsent = '-'
  67.    ELSE
  68.       STORE qsltxcount + 1 TO qsltxcount
  69.       @ 10,27 SAY qsltxcount
  70.    ENDIF
  71.  
  72.    IF qslrx = '-'
  73.       * sum cards owed only
  74.       IF qslsent = 'B'
  75.          STORE qslbureau + 1 TO qslbureau
  76.          @ 8,27 SAY qslbureau
  77.       ENDIF
  78.       IF qslsent = 'D'
  79.          STORE qsldirect + 1 TO qsldirect
  80.          @ 7,27 SAY qsldirect
  81.       ENDIF
  82.       IF qslsent = 'M'
  83.          STORE qslmngr + 1 TO qslmngr
  84.          @ 9,27 SAY qslmngr
  85.       ENDIF
  86.    ELSE
  87.       STORE qslrxcount + 1 TO qslrxcount
  88.       @ 11,27 SAY qslrxcount
  89.       IF qslsent = '-'
  90.          STORE qslowed + 1 TO qslowed
  91.          @ 12,27 SAY qslowed
  92.       ENDIF
  93.    ENDIF
  94.  
  95.    * now don't count contest title entries
  96.    IF $(call,1,1) = '-'
  97.    ELSE
  98.       STORE qsonumber + 1 TO qsonumber
  99.    ENDIF
  100.  
  101.    DO CASE
  102.       CASE band = '10'
  103.            STORE ten + 1 TO ten
  104.            @ 6,60 SAY ten
  105.  
  106.       CASE band = '20'
  107.            STORE twenty + 1 TO twenty
  108.            @ 8,60 SAY twenty
  109.  
  110.       CASE band = '40'
  111.            STORE forty + 1 TO forty
  112.            @ 9,60 SAY forty
  113.  
  114.       CASE band = '15'
  115.            STORE fifteen + 1 TO fifteen
  116.            @ 7,60 SAY fifteen
  117.  
  118.       CASE band = '75'
  119.            STORE eighty + 1 TO eighty
  120.            @ 10,60 SAY eighty
  121.            * 75 and 80 Meters are part of same band
  122.  
  123.       CASE band = '80'
  124.            STORE eighty + 1 TO eighty
  125.            @ 10,60 SAY eighty
  126.  
  127.       CASE band = '160'
  128.            STORE onesixty + 1 TO onesixty
  129.            @ 11,60 SAY onesixty
  130.  
  131.       CASE band = '2'
  132.            STORE two + 1 TO two
  133.            @ 12,60 SAY two
  134.  
  135.       CASE band = 'A'
  136.            STORE modea + 1 TO modea
  137.            @ 13,60 SAY modea
  138.  
  139.       CASE band = 'B'
  140.            STORE modeb + 1 TO modeb
  141.            @ 14,60 SAY modeb
  142.  
  143.       CASE band = 'J'
  144.            STORE modej + 1 TO modej
  145.            @ 15,60 SAY modej
  146.  
  147.       OTHERWISE
  148.            IF CALL = '-CONTEST'
  149.            ELSE
  150.            STORE whatisit  + 1 TO whatisit
  151.            @ 16,60 SAY whatisit
  152.         ENDIF
  153.       ENDCASE
  154.  
  155.    DO CASE
  156.       CASE mode = "SSB"
  157.            STORE modessb + 1 TO modessb
  158.            @ 20,21 SAY modessb
  159.  
  160.       CASE mode = "CW"
  161.            STORE modecw + 1 TO modecw
  162.            @ 21,21 SAY modecw
  163.  
  164.       CASE mode = "RTTY"
  165.            STORE modertty + 1 TO modertty
  166.            @ 22,21 SAY modertty
  167.  
  168.       CASE mode = "FM"
  169.            STORE modefm + 1 TO modefm
  170.            @ 23,21 SAY modefm
  171.    ENDCASE
  172.    SKIP
  173. @ 6,27 SAY qsonumber
  174. ENDDO
  175. @ 24,1 SAY ' '
  176. WAIT
  177. ERASE
  178.  
  179. * print summary
  180. * first compensate for last increment
  181. STORE qsonumber - 1 TO qsonumber
  182. STORE ' ' TO df
  183. ACCEPT ' Do you want hard copy of summary (Y/N) ? ' TO df
  184. IF $(df,1,1) = 'Y'
  185.    SET PRINT ON
  186. ENDIF
  187.  
  188. ? 'QSL SUMMARY'
  189. ?
  190. ? 'TOTAL NUMBER OF CONTACTS    '
  191. ?? qsonumber
  192. ? 'QSL CARDS SENT DIRECT       '
  193. ?? qsldirect
  194. ? 'QSL CARDS SENT VIA BUREAU   '
  195. ?? qslbureau
  196. ? 'QSL CARDS SENT VIA MANAGERS '
  197. ?? qslmngr
  198. ? 'QSL CARDS SENT              '
  199. ?? qsltxcount
  200. ? 'QSL CARDS RECEIVED          '
  201. ?? qslrxcount
  202. ? 'QSL CARDS OWED              '
  203. ?? qslowed
  204. ?
  205. ?
  206. ?
  207. ? 'SUMMARY OF ENTRIES BY BAND'
  208. ?
  209. ? '10 METERS                  '
  210. ??  ten
  211. ? '15 METERS                  '
  212. ??  fifteen
  213. ? '20 METERS                  '
  214. ??  twenty
  215. ? '40 METERS                  '
  216. ??  forty
  217. ? '80 METERS                  '
  218. ??  eighty
  219. ? '160 METERS                 ',onesixty
  220. ? ' 2 METERS                  '
  221. ??  two
  222. ? 'OSCAR MODE A               ',modea
  223. ? 'OSCAR MODE B               ',modeb
  224. ? 'OTHERS                     '
  225. ?? whatisit
  226.  
  227. ?
  228. ?
  229. ? 'REPORT BY MODES'
  230. ?
  231. ? modessb
  232. ?? 'SSB CONTACTS'
  233. ? modecw
  234. ?? 'CW CONTACTS'
  235. ? modertty
  236. ?? 'RTTY CONTACTS'
  237. ? modefm
  238. ?? 'FM CONTACTS'
  239.  
  240. EJECT
  241. SET PRINT OFF
  242. WAIT
  243.  
  244. RELEASE qslrxcount,qsltxcount,qslowed,qsldirect,qslbureau,qslmngr
  245. RELEASE df,qsonumber,ten,fifteen,twenty,forty,eighty,two,whatisit
  246. RELEASE modessb,modecw,modertty,modefm,onesixty,modea,modeb,modej
  247. RETURN
  248.