home *** CD-ROM | disk | FTP | other *** search
- <<* MSAMAIN.INC *>>
- <<* Modified 15 January 1988 *>>
-
-
- <<procedure GenMainBody>>
- <<integer count,ndxmax>>
- <<begin>>
- * ---SET environment.
- SET TALK OFF
- SET STATUS OFF
- SET HELP OFF
- SET BELL OFF
- SET SAFETY OFF
- SET ESCAPE OFF
- SET SCOREBOARD OFF
- * ---Open PROCEDURE file.
- SET PROCEDURE TO {fileprefix}_PROC
- * ---SET CURSOR OFF
- ?? SYS(2002)
- *
- * ---Declare Global memory variables.
- PUBLIC INST_L_OFF,INST_L_ON,INST_BAK,INST_INC,INST_DRIVE
- PUBLIC INST_C_OFF,INST_C_ON,INST_E_OFF,INST_E_ON,INST_REST
- PUBLIC INST_CODE
- PUBLIC INST_C1,INST_C2,INST_C3,INST_C4,INST_C5
-
- * ---HOTKEYS
- ON KEY=315 DO SYS_HELP
- PRIVATE;
- PgDn,PgUp,Returnkey,DelRecord,;
- ScreenAtr,StatusAtr,WindowAtr,PromptAtr,HiliteAtr,;
- DBFname,DBFtemp,dbfarea,dbfpagemax,NdxOrder,isedited,;
- PromptBar,PromptRow,mainchoice,menuchoice,choice,;
- CHOICE_X,CHOICE_Y
- STORE .F. TO;
- PgDn,PgUp,Returnkey,DelRecord,;
- ScreenAtr,StatusAtr,WindowAtr,PromptAtr,HiliteAtr,;
- DBFname,DBFtemp,dbfarea,dbfpagemax,NdxOrder,isedited,;
- PromptBar,PromptRow,mainchoice,menuchoice,choice, ;
- CHOICE_X,CHOICE_Y
- <<#
- forall databases
- if ndxtotal > ndxmax
- ndxmax := ndxtotal
- endif
- endfor
- for count := 1 to ndxmax
- genln( 'PRIVATE NDXnam',count,',NDXkey',count )
- endfor
- for count := 1 to ndxmax
- genln( 'STORE .F. TO NDXnam',count,',NDXkey',count )
- endfor
- #>>
- <<if ismultipage>>
- PRIVATE LastRec,recnum,oldrecnum,pageno,PageMax,expr,notes,IsValid
- <<else>>
- PRIVATE LastRec,recnum,oldrecnum,expr,notes,IsValid
- <<endif>>
- <<if ismultipage>>
- STORE .F. TO LastRec,recnum,oldrecnum,pageno,PageMax,expr,notes,IsValid
- <<else>>
- STORE .F. TO LastRec,recnum,oldrecnum,expr,notes,IsValid
- <<endif>>
- <<#
- select all <<*Let memvars become visible*>>
- select fields on (fldtyp $ 'CDLN') and (fldals = 'M') and fldget
- if fldtotal > 0
- genln( '* ---Declare user-defined memory variables.' )
- GenFldList( 'PRIVATE;' )
- GenMemStore( 'C','STORE " " TO;' )
- GenMemStore( 'N','STORE 0.00 TO;' )
- GenMemStore( 'L','STORE .F. TO;' )
- GenMemStore( 'D','STORE CTOD(" / / ") TO;' )
- endif
- select all
- select fields on (fldtyp $ 'CDLN') and (fldals <> 'M') and fldget
- if fldtotal <= 128
- genln( '* ---Declare field memory variables.' )
- GenFldList( 'PRIVATE;' )
- GenFldStore( 'C','STORE " " TO;' )
- GenFldStore( 'N','STORE 0.00 TO;' )
- GenFldStore( 'L','STORE .F. TO;' )
- GenFldStore( 'D','STORE CTOD(" / / ") TO;' )
- endif
- #>>
- *
- * ---Initialize Global memory variables and OPEN file(s).
- dbfarea = "1"
- DO {fileprefix}_OPEN
- DO {fileprefix}_LOGO
- *
- * ---Execute main loop.
- STORE 1 TO CHOICE_X,CHOICE_Y
- DO WHILE .T.
- * ---Display main menu and get choice.
- DO {fileprefix}_MBAR WITH CHOICE_X,CHOICE_Y
- <<GenColor( 1,'WINDOW' )>>
- <<IF FOX>>
- * --- CHECK FOR HELP
- if readkey() = 36
- DO SYS_HELP
- STORE 0 TO CHOICE_X,CHOICE_Y
- endif
- <<ENDIF>>
- DO CASE
- * ---WE CHECK IF WE WANT TO QUIT FIRST
- CASE CHOICE_X = 6 && M_QUIT CHOICES
- DO {fileprefix}_QUIT WITH CHOICE_Y
- CASE CHOICE_X = 1 && M_FILE CHOICES
- IF (CHOICE_Y = 2 .OR. CHOICE_Y = 4) .AND. (LastRec = 0)
- <<if ismultials>>
- @ 24,0 CLEAR
- @ 24, 0 SAY "EMPTY DATABASE: Only" + ;
- " Append and Select are available."
- <<else>>
- @ 24,0 CLEAR
- @ 24, 0 SAY "EMPTY DATABASE: Only" + ;
- " Append is available."
- <<endif>>
- ?? CHR(7)
- STORE INKEY(0) TO STOP
- LOOP
- ENDIF
- DO CASE
- CASE CHOICE_Y = 1
- * ---DO APPEND.
- DO {fileprefix}_APPE
- CASE CHOICE_Y = 2
- * ---DO EDIT/VIEW.
- isedited = .F.
- DO {fileprefix}_EDIT WITH isedited
- CASE CHOICE_Y = 4
- * ---BROWSE the database file.
- * ---If you prefer the regular BROWSE, then
- * ---change the following line to IF .F.
- IF .T.
- DO {fileprefix}_BROW
- ELSE
- SET MENUS ON
- SET SCOREBOARD ON
- BROWSE
- SET SCOREBOARD OFF
- SET MENUS OFF
- ENDIF
- * ---It is advisable to close and reopen the
- * ---datafiles after extensive browsing/editing.
- CLOSE DATABASE
- CLOSE INDEX
- DO {fileprefix}_OPEN
- CASE CHOICE_Y = 5
- * ---DO INDEX.
- <<if ismultials>>
- DO {fileprefix}_PACK WITH 23
- <<else>>
- DO {fileprefix}_PACK WITH 23
- <<endif>>
- CASE CHOICE_Y = 6
- * ---DO EXPORT
- @ 23,0 CLEAR
- @ 24,0 SAY 'NOT IMPLEMENTED IN CURRENT VERSION'
- <<IF FOX>>
- STORE INKEY(2) TO STOP
- <<ELSE>>
- INKEY(2)
- <<ENDIF>>
-
- <<if ismultials>>
- CASE CHOICE_Y = 8
- * ---DO SELECT FILE.
- DO {fileprefix}_FILE WITH 18,choice
- <<endif>>
-
- ENDCASE && M_FILE
- CASE CHOICE_X = 2
- * ---DO REPORT.
- DO {fileprefix}_REPO WITH CHOICE_Y
- CASE CHOICE_X = 3
- * ---DO LABELS.
- DO {fileprefix}_LABE WITH CHOICE_Y
- CASE CHOICE_X = 4
- * ---MISC ROUTINES
- DO {fileprefix}_MISC WITH CHOICE_Y
- CASE CHOICE_X = 5
- DO CASE
- CASE CHOICE_Y = 1
- *---BACKUP
- DO {fileprefix}_BAK
- CASE CHOICE_Y = 2
- *---RESTORE
- DO {fileprefix}_REST
- CASE CHOICE_Y = 3
- *---RESTORE
- * DO {fileprefix}_ARCH
- @ 23,0 CLEAR
- @ 24,0 SAY 'NOT IMPLEMENTED IN CURRENT VERSION'
- <<IF FOX>>
- STORE INKEY(2) TO STOP
- <<ELSE>>
- INKEY(2)
- <<ENDIF>>
- ENDCASE
- ENDCASE
- ENDDO
- <<end>> <<*GenMainBody*>>
-
- <<* EOF: MSAMAIN.INC *>>