home *** CD-ROM | disk | FTP | other *** search
- <<* MSAEXPR.INC *>>
- <<#
-
- function setquerymax : integer
- begin
- select all fields
- select fields on (fldtyp $ 'CDLN') and fldget
- if fldtotal > 42
- RETURN 42
- else
- RETURN fldtotal
- endif
- <<*---Leave FILTER active---*>>
- end setquerymax
-
-
- procedure GenExprBody
- string alpha
- integer total
- begin
- #>>
- PARAMETER expr
- PRIVATE row,fldnum,fldmax,phrase,connector
- row = 20
- expr = ""
- phrase = ""
- connector = " "
- <<GenColor( 0,'WINDOW' )>>
- @ 2,0 CLEAR
- <<GenColor( 0,'PROMPT' )>>
- @ 22,0 SAY PromptBar
- <<GenColor( 0,'WINDOW' )>>
- @ 1,0 SAY ""
- <<#
- if feat( featals )
- select all databases
- total := setquerymax
- genln( 'fldmax = ',total )
- GenQueryTable( total )
- elsif ismultials
- genln( 'DO CASE' )
- forall databases
- genln( 'CASE dbfarea = "',dbfcount,'"' )
- total := setquerymax
- genln( 'fldmax = ',total )
- GenQueryTable( total )
- endfor
- genln( 'ENDCASE' )
- else
- total := setquerymax
- genln( 'fldmax = ',total )
- GenQueryTable( total )
- endif
- #>>
- *
- IF fldmax = 0
- @ 23,0 SAY "No fields to build expression"
- WAIT
- RETURN
- ENDIF
- *
- DO WHILE .T.
- fldnum = 0
- @ row+1,0
- @ row,0
- @ row,0 SAY "Enter FIELD #";
- GET fldnum PICTURE "@Z 99" RANGE 0,fldmax
- READ
- IF fldnum = 0
- EXIT
- ENDIF
- *
- <<if ismultials and not feat(featals)>>
- DO CASE
- <<forall databases>>
- <<alpha := chr( dbfcount + 64 )>>
- CASE dbfarea = {"}{dbfcount}{"}
- DO {fileprefix}_{alpha}PHR WITH row,fldnum,phrase
- <<endfor>>
- ENDCASE
- <<else>>
- DO {fileprefix}_PHRA WITH row,fldnum,phrase
- <<endif>>
- DO CASE
- CASE "" = expr
- expr = phrase
- CASE connector = "A"
- expr = expr + ".AND." + phrase
- OTHERWISE
- expr = expr + ".OR." + phrase
- ENDCASE
- * ---Display expression.
- @ row+3,0 SAY expr
- * ---Get CONNECTOR selection.
- @ row+1,0
- @ row,0
- connector = "*"
- DO WHILE .NOT. (connector $ " AO")
- connector = " "
- @ row,0 SAY "Enter CONNECTOR" GET connector PICTURE "!"
- READ
- ENDDO
- DO CASE
- CASE connector = " " .OR. LEN(expr) > 100
- EXIT
- CASE connector = "A"
- @ row+3,0 SAY expr + ".AND."
- OTHERWISE
- @ row+3,0 SAY expr + ".OR."
- ENDCASE
- ENDDO
- <<end>> <<*GenExprBody*>>
-
- <<* EOF: MSAEXPR.INC *>>