home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a070 / 3.ddi / FOXPRO / TEMPLGEN / SIMUTIL.INC < prev   
Encoding:
Text File  |  1988-02-11  |  2.3 KB  |  103 lines

  1. <<* SIMUTIL.INC *>>
  2. <<#pragma
  3.  
  4. procedure DisplayFormat
  5. string box
  6. begin
  7.   forall fldlab
  8.     if fldtyp = 'B'  <<*BOX Type*>>
  9.       box := fldlab  <<*Used to swap chars for Character box*>>
  10.       gen( '   @ ',fldrow,',',fldcol,',' )
  11.       gen( fldrow+flddec,',',fldcol+fldwid,' BOX "' )
  12.       genln( substr(box,1,3),box[5],box[8],box[7],box[6],box[4],'"' )
  13.     else  <<*All Fields and Text Objects*>>
  14.       genln( '   @ ',fldrow,',',fldcol,' SAY "',fldlab,'"' )
  15.     endif
  16.   endfor
  17. end <<*DisplayFormat*>>
  18.  
  19.  
  20. procedure GenPicture
  21. string picstrg
  22. begin
  23.   if fldpic
  24.     gen( ' PICTURE "',fldpic,'"' )
  25.   elsif fldtyp = 'N'  <<*Force numeric picture*>>
  26.     picstrg := replicate( '9',fldwid )
  27.     if flddec
  28.       picstrg[ fldwid-flddec ] := '.'
  29.     endif
  30.     gen( ' PICTURE "',picstrg,'"' )
  31.   endif
  32. end <<*GenPicture*>>
  33.  
  34.  
  35. procedure DisplayRecord
  36. begin
  37.   <<*---Only Char, Date, Logical, & Numeric fields---*>>
  38.   forall fldtyp $ 'CDLN'
  39.     if fldhor  <<*field on the side of label*>>
  40.       gen( '   @ ',fldrow,',',fldcol + len(fldlab),' GET ',fldnam )
  41.     else  <<*field below label*>>
  42.       gen( '   @ ',fldrow + 1,',',fldcol,' GET ',fldnam )
  43.     endif
  44.     GenPicture
  45.     genln  <<*Send CR/LF*>>
  46.   endfor
  47. end <<*DisplayRecord*>>
  48.  
  49.  
  50. procedure EditRecord( IsAutoMem : logical )
  51. begin
  52.   forall fldget and (fldtyp $ 'CDLN')
  53.     gen( space(3) )
  54.     if fldhor
  55.       gen( '@ ',fldrow,',',fldcol+len(fldlab),' GET ' )
  56.     else
  57.       gen( '@ ',fldrow+1,',',fldcol,' GET ' )
  58.     endif
  59.     if IsAutoMem
  60.       gen( 'm' )
  61.     endif
  62.     gen( fldnam )
  63.     GenPicture
  64.     if fldran
  65.       gen( ' RANGE ',fldran )
  66.     elsif fldval
  67.       gen( ' VALID(',fldval,')' )
  68.     endif
  69.     genln  <<*Send CR/LF*>>
  70.   endfor
  71. end <<*EditRecord*>>
  72.  
  73.  
  74. function DefaultVal : string
  75. begin
  76.   if fldtyp = 'C'
  77.     RETURN 'SPACE( ' + str( fldwid ) + ' )'
  78.   elsif fldtyp = 'N'
  79.     RETURN '0.00'
  80.   elsif fldtyp = 'D'
  81.     RETURN 'DATE()'
  82.   else
  83.     RETURN '.F.'
  84.   endif
  85. end <<*DefaultVal*>>
  86.  
  87.  
  88. procedure BlankRecord
  89. string temp
  90. begin
  91.   forall fldget and (fldtyp $ 'CDLN')
  92.     if fldini
  93.       genln( '   m',fldnam,' = ',fldini )
  94.     else
  95.       temp := DefaultVal
  96.       genln( '   m',fldnam,' = ',temp )
  97.     endif
  98.   endfor
  99. end <<*BlankRecord*>>
  100.  
  101. <<* SIMUTIL.INC *>>
  102. #>>
  103.