*:*********************************************************************
*:
*:        Program: LOGBOOK.PRG
*:
*:         System: PC-HAM Logbook
*:         Author: Joe Kasser G3ZCZ
*:      Copyright (c) 1990, Joe Kasser
*:  Last modified: 06/25/90     12:01
*:
*:          Calls: LOGFUNCT.PRG
*:               : LOGAWARD.PRG
*:               : LOGMISCF.PRG
*:
*:   Memory Files: LOGBOOK.MEM
*:
*:      Documented 05/04/90 at 13:49                SNAP!  version 3.12f
*:*********************************************************************

SET COLOR TO GR+/B,W+/RB,BG+
* Thanks N4FG for color choice
SET HEADING OFF
SET SAFETY OFF

PUBLIC logndx, logbook, waz, was, award, dxcc, oblast, callsign, pf, gmt

SET TALK OFF
CLEAR ALL
STORE 'LOG       ' TO logndx
STORE 'LOG       ' TO logbook
STORE 'WAZ       ' TO waz
STORE 'WAS       ' TO was
STORE 'AWARD     ' TO award
STORE 'DXCC      ' TO dxcc
STORE 'OBLAST    ' TO oblast
STORE 'G3ZCZ     ' TO callsign
STORE 0   TO gmt
STORE 'LOGBOOK' TO susie
IF FILE(susie+'.MEM')
   RESTORE FROM logbook
ELSE
   CLEAR
   @ 12,4 SAY  'INITALISATION SEQUENCE '
   ?
   ACCEPT 'What is your callsign ? ' TO callsign
   ACCEPT 'What is your offset to UTC (HH) ? ' TO cgmt
   STORE VAL(cgmt) TO gmt
ENDIF
RELEASE susie

STORE ' ' TO task
DO WHILE  task <> '*'
   CLEAR
   SET COLOR TO W+/R,W+/RB,BG+
   * DISPLAY MENU
   @ 2,15 SAY      'LOGBOOK by G3ZCZ VERSION 3.52'
   @ 4,10 SAY 'COPYRIGHT (c) 1986, 1987, 1988, 1989, 1990'
   SET COLOR TO GR+/B,W+/RB,BG+

   @ 6,10 SAY 'Default LOG database is'
   SET COLOR TO W+/R,W+/RB,BG+
   @ 6,35 SAY TRIM(logbook)
   SET COLOR TO GR+/B,W+/RB,BG+

   @ 8,10 SAY  'LOG FUNCTIONS                    L'
   @ 9,10 SAY  'AWARDS                           A'
   @ 10,10 SAY 'MISCELLANEOUS FUNCTIONS          M'
   @ 11,10 SAY 'DISPLAY FILES ON DISK DRIVE      F'
   @ 12,10 SAY 'POSITION QSL LABELS ON PRINTER   P'
   @ 16,10 SAY 'RETURN TO DOS                    Q'
   @ 18,10 SAY 'QUIT LOG PACKAGE                 *'
   @ 20,1 SAY 'QRU'
   @ 20,10 GET task
   READ
   task = UPPER(task)
   
   DO CASE
   CASE task = 'P'
      * positions labels for QSL's
      ACCEPT 'Is Printer Ready ? ' TO oktorun
      oktorun = 'N'
      DO WHILE oktorun <> 'Y'
         SET CONSOLE OFF
         SET PRINT ON
         ? 'TO RADIO  '+CHR(14)+'G3ZCZ/W3'+CHR(20)
         ? '* * * *   * *'
         ? '*** * *   *     *      * '
         ? '*** *** * *     *** * ***'
         ? 'LAST LINE'
         ?
         SET PRINT OFF
         SET CONSOLE ON
         ACCEPT 'Are labels positioned properly (Y/N) ? ' TO oktorun
         oktorun = SUBSTR(oktorun,1,1)
      ENDDO
      RELEASE oktorun
      
   CASE task = 'F'
      CLEAR
      ACCEPT 'WHICH DRIVE ? ' TO diskdrive
      diskdrive = SUBSTR(diskdrive,1,1)
      STORE diskdrive + ':' TO diskdrive
      DISPLAY Files ON &diskdrive
      RELEASE diskdrive
      WAIT
      
   CASE task = 'L'
      DO logfunct
      
   CASE task = 'A'
      DO logaward

   CASE task = 'M'
      DO logmiscf
      
   CASE task = 'Q'
      SAVE TO logbook
      QUIT
   ENDCASE
   
ENDDO
RELEASE task,cgmt
SAVE TO logbook
USE
CLEAR
@ 12,12 SAY 'Enter QUIT <CR> to return to DOS'
@ 20,40 SAY '73 de G3ZCZ'
RETURN
*: EOF: LOGBOOK.PRG
* CHANGE IN LOGQSL1 TO ALLOW QSL TO FILE TO WORK