home *** CD-ROM | disk | FTP | other *** search
- <<* MSACOND.INC *>>
-
- <<* MODIFIED BY R. BORTER, JR. *>>
-
-
- <<#
- procedure GenCondWithEdit <<*Everyone can edit*>>
- string keys
- begin
- pushmargin( 1 )
- GenColor( 0,'PROMPT' )
- #>>
- menuchoice = 0
- MSG1 = "Add"
- MSG2 = "Edit"
- MSG3 = "Select"
- MSG4 = "Next Page"
- MSG5 = "Prev-Page"
- MSG6 = "Delete"
- MSG7 = "Return"
- DO {FILEPREFIX}_MENU WITH 1,50,7,10
- <<keys := '"AES"+PgUp+PgDn+DelRecord+Returnkey'>>
- choice=SUBSTR(Returnkey+{keys},menuchoice+1,1)
- <<popmargin>>
- <<end GenCondWithEdit>>
-
-
- <<procedure GenCondMain( IsTypeAvail : logical )>>
- <<begin>>
- PARAMETER expr,notes
- PRIVATE row,rowTOP,recnum,recnumTOP
- PRIVATE newexpr,newnote,PagePaint,skipRECS,exprTOTAL
- SELECT H
- GOTO BOTTOM
- IF EOF()
- exprTOTAL = 0
- recnumTOP = 0
- ELSE
- exprTOTAL = RECNO()
- GOTO TOP
- recnumTOP = RECNO()
- ENDIF
- skipRECS = 18
- row = 23
- rowTOP = 2
- recnum = 0
- expr = ""
- notes = ""
- newexpr = ""
- newnote = ""
- PagePaint = .T.
- *
- DO WHILE .T.
- IF PagePaint
- <<GenColor( 2,'WINDOW' )>>
- @ 0,0 CLEAR
- <<GenColor( 2,'PROMPT' )>>
- @ rowTOP,0 SAY REPLICATE( CHR(176),80 )
- @ rowTOP,20 SAY " CONDITIONS "
- @ rowTOP,57 SAY " NOTES/HEADINGS "
- @ row-1,0 SAY PromptBar
- @ rowTOP,0 SAY ""
- IF recnumTOP > 0 .AND. RECCOUNT() >= 1
- GOTO recnumTOP
- ENDIF
- SET HEADING OFF
- LIST NEXT skipRECS CHR(179)+SUBSTR( CondExpr,1,38 )+CHR(179)+ ;
- SUBSTR( CondNote,1,30 ) FOR CondArea = dbfarea
- SET HEADING ON
- PagePaint = .F.
- ENDIF
- IF "" = expr
- <<GenColor( 2,'PROMPT' )>>
- @ row-2,0
- ELSE
- <<GenColor( 2,'PROMPT' )>>
- @ row-2,0 SAY "<selected>"
- <<GenColor( 2,'HILITE' )>>
- @ row-2,11 SAY SUBSTR( expr,1,69 )
- ENDIF
- <<GenCondWithEdit>>
- DO CASE
- CASE choice = Returnkey
- EXIT
- CASE choice = "A"
- * ---Add new CONDITION.
- ?? SYS(2002,1)
- DO {fileprefix}_EXPR WITH newexpr
- IF "" <> TRIM(newexpr)
- newnote = SPACE(40)
- @ 20,19 CLEAR TO 22,60
- @ 20,19 TO 22,60
- @ 20,21 SAY ' Notes '
- @ 21,20 GET newnote
- READ
- APPEND BLANK
- REPLACE CondExpr WITH newexpr,CondArea WITH dbfarea, ;
- CondNote with newnote
- expr = CondExpr
- notes = CondNote
- exprTOTAL = exprTOTAL + 1
- ENDIF
- PagePaint = .T.
- ?? SYS(2002)
- CASE choice = "E"
- * ---Edit CONDITION.
- DO GotoRec WITH row,recnum,exprTOTAL
- ?? SYS(2002,1)
- IF recnum > 0 .AND. CondArea = dbfarea
- recnumTOP = RECNO()
- SAVE SCREEN TO CONDEDIT
- @ 9,7 CLEAR TO 11,72
- @ 9,7 TO 11,72
- @ 9,9 SAY ' Edit Condition '
- @ 12,19 CLEAR TO 14,60
- @ 12,19 TO 14,60
- @ 12,21 SAY 'Edit Notes '
- @ 10,8 GET CondExpr PICT "@S64"
- @ 13,20 GET CondNote
- READ
- RESTORE SCREEN FROM CONDEDIT
- expr = CondExpr
- notes = CondNote
- PagePaint = .T.
- ENDIF
- ?? SYS(2002)
- CASE choice = "S"
- ?? SYS(2002,1)
- * ---Select CONDITION.
- DO GotoRec WITH row,recnum,exprTOTAL
- IF recnum = 0 .OR. CondArea <> dbfarea
- expr = ""
- notes = ""
- ELSE
- expr = CondExpr
- notes = CondNote
- ENDIF
- ?? SYS(2002)
- CASE choice = PgDn
- IF .NOT. EOF()
- IF recnumTOP > 0
- GOTO recnumTOP
- ENDIF
- SKIP skipRECS
- IF EOF()
- GOTO BOTTOM
- ENDIF
- recnumTOP = RECNO()
- PagePaint = .T.
- ENDIF
- CASE choice = PgUp
- IF .NOT. BOF()
- IF recnumTOP > 0
- GOTO recnumTOP
- ENDIF
- SKIP -skipRECS
- IF BOF()
- GOTO TOP
- ENDIF
- recnumTOP = RECNO()
- PagePaint = .T.
- ENDIF
- CASE choice = DelRecord
- * ---Delete the record.
- DO GotoRec WITH row,recnum,exprTOTAL
- IF recnum > 0 .AND. CondArea = dbfarea
- DELETE
- PACK
- IF exprTOTAL > 0
- exprTOTAL = exprTOTAL - 1
- ENDIF
- GOTO TOP
- recnumTOP = RECNO()
- PagePaint = .T.
- ENDIF
- ENDCASE
- ENDDO
- expr = TRIM( expr )
- notes = TRIM( notes )
- SELECT &dbfarea
- <<end GenCondMain>>
-
-
- <<#
- procedure GenCondBody
- begin
- GenCondMain( true )
- end GenCondBody
-
- <<* EOF: MSACOND.INC *>>
- #>>