home *** CD-ROM | disk | FTP | other *** search
- <<* GENFLD.INC *>>
- <<#
-
- function fixfldnam : string
- begin
- if AutoMem and (fldals <> 'M')
- RETURN fldprefix + left( fldnam,10-len(fldprefix) )
- else
- RETURN fldnam
- endif
- end <<*fixfldnam*>>
-
-
- function fixautomem( expr : string ) : string
- <<*---Replace fldnam(s) with AutoMem fldnam(s)---*>>
- begin
- forall (fldtyp $ 'CDLN')
- expr := stuff( expr,at(upper(fldnam),upper(expr)),len(fldnam),fixfldnam )
- endfor
- RETURN expr
- end fixautomem
-
-
- procedure genLABEL
- integer row,cp,wid
- begin
- if fldtyp = 'B' <<*Box Type*>>
- GenBox
- elsif (fldtyp = 'T') and not fldhor <<*Vertical Text*>>
- row := fldrow
- wid := len( fldlab )
- for cp := 1 to wid
- GenSay( row,fldcol,substr( fldlab,cp,1 ) )
- row := row + 1
- end
- elsif fldlab <<*All Fields and Text Objects*>>
- GenSay( fldrow,fldcol,fldlab )
- endif
- end <<*genLABEL*>>
-
-
- function getFIELD( IsWithPrefix : logical ) : string
- integer row,col,fldlablen
- string strg,picstrg
- begin
- fldlablen := len( fldlab )
- row := fldrow
- col := fldcol
- if fldhor <<*SIDE*>>
- col := col + fldlablen
- else <<*BELOW*>>
- row := row + 1
- endif
- if fldsay
- strg := '@ ' + str( row,2 ) + ',' + str( col,2 ) + ' SAY '
- else
- strg := '@ ' + str( row,2 ) + ',' + str( col,2 ) + ' GET '
- end
- <<*---FIELD NAME---*>>
- if IsWithPrefix and (fldtyp <> 'M') and (fldals <> 'M')
- strg := strg + ljust( fldprefix + left( fldnam,10-len(fldprefix) ),10 )
- else <<*all others*>>
- if fldals $ 'AM' <<* PRIMARY and MEMORY workareas *>>
- strg := strg + ljust( fldnam,10 )
- else
- strg := strg + fldals + '->' + ljust( fldnam,10 )
- endif
- endif
- <<*---PICTURE---*>>
- if fldpic
- strg := strg + ' PICTURE "' + fldpic + '"'
- elsif fldtyp = 'N' <<*force picture on numerics*>>
- picstrg := replicate( '9',fldwid )
- if flddec
- picstrg[ fldwid-flddec ] := '.'
- endif
- strg := strg + ' PICTURE "' + picstrg + '"'
- endif
- RETURN strg
- end <<*getFIELD*>>
-
-
- procedure genFIELD
- string line
- begin
- <<*---@ row,col SAY/GET FIELD NAME, PICTURE---*>>
- line := getFIELD( AutoMem )
- <<*---RANGE---*>>
- if fldran
- line := line + ' RANGE ' + fldran
- endif
- <<*---VALID---*>>
- if fldval = ''
- genln( rtrim(line) )
- else
- genln( line,' VALID(',fixautomem(fldval),')' )
- endif
- end <<*genFIELD*>>
-
- <<* EOF: GENFLD.INC *>>
- #>>