! seememo.txt Memo display utility
! by Michael Paine
! DOCS database has a memo field called ABSTRACT - substitute any 
! database with a memo field & change all DOCS & ABSTRACT references to suit 
ATTACH "TYPAHEAD"  ! a C-call  
LOCAL BOOL loopmemo = TRUE 
LOCAL BOOL showit = TRUE 
LOCAL INT rcn = 0  ! record counter 
WINDOW wmemo = SIZE 80 BY 24 AT 1,1 FRAMED               !Main work area 
  WINDOW wmemoTP = TOP 1 IN wmemo MODE TITLE
  WINDOW wmemoBP = BOTTOM 1 IN wmemo MODE PROMPT
  WINDOW wmemoRS = RIGHT 50 IN wmemo FRAMED 
WINDOW fullscreen = SIZE 80 BY 20 AT 1,3  
VIEW vd = FROM docs
USE vd 
SCREEN wmemo
  PUT IN wmemoTP AT 1,1 'DATABASE docs VIEW MEMO CONTENTS' FILLED 
  PUT IN wmemoBP AT 1,1 ' <Esc>quit   <up> & <down>next record  <Enter>edit memo ' FILLED 
  keypress = 10
  DO c_key 
  PUT IN wmemoRS AT 1,1
  GET vd.abstract     ! GET memofieldname displays the memo only 
  WHILE loopmemo 
   PUT IN wmemo AT 1,1 
   KEYS LIST vd 
      :K_DOWN:  FIND vd NEXT 
                IF RECNO(vd) < 1
                   FIND vd BOTTOM
                END IF   
      :K_UP:  FIND vd BACK 
                IF RECNO(vd) < 1
                   FIND vd TOP 
                END IF   
      :K_PG_DOWN:  
                rcn = RECNO(vd) + 20 
                FIND vd rcn 
                IF RECNO(vd) < 1
                   FIND vd BOTTOM
                END IF   
      :K_PG_UP:  
                rcn = RECNO(vd) - 20
                IF rcn < 1
                   rcn = 1
                END IF   
                FIND vd rcn 
                IF RECNO(vd) < 1
                   FIND vd TOP 
                END IF   
      :K_END:  
                FIND vd BOTTOM
      :K_HOME:  
                FIND vd TOP 
      :K_DO:    
             SCREEN fullscreen 
                PUT IN fullscreen AT 1,1
                KEYS GET vd.abstract 
                  :K_DO:  REPLACE vd
                  :K_DO:
                END KEYS  
             END SCREEN   
      :K_UNDO:  loopmemo = FALSE
                showit = FALSE 
   END KEYS   
   IF RECNO(vd) > 0 AND showit 
     keypress = 10
     DO c_key 
     PUT IN wmemoRS AT 1,1
     GET vd.abstract  
   END IF 
  END WHILE 
END SCREEN  
DETACH "typahead" 




