home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a044 / 2.ddi / POPUPWIN.DFT < prev    next >
Encoding:
Text File  |  1993-08-31  |  3.1 KB  |  186 lines

  1. *:
  2. *: POPUPWIN.DFT - dBFast Pop up Window Template File
  3. *:
  4. *:     Project: <<PROJECT_NAME>>
  5. *:
  6. *:     Program: <<PROG_NAME>>
  7. *: Description: <<DESC>>
  8. *:      Author: <<AUTHOR>>
  9. *:    Copyright <<COPYRITE>>
  10. *:
  11.  
  12. <<DO WHILE DLLS>>
  13. <<DECLARE_DLL>>
  14. <<ENDDO>>
  15.  
  16. SET PROCEDURE TO <<PROG_NAME>>
  17.  
  18. <<DO WHILE PROC_LIBS>>
  19. SET PROCEDURE TO <<PROC_LIB>> && Set user procedure file
  20. <<ENDDO>>
  21.  
  22. SET DELETED ON
  23. SET CONFIRM ON
  24.  
  25. SET EVENTMSK TO 159
  26.  
  27. SET READ VIDEO TO 240
  28.  
  29. <<SET_FONTS>>
  30.  
  31. <<CREATE WINDOW>>
  32. IF .NOT. EMPTY("<<TITLE>>")
  33.   SET WINDOW TITLE TO "<<TITLE>>"
  34. ENDIF
  35. <<SCREEN_COLOR>>
  36. SET CURSOR TO WAIT
  37.  
  38. *: Declare PUBLICS and initialize memory variables
  39. PUBLIC nTheMenu, nTheOption, nTheKey, sTheWindow, sTheButton
  40. <<MEM_VARS>>
  41.  
  42. <<DO WHILE DATAFILES>>
  43. IF FILE("<<DATAFILE>>.DBF")
  44.   SELECT <<WORKAREA>>
  45.   USE <<DATAFILE>>
  46.   <<IF INDEXES>>
  47.   SET INDEX TO <<INDEXES>>
  48.   <<ENDIF>>
  49.   <<IF FIELDLIST>>
  50.   SET FIELDS TO <<FIELDLIST>>
  51.   SET FIELDS ON
  52.   <<ENDIF>>
  53.   <<IF FILTER>>
  54.   SET FILTER TO <<FILTER>>
  55.   <<ENDIF>>
  56. ELSE
  57.   WARNING(csNoDataFile,"<<DATAFILE>>",387)
  58.   CLOSE WINDOW '<<PROG_NAME>>'
  59.   RETURN
  60. ENDIF
  61. <<ENDDO>>
  62.  
  63. <<DO WHILE RELATIONS>>
  64. SELECT <<REL_FROM>>
  65. <<DO WHILE LINKS>>
  66.   SET RELATION TO <<REL_EXP>> INTO <<REL_TO>>
  67. <<ENDDO>>
  68. <<ENDDO>>
  69.  
  70. SELECT 1
  71.  
  72. <<DO BEFORE>>
  73.  
  74. <<DO WHILE CONTROLS>>
  75. <<CREATE CONTROL>>
  76. <<ENDDO>>
  77.  
  78. *: Init sAction to something so it is not empty
  79. sAction = '?'
  80.  
  81. SET CURSOR TO ARROW
  82.  
  83. DO WHILE .NOT. EMPTY(sAction)
  84.  
  85.   DO <<PROG_NAME>>_Calcs
  86.   
  87.   UPDATE CONTROL ALL
  88.   UPDATE GETS
  89.  
  90.   READ SAVE MODAL
  91.  
  92.   nEvent     = EVENT()
  93.   nTheRow    = MROW()
  94.   nTheCol    = MCOL()
  95.   nTheMenu   = HMENU()
  96.   nTheOption = VMENU()
  97.   nTheKey    = LASTKEY()
  98.   sTheButton = BUTTON()
  99.  
  100.   sAction = <<PROG_NAME>>_Translate(nEvent)
  101.   DO <<PROG_NAME>>_Action
  102. ENDDO
  103.  
  104. sAction = '?'
  105.  
  106. CLOSE WINDOW '<<PROG_NAME>>'
  107.  
  108. <<DO AFTER>>
  109.  
  110. RETURN
  111.  
  112.  
  113. *****************************
  114. FUNCTION <<PROG_NAME>>_Translate()
  115. *****************************
  116. PARAMETER nTheEvent
  117. PRIVATE sTheAction
  118.  
  119.   sTheAction = ' '
  120.   DO CASE
  121.      CASE nTheEvent = eClose
  122.         sTheAction = 'CLOSE'
  123.  
  124. <<IF KEYS>>
  125.      CASE nTheEvent = eKybd
  126.         DO CASE
  127.   <<DO WHILE KEYS>>
  128.           CASE ExactMatch(nTheKey, <<THE_KEY>>)
  129.              sTheAction = '<<THE_NAME>>'
  130.   <<ENDDO>>
  131.         ENDCASE
  132. <<ENDIF>>
  133.  
  134. <<IF BUTTONS>>
  135.      CASE nTheEvent = eButton
  136.         DO CASE
  137.   <<DO WHILE BUTTONS>>
  138.           CASE ExactMatch(sTheButton, '<<THE_NAME>>')
  139.              sTheAction = '<<THE_NAME>>'
  140.   <<ENDDO>>
  141.         ENDCASE
  142. <<ENDIF>>
  143.  
  144.      OTHERWISE
  145.         sTheAction = '?'
  146.   ENDCASE
  147. RETURN(sTheAction)
  148.  
  149.  
  150. *************************
  151. PROCEDURE <<PROG_NAME>>_Action
  152. *************************
  153.  
  154.   DO CASE
  155.      CASE sAction = 'CLOSE'
  156.         sAction = ''
  157.  
  158. <<DO WHILE ACTIONS>>
  159.      CASE ExactMatch(sAction, '<<THE_NAME>>')
  160.         <<DO ACTION>>
  161. <<ENDDO>>
  162.   ENDCASE
  163. RETURN
  164.  
  165.  
  166. *************************
  167. PROCEDURE <<PROG_NAME>>_Calcs
  168. *************************
  169.  
  170. <<DO WHILE CALC_FIELDS>>
  171.   <<CREATE CALC_FIELD>>
  172. <<ENDDO>>
  173. RETURN
  174.  
  175.  
  176. *************************
  177. FUNCTION ExactMatch()
  178. *************************
  179. PARAMETERS sVar1, sVar2
  180.  
  181.     lReturn = .F.
  182.     SET EXACT ON
  183.     lReturn = (sVar1 = sVar2)
  184.     SET EXACT OFF
  185. RETURN(lReturn)
  186.