home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a106 / 2.ddi / APPMENU.PR_ / APPMENU.bin
Encoding:
Text File  |  1994-04-28  |  31.4 KB  |  854 lines

  1. *       ╓─────────────────────────────────────────────────────────╖
  2. *       ║                                                         ║
  3. *       ║ 12/18/92             APPMENU.MPR              10:27:57  ║
  4. *       ║                                                         ║
  5. *       ╟─────────────────────────────────────────────────────────╢
  6. *       ║                                                         ║
  7. *       ║ Walter J. Kennamer                                      ║
  8. *       ║                                                         ║
  9. *       ║ Copyright (c) 1992 Microsoft Corp.                      ║
  10. *       ║ One Microsoft Way                                       ║
  11. *       ║ Redmond, WA  98027                                      ║
  12. *       ║                                                         ║
  13. *       ║ Description:                                            ║
  14. *       ║ This program was automatically generated by GENMENU.    ║
  15. *       ║                                                         ║
  16. *       ╙─────────────────────────────────────────────────────────╜
  17.  
  18.  
  19. *       ╓─────────────────────────────────────────────────────────╖
  20. *       ║                                                         ║
  21. *       ║                        Setup Code                       ║
  22. *       ║                                                         ║
  23. *       ╙─────────────────────────────────────────────────────────╜
  24. *
  25.  
  26. SET SYSMENU AUTOMATIC
  27. EXTERNAL PROCEDURE showpop, juststem, justfname, justpath, addbs, ;
  28.    forceext, defaultext, justext
  29.  
  30. IF TYPE("SKIPVAR") <> "U"
  31.    RELEASE m.skipvar
  32. ENDIF
  33. PUBLIC m.skipvar
  34. m.skipvar = .F.
  35. CLEAR MACRO
  36.  
  37.  
  38. *       ╓─────────────────────────────────────────────────────────╖
  39. *       ║                                                         ║
  40. *       ║                      Menu Definition                    ║
  41. *       ║                                                         ║
  42. *       ╙─────────────────────────────────────────────────────────╜
  43. *
  44.  
  45. SET SYSMENU TO
  46.  
  47. SET SYSMENU AUTOMATIC
  48.  
  49. DEFINE PAD _qbp0mfk5s OF _MSYSMENU PROMPT "\<File" COLOR SCHEME 3
  50. DEFINE PAD _qbp0mfk67 OF _MSYSMENU PROMPT "\<Edit" COLOR SCHEME 3 ;
  51.     KEY ALT+E, ""
  52. DEFINE PAD _qbp0mfk7o OF _MSYSMENU PROMPT "\<Application" COLOR SCHEME 3 ;
  53.     KEY ALT+A, ""
  54. DEFINE PAD _qbp0mfk88 OF _MSYSMENU PROMPT "\<Utilities" COLOR SCHEME 3 ;
  55.     KEY ALT+U, ""
  56. DEFINE PAD _qbp0mfk9f OF _MSYSMENU PROMPT "\<Help" COLOR SCHEME 3 ;
  57.     KEY ALT+S, ""
  58. ON PAD _qbp0mfk5s OF _MSYSMENU ACTIVATE POPUP file
  59. ON PAD _qbp0mfk67 OF _MSYSMENU ACTIVATE POPUP edit
  60. ON PAD _qbp0mfk7o OF _MSYSMENU ACTIVATE POPUP applicatio
  61. ON PAD _qbp0mfk88 OF _MSYSMENU ACTIVATE POPUP utilities
  62. ON PAD _qbp0mfk9f OF _MSYSMENU ACTIVATE POPUP help
  63.  
  64. DEFINE POPUP file MARGIN RELATIVE SHADOW COLOR SCHEME 13
  65. DEFINE BAR _MFI_SETUP OF file PROMPT "\<Print Setup"
  66. DEFINE BAR 2 OF file PROMPT "\-"
  67. DEFINE BAR 3 OF file PROMPT "\<Quit"
  68. ON SELECTION BAR 3 OF file ;
  69.     DO _qbp0mfkiu ;
  70.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  71.  
  72. DEFINE POPUP edit MARGIN RELATIVE SHADOW COLOR SCHEME 4
  73. DEFINE BAR _MED_CUT OF edit PROMPT "Cu\<t" ;
  74.     KEY CTRL+X, "Ctrl+X"
  75. DEFINE BAR _MED_COPY OF edit PROMPT "\<Copy" ;
  76.     KEY CTRL+C, "Ctrl+C"
  77. DEFINE BAR _MED_PASTE OF edit PROMPT "\<Paste" ;
  78.     KEY CTRL+V, "Ctrl+V"
  79. DEFINE BAR _MED_PSTLK OF edit PROMPT "Paste \<Special..."
  80. DEFINE BAR _MED_CLEAR OF edit PROMPT "Clear"
  81. DEFINE BAR _MED_SP200 OF edit PROMPT "\-"
  82. DEFINE BAR _MED_INSOB OF edit PROMPT "\<Insert Object..."
  83. DEFINE BAR _MED_OBJ OF edit PROMPT "\<Object..."
  84. DEFINE BAR _MED_LINK OF edit PROMPT "Change Lin\<k"
  85. DEFINE BAR _MED_CVTST OF edit PROMPT "Con\<vert To Static"
  86. DEFINE BAR _med_sp300 OF edit PROMPT "\-"
  87. DEFINE BAR _MED_SLCTA OF edit PROMPT "Select \<All" ;
  88.     KEY CTRL+A, "Ctrl+A"
  89. DEFINE BAR _MED_SP300 OF edit PROMPT "\-"
  90. DEFINE BAR _MED_PREF OF edit PROMPT "\<Preferences..."
  91.  
  92. DEFINE POPUP applicatio MARGIN RELATIVE SHADOW COLOR SCHEME 4
  93. DEFINE BAR 1 OF applicatio PROMPT "\<Top" ;
  94.     KEY F2, "F2" ;
  95.     SKIP FOR skipvar or bof()
  96. DEFINE BAR 2 OF applicatio PROMPT "\<Bottom" ;
  97.     KEY F3, "F3" ;
  98.     SKIP FOR skipvar or eof()
  99. DEFINE BAR 3 OF applicatio PROMPT "\<Next" ;
  100.     KEY F4, "F4" ;
  101.     SKIP FOR skipvar or eof()
  102. DEFINE BAR 4 OF applicatio PROMPT "\<Prior" ;
  103.     KEY F5, "F5" ;
  104.     SKIP FOR skipvar or bof()
  105. DEFINE BAR _MWI_ROTAT OF applicatio PROMPT "C\<ycle" ;
  106.     KEY CTRL+F1, "Ctrl+F1"
  107. DEFINE BAR 6 OF applicatio PROMPT "\-"
  108. DEFINE BAR 7 OF applicatio PROMPT "\<Add Record" ;
  109.     KEY CTRL+N, "Ctrl+N" ;
  110.     SKIP FOR skipvar
  111. DEFINE BAR 8 OF applicatio PROMPT "\<Copy Record" ;
  112.     SKIP FOR skipvar
  113. DEFINE BAR 9 OF applicatio PROMPT "\<Delete Record" ;
  114.     KEY CTRL+D, "Ctrl+D" ;
  115.     SKIP FOR skipvar
  116. DEFINE BAR 10 OF applicatio PROMPT "\-"
  117. DEFINE BAR 11 OF applicatio PROMPT "Bro\<wse" ;
  118.     KEY CTRL+B, "Ctrl+B" ;
  119.     SKIP FOR skipvar
  120. DEFINE BAR 12 OF applicatio PROMPT "\<Search..." ;
  121.     KEY CTRL+S, "Ctrl+S" ;
  122.     SKIP FOR skipvar
  123. DEFINE BAR 13 OF applicatio PROMPT "\<Filter..." ;
  124.     KEY CTRL+F, "Ctrl+F" ;
  125.     SKIP FOR skipvar
  126. DEFINE BAR 14 OF applicatio PROMPT "\<Order..." ;
  127.     KEY CTRL+O, "Ctrl+O" ;
  128.     SKIP FOR skipvar
  129. DEFINE BAR 15 OF applicatio PROMPT "\-"
  130. DEFINE BAR 16 OF applicatio PROMPT "Pick \<List" ;
  131.     KEY CTRL+L, "Ctrl+L" ;
  132.     SKIP FOR m.skipvar or m.nextdbf <= 2
  133. DEFINE BAR 17 OF applicatio PROMPT "\-"
  134. DEFINE BAR 18 OF applicatio PROMPT "\<Query..." ;
  135.     KEY CTRL+Q, "Ctrl+Q" ;
  136.     SKIP FOR skipvar or ('EXE' $ VERSION())
  137. DEFINE BAR 19 OF applicatio PROMPT "\<Report..." ;
  138.     KEY CTRL+R, "Ctrl+R" ;
  139.     SKIP FOR skipvar
  140. ON SELECTION BAR 1 OF applicatio ;
  141.     DO _qbp0mfl41 ;
  142.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  143. ON SELECTION BAR 2 OF applicatio ;
  144.     DO _qbp0mfl5b ;
  145.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  146. ON SELECTION BAR 3 OF applicatio ;
  147.     DO _qbp0mfl6r ;
  148.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  149. ON SELECTION BAR 4 OF applicatio ;
  150.     DO _qbp0mfl84 ;
  151.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  152. ON SELECTION BAR 7 OF applicatio ;
  153.     DO _qbp0mfla5 ;
  154.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  155. ON SELECTION BAR 8 OF applicatio ;
  156.     DO _qbp0mflbj ;
  157.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  158. ON SELECTION BAR 9 OF applicatio ;
  159.     DO _qbp0mfld5 ;
  160.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  161. ON SELECTION BAR 11 OF applicatio ;
  162.     DO _qbp0mflek ;
  163.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  164. ON SELECTION BAR 12 OF applicatio ;
  165.     DO _qbp0mflfz ;
  166.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  167. ON SELECTION BAR 13 OF applicatio ;
  168.     DO _qbp0mflhb ;
  169.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  170. ON SELECTION BAR 14 OF applicatio ;
  171.     DO _qbp0mflin ;
  172.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  173. ON SELECTION BAR 16 OF applicatio DO showpop WITH ALIAS(),VARREAD()
  174. ON SELECTION BAR 18 OF applicatio ;
  175.     DO _qbp0mflkv ;
  176.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  177. ON SELECTION BAR 19 OF applicatio ;
  178.     DO _qbp0mflma ;
  179.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  180.  
  181. DEFINE POPUP utilities MARGIN RELATIVE SHADOW COLOR SCHEME 4
  182. DEFINE BAR 1 OF utilities PROMPT "\<Refresh Screen" ;
  183.     SKIP FOR skipvar
  184. DEFINE BAR 2 OF utilities PROMPT "\<Construct Index" ;
  185.     SKIP FOR skipvar
  186. DEFINE BAR 3 OF utilities PROMPT "\<Pack" ;
  187.     SKIP FOR skipvar
  188. ON SELECTION BAR 1 OF utilities ;
  189.     DO _qbp0mflru ;
  190.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  191. ON SELECTION BAR 2 OF utilities ;
  192.     DO _qbp0mfltb ;
  193.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  194. ON SELECTION BAR 3 OF utilities ;
  195.     DO _qbp0mflut ;
  196.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  197.  
  198. DEFINE POPUP help MARGIN RELATIVE SHADOW COLOR SCHEME 4
  199. DEFINE BAR _MST_HELP OF help PROMPT "\<Help..." ;
  200.     KEY F1, "F1"
  201. DEFINE BAR 2 OF help PROMPT "\-"
  202. DEFINE BAR _MST_MACRO OF help PROMPT "\<Macros"
  203. DEFINE BAR _MST_CALCU OF help PROMPT "\<Calculator"
  204. DEFINE BAR _MST_DIARY OF help PROMPT "Calendar/\<Diary"
  205. DEFINE BAR _MST_PUZZL OF help PROMPT "Pu\<zzle"
  206. DEFINE BAR 7 OF help PROMPT "\-"
  207. DEFINE BAR 8 OF help PROMPT "\<About..."
  208. ON SELECTION BAR 8 OF help ;
  209.     DO _qbp0mfm20 ;
  210.     IN LOCFILE("FOXAPPW\MENUS\APPMENU" ,"MPX;MPR|FXP;PRG" ,"Where is APPMENU?")
  211.  
  212.  
  213. *       ╓─────────────────────────────────────────────────────────╖
  214. *       ║                                                         ║
  215. *       ║ _QBP0MFKIU  ON SELECTION BAR 3 OF POPUP file            ║
  216. *       ║                                                         ║
  217. *       ║ Procedure Origin:                                       ║
  218. *       ║                                                         ║
  219. *       ║ From Menu:  APPMENU.MPR,            Record:    8        ║
  220. *       ║ Called By:  ON SELECTION BAR 3 OF POPUP file            ║
  221. *       ║ Prompt:     Quit                                        ║
  222. *       ║ Snippet:    1                                           ║
  223. *       ║                                                         ║
  224. *       ╙─────────────────────────────────────────────────────────╜
  225. *
  226. PROCEDURE _qbp0mfkiu
  227. * Select the main database
  228. dbfstem = juststem(m.dbfname)
  229. SELECT (dbfstem)
  230. =actwin(m.win_name)
  231.  
  232. bailout = .T.
  233. CLEAR READ
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240. *       ╓─────────────────────────────────────────────────────────╖
  241. *       ║                                                         ║
  242. *       ║ _QBP0MFL41  ON SELECTION BAR 1 OF POPUP applicatio      ║
  243. *       ║                                                         ║
  244. *       ║ Procedure Origin:                                       ║
  245. *       ║                                                         ║
  246. *       ║ From Menu:  APPMENU.MPR,            Record:   27        ║
  247. *       ║ Called By:  ON SELECTION BAR 1 OF POPUP applicatio      ║
  248. *       ║ Prompt:     Top                                         ║
  249. *       ║ Snippet:    2                                           ║
  250. *       ║                                                         ║
  251. *       ╙─────────────────────────────────────────────────────────╜
  252. *
  253. PROCEDURE _qbp0mfl41
  254. GOTO TOP
  255. ACTIVATE WINDOW appctrl
  256. SHOW GETS
  257.  
  258.  
  259.  
  260. *       ╓─────────────────────────────────────────────────────────╖
  261. *       ║                                                         ║
  262. *       ║ _QBP0MFL5B  ON SELECTION BAR 2 OF POPUP applicatio      ║
  263. *       ║                                                         ║
  264. *       ║ Procedure Origin:                                       ║
  265. *       ║                                                         ║
  266. *       ║ From Menu:  APPMENU.MPR,            Record:   28        ║
  267. *       ║ Called By:  ON SELECTION BAR 2 OF POPUP applicatio      ║
  268. *       ║ Prompt:     Bottom                                      ║
  269. *       ║ Snippet:    3                                           ║
  270. *       ║                                                         ║
  271. *       ╙─────────────────────────────────────────────────────────╜
  272. *
  273. PROCEDURE _qbp0mfl5b
  274. GOTO BOTTOM
  275. SHOW GETS
  276.  
  277.  
  278.  
  279. *       ╓─────────────────────────────────────────────────────────╖
  280. *       ║                                                         ║
  281. *       ║ _QBP0MFL6R  ON SELECTION BAR 3 OF POPUP applicatio      ║
  282. *       ║                                                         ║
  283. *       ║ Procedure Origin:                                       ║
  284. *       ║                                                         ║
  285. *       ║ From Menu:  APPMENU.MPR,            Record:   29        ║
  286. *       ║ Called By:  ON SELECTION BAR 3 OF POPUP applicatio      ║
  287. *       ║ Prompt:     Next                                        ║
  288. *       ║ Snippet:    4                                           ║
  289. *       ║                                                         ║
  290. *       ╙─────────────────────────────────────────────────────────╜
  291. *
  292. PROCEDURE _qbp0mfl6r
  293. SKIP
  294. IF EOF()
  295.    WAIT WINDOW "Bottom of file" NOWAIT
  296.    GOTO BOTTOM
  297. ENDIF
  298. SHOW GETS
  299.  
  300.  
  301.  
  302. *       ╓─────────────────────────────────────────────────────────╖
  303. *       ║                                                         ║
  304. *       ║ _QBP0MFL84  ON SELECTION BAR 4 OF POPUP applicatio      ║
  305. *       ║                                                         ║
  306. *       ║ Procedure Origin:                                       ║
  307. *       ║                                                         ║
  308. *       ║ From Menu:  APPMENU.MPR,            Record:   30        ║
  309. *       ║ Called By:  ON SELECTION BAR 4 OF POPUP applicatio      ║
  310. *       ║ Prompt:     Prior                                       ║
  311. *       ║ Snippet:    5                                           ║
  312. *       ║                                                         ║
  313. *       ╙─────────────────────────────────────────────────────────╜
  314. *
  315. PROCEDURE _qbp0mfl84
  316. SKIP -1
  317. IF BOF()
  318.    WAIT WINDOW "Top of file" NOWAIT
  319.    GOTO TOP
  320. ENDIF
  321. SHOW GETS
  322.  
  323.  
  324.  
  325. *       ╓─────────────────────────────────────────────────────────╖
  326. *       ║                                                         ║
  327. *       ║ _QBP0MFLA5  ON SELECTION BAR 7 OF POPUP applicatio      ║
  328. *       ║                                                         ║
  329. *       ║ Procedure Origin:                                       ║
  330. *       ║                                                         ║
  331. *       ║ From Menu:  APPMENU.MPR,            Record:   33        ║
  332. *       ║ Called By:  ON SELECTION BAR 7 OF POPUP applicatio      ║
  333. *       ║ Prompt:     Add Record                                  ║
  334. *       ║ Snippet:    6                                           ║
  335. *       ║                                                         ║
  336. *       ╙─────────────────────────────────────────────────────────╜
  337. *
  338. PROCEDURE _qbp0mfla5
  339. * Add a record to the current database
  340. EXTERNAL ARRAY dbflist
  341.  
  342. PRIVATE allblank, i, fldname, sname, c_rec
  343.  
  344. IF (m.nextdbf <= 2) OR (ALIAS() = dbflist[1,m.cstemnum])
  345.    * Appending into main database
  346.  
  347.    * Always allow this if there are no records; otherwise check for existing
  348.    * blank records.
  349.    allblank = .F.
  350.    IF RECCOUNT() > 0
  351.       sname = juststem(m.dbfname)
  352.       SELECT &sname
  353.       GOTO TOP
  354.  
  355.       DO WHILE DELETED() AND !EOF()
  356.          SKIP
  357.       ENDDO
  358.       IF EOF()   && all records appear to be deleted
  359.          GOTO TOP
  360.       ENDIF
  361.  
  362.       =actwin(m.win_name)
  363.  
  364.       m.allblank = .T.
  365.       FOR i = 1 TO FCOUNT()
  366.          m.fldname = FIELD(i)
  367.          IF !EMPTY(&fldname)
  368.             m.allblank = .F.
  369.          ENDIF
  370.       ENDFOR
  371.  
  372.       * Make sure all records aren't deleted
  373.       IF m.allblank
  374.          IF RECCOUNT() < 10   && just a rule of thumb
  375.             COUNT FOR !DELETED() TO notdel
  376.             GOTO TOP
  377.             IF m.notdel = 0
  378.                m.allblank = .F.
  379.             ENDIF
  380.          ENDIF
  381.       ENDIF
  382.    ENDIF
  383.  
  384.    IF !m.allblank
  385.       APPEND BLANK
  386.       SHOW GETS
  387.    ENDIF
  388.  
  389.    _CUROBJ = 1
  390.  
  391.    =actwin(m.win_name)
  392.  
  393. ELSE   && appending record into a child browse
  394.    * Fill in the key fields.  First find the dbflist record for this
  395.    * database.
  396.    i = 1
  397.    got_it = .F.
  398.    DO WHILE i <= m.numareas AND !got_it
  399.       IF UPPER(dbflist[i,m.cstemnum]) == ALIAS()
  400.          got_it = .T.
  401.       ELSE
  402.          i = i + 1
  403.       ENDIF
  404.    ENDDO
  405.    * If we found the current database, figure out what the parent database
  406.    * is and make sure that the parent is not at EOF().
  407.    IF !EOF(dbflist[m.i,m.pdbfnum])
  408.        * Also determine what its key field is and make it default
  409.        * to the corresponding value in the parent database.  For
  410.        * example, if the current database is an invoice file, make the
  411.        * customer number default to the customer number of the current
  412.        * record in the customer file.
  413.        APPEND BLANK
  414.        IF got_it
  415.           * dbflist[m.i,m.cfldnum] looks like "DETAIL.INO"
  416.           childfld  = dbflist[m.i,m.cfldnum]
  417.           parentfld = dbflist[m.i,m.pfldnum]
  418.  
  419.           * Replace the key field into the newly appended record
  420.           REPLACE &childfld WITH &parentfld
  421.        ENDIF
  422.     ELSE
  423.        WAIT WINDOW "You cannot add a child record if there is no parent."
  424.     ENDIF
  425.     SHOW WINDOW (ALIAS()) REFRESH
  426. ENDIF
  427.  
  428.  
  429.  
  430. *       ╓─────────────────────────────────────────────────────────╖
  431. *       ║                                                         ║
  432. *       ║ _QBP0MFLBJ  ON SELECTION BAR 8 OF POPUP applicatio      ║
  433. *       ║                                                         ║
  434. *       ║ Procedure Origin:                                       ║
  435. *       ║                                                         ║
  436. *       ║ From Menu:  APPMENU.MPR,            Record:   34        ║
  437. *       ║ Called By:  ON SELECTION BAR 8 OF POPUP applicatio      ║
  438. *       ║ Prompt:     Copy Record                                 ║
  439. *       ║ Snippet:    7                                           ║
  440. *       ║                                                         ║
  441. *       ╙─────────────────────────────────────────────────────────╜
  442. *
  443. PROCEDURE _qbp0mflbj
  444. SCATTER MEMVAR
  445. APPEND BLANK
  446. GATHER MEMVAR
  447. IF TYPE("DBFLIST") = "U" OR ALIAS() == UPPER(dbflist[1,m.cstemnum])
  448.    SHOW GETS
  449.    =actwin(m.win_name)   && activate user window
  450. ENDIF
  451. SHOW WINDOW (ALIAS()) REFRESH
  452.  
  453.  
  454. *       ╓─────────────────────────────────────────────────────────╖
  455. *       ║                                                         ║
  456. *       ║ _QBP0MFLD5  ON SELECTION BAR 9 OF POPUP applicatio      ║
  457. *       ║                                                         ║
  458. *       ║ Procedure Origin:                                       ║
  459. *       ║                                                         ║
  460. *       ║ From Menu:  APPMENU.MPR,            Record:   35        ║
  461. *       ║ Called By:  ON SELECTION BAR 9 OF POPUP applicatio      ║
  462. *       ║ Prompt:     Delete Record                               ║
  463. *       ║ Snippet:    8                                           ║
  464. *       ║                                                         ║
  465. *       ╙─────────────────────────────────────────────────────────╜
  466. *
  467. PROCEDURE _qbp0mfld5
  468. * Delete this record (and any children for which the cascading
  469. * delete option is set) from the current database.
  470. IF RECCOUNT() > 0
  471.  
  472.    WAIT WINDOW "Deleting--Please wait." NOWAIT
  473.  
  474.    * Perform any necessary cascading deletes
  475.    IF m.nextdbf > 1
  476.       DO Cascade WITH ALIAS(), "DELETE"
  477.    ENDIF
  478.  
  479.    DELETE
  480.  
  481.    * Moving off the deleted record if we are in the main screen
  482.    IF TYPE("DBFLIST") = "U" OR ALIAS() = dbflist[1,m.cstemnum]
  483.       IF !EOF()
  484.          SKIP
  485.       ENDIF
  486.       IF EOF()
  487.          GOTO TOP
  488.       ENDIF
  489.       SHOW GETS
  490.    ELSE
  491.       SHOW WINDOW (ALIAS()) REFRESH
  492.    ENDIF
  493.  
  494.    WAIT CLEAR
  495. ENDIF
  496.  
  497.  
  498.  
  499. *       ╓─────────────────────────────────────────────────────────╖
  500. *       ║                                                         ║
  501. *       ║ _QBP0MFLEK  ON SELECTION BAR 11 OF POPUP applicatio     ║
  502. *       ║                                                         ║
  503. *       ║ Procedure Origin:                                       ║
  504. *       ║                                                         ║
  505. *       ║ From Menu:  APPMENU.MPR,            Record:   37        ║
  506. *       ║ Called By:  ON SELECTION BAR 11 OF POPUP applicatio     ║
  507. *       ║ Prompt:     Browse                                      ║
  508. *       ║ Snippet:    9                                           ║
  509. *       ║                                                         ║
  510. *       ╙─────────────────────────────────────────────────────────╜
  511. *
  512. PROCEDURE _qbp0mflek
  513. m.skipvar = .T.
  514. dbfstem = juststem(m.dbfname)
  515. SELECT (dbfstem)
  516. ON KEY LABEL enter KEYBOARD(CHR(23))
  517. BROWSE LAST NORMAL NOAPPEND COLOR SCHEME 10
  518. ON KEY LABEL enter
  519. SHOW MENU _msysmenu
  520. m.skipvar = .F.
  521. =actwin(m.win_name)
  522. SHOW GETS
  523.  
  524.  
  525.  
  526. *       ╓─────────────────────────────────────────────────────────╖
  527. *       ║                                                         ║
  528. *       ║ _QBP0MFLFZ  ON SELECTION BAR 12 OF POPUP applicatio     ║
  529. *       ║                                                         ║
  530. *       ║ Procedure Origin:                                       ║
  531. *       ║                                                         ║
  532. *       ║ From Menu:  APPMENU.MPR,            Record:   38        ║
  533. *       ║ Called By:  ON SELECTION BAR 12 OF POPUP applicatio     ║
  534. *       ║ Prompt:     Search...                                   ║
  535. *       ║ Snippet:    10                                          ║
  536. *       ║                                                         ║
  537. *       ╙─────────────────────────────────────────────────────────╜
  538. *
  539. PROCEDURE _qbp0mflfz
  540. dbfstem = juststem(m.dbfname)
  541. SELECT (dbfstem)
  542. IF !regen
  543.    mname = 'appsrch.prg'
  544. ELSE
  545.    mname = 'appsrch.spr'
  546. ENDIF
  547. DO (mname)
  548. SHOW GETS
  549.  
  550.  
  551.  
  552. *       ╓─────────────────────────────────────────────────────────╖
  553. *       ║                                                         ║
  554. *       ║ _QBP0MFLHB  ON SELECTION BAR 13 OF POPUP applicatio     ║
  555. *       ║                                                         ║
  556. *       ║ Procedure Origin:                                       ║
  557. *       ║                                                         ║
  558. *       ║ From Menu:  APPMENU.MPR,            Record:   39        ║
  559. *       ║ Called By:  ON SELECTION BAR 13 OF POPUP applicatio     ║
  560. *       ║ Prompt:     Filter...                                   ║
  561. *       ║ Snippet:    11                                          ║
  562. *       ║                                                         ║
  563. *       ╙─────────────────────────────────────────────────────────╜
  564. *
  565. PROCEDURE _qbp0mflhb
  566. m.orig_rec = RECNO()
  567. GETEXPR 'Filter Expression' TO filt_expr TYPE 'L' DEFAULT filt_expr
  568. IF !EMPTY(m.filt_expr)
  569.    SET FILTER TO &filt_expr
  570.    GOTO TOP
  571.    IF EOF()
  572.       WAIT WINDOW "No records match that filter" NOWAIT
  573.       SET FILTER TO
  574.       IF m.orig_rec <= RECCOUNT()
  575.          GOTO m.orig_rec
  576.       ENDIF
  577.    ENDIF
  578. ELSE
  579.    SET FILTER TO
  580. ENDIF
  581. SHOW GETS
  582.  
  583.  
  584.  
  585. *       ╓─────────────────────────────────────────────────────────╖
  586. *       ║                                                         ║
  587. *       ║ _QBP0MFLIN  ON SELECTION BAR 14 OF POPUP applicatio     ║
  588. *       ║                                                         ║
  589. *       ║ Procedure Origin:                                       ║
  590. *       ║                                                         ║
  591. *       ║ From Menu:  APPMENU.MPR,            Record:   40        ║
  592. *       ║ Called By:  ON SELECTION BAR 14 OF POPUP applicatio     ║
  593. *       ║ Prompt:     Order...                                    ║
  594. *       ║ Snippet:    12                                          ║
  595. *       ║                                                         ║
  596. *       ╙─────────────────────────────────────────────────────────╜
  597. *
  598. PROCEDURE _qbp0mflin
  599. dbfstem = juststem(m.dbfname)
  600. SELECT (dbfstem)
  601. IF !EMPTY(CDX(1))
  602.    IF !regen
  603.       mname = 'getorder.prg'
  604.    ELSE
  605.       mname = 'getorder.spr'
  606.    ENDIF
  607.    DO (mname)
  608.    SHOW GETS
  609. ELSE
  610.    WAIT WINDOW "No indexes were found"
  611. ENDIF
  612.  
  613.  
  614.  
  615. *       ╓─────────────────────────────────────────────────────────╖
  616. *       ║                                                         ║
  617. *       ║ _QBP0MFLKV  ON SELECTION BAR 18 OF POPUP applicatio     ║
  618. *       ║                                                         ║
  619. *       ║ Procedure Origin:                                       ║
  620. *       ║                                                         ║
  621. *       ║ From Menu:  APPMENU.MPR,            Record:   44        ║
  622. *       ║ Called By:  ON SELECTION BAR 18 OF POPUP applicatio     ║
  623. *       ║ Prompt:     Query...                                    ║
  624. *       ║ Snippet:    13                                          ║
  625. *       ║                                                         ║
  626. *       ╙─────────────────────────────────────────────────────────╜
  627. *
  628. PROCEDURE _qbp0mflkv
  629. PRIVATE gen_name, i, qname, pname, win_name
  630.  
  631. CREATE VIEW qprview
  632.  
  633. * Select the main database
  634. dbfstem = juststem(m.dbfname)
  635. SELECT (dbfstem)
  636.  
  637. skipvar = .T.
  638. gen_name = .F.
  639.  
  640. * Default query name is the database name with a QPR extension.
  641. m.qname = addbs(qprpath) + forceext(justfname(m.dbfname),'QPR')
  642.  
  643. * If there are multiple databases in this app, create a query template
  644. * so that the user doesn't have to enter all the relations again.
  645. IF m.nextdbf > 2 AND TYPE("dbflist") <> "U"
  646.    * Create a blank query file to pass the databases and relations
  647.    * along to RQBE
  648.  
  649.    * Try to come up with a reasonable-sounding unique name for the query,
  650.    * if the default name is already taken.
  651.    i = 0
  652.    DO WHILE FILE(m.qname) AND i < 100
  653.       m.qname = ALLTRIM(LEFT(juststem(m.qname),6)) + STR(i,2)
  654.       m.qname = CHRTRAN(m.qname,' ','0')
  655.       m.qname = forceext(m.qname,'QPR')
  656.       m.qname = addbs(m.qprpath) + m.qname
  657.       i = i + 1
  658.    ENDDO
  659.  
  660.    * Prompt the user for the query name and allow changes.
  661.    * Change to the directory the user wants to use so that the
  662.    * PUTFILE directory defaults are right.
  663.    in_dir = SET('DEFAULT')+CURDIR()
  664.    SET DEFAULT TO &qprpath
  665.    m.qname = PUTFILE('Query name',m.qname,'QPR','OK')
  666.    SET DEFAULT TO &in_dir
  667.  
  668.    IF EMPTY(m.qname)   && user changed his mind.
  669.       skipvar = .F.
  670.       RETURN
  671.    ELSE
  672.       * Use this path for future queries
  673.       qprpath = justpath(m.qname)
  674.    ENDIF
  675.  
  676.    * Create the query template file
  677.    SET TEXTMERGE TO &qname
  678.    SET TEXTMERGE ON
  679.    SET CONSOLE OFF
  680.  
  681.    gen_name = .T.     && note that this is a generated file
  682.  
  683.    \SELECT * ;
  684.    \ FROM <<dbflist[1,m.cstemnum]>>
  685.    FOR i = 2 TO m.nextdbf - 1
  686.       \\, <<dbflist[i,m.cstemnum]>>
  687.    ENDFOR
  688.    \\ ;
  689.    \ WHERE ;
  690.    FOR i = 2 TO m.nextdbf - 1
  691.       IF i > 2
  692.          \   AND
  693.       ELSE
  694.          \
  695.       ENDIF
  696.       \\   <<dbflist[i,m.cfldnum]>> = <<dbflist[i,m.pfldnum]>> ;
  697.    ENDFOR
  698.    \INTO CURSOR FoxApp
  699.    \BROWSE NOMODIFY
  700.  
  701.    SET CONSOLE ON
  702.    SET TEXTMERGE OFF
  703.    SET TEXTMERGE TO
  704. ELSE
  705.    * Prompt the user for the query name
  706.    m.qname = PUTFILE('Query name',m.qname,'QPR','OK')
  707. ENDIF
  708.  
  709. IF !EMPTY(m.qname)
  710.    win_name = WOUTPUT()
  711.    ACTIVATE SCREEN
  712.    IF FILE(m.qname)
  713.       MODIFY QUERY (m.qname)
  714.    ELSE
  715.       CREATE QUERY (m.qname)
  716.    ENDIF
  717.    CLEAR
  718.    IF !EMPTY(m.win_name)
  719.       ACTIVATE WINDOW (m.win_name)
  720.    ENDIF
  721. ELSE
  722.    * Delete this file if it was a generated file and the
  723.    * user cancelled the query.
  724.    IF m.gen_name AND FILE(m.qname)
  725.       DELETE FILE m.qname
  726.    ENDIF
  727. ENDIF
  728. IF EMPTY(opendbf(m.dbfname))
  729.    m.dbfname = LOCFILE(m.dbfname,'DBF','Please locate the database')
  730. ENDIF
  731. skipvar = .F.
  732.  
  733. IF FILE('qprview.vue')
  734.    SET VIEW TO qprview
  735. ENDIF
  736. KEYBOARD CHR(27)   && force screen refresh
  737.  
  738.  
  739.  
  740. *       ╓─────────────────────────────────────────────────────────╖
  741. *       ║                                                         ║
  742. *       ║ _QBP0MFLMA  ON SELECTION BAR 19 OF POPUP applicatio     ║
  743. *       ║                                                         ║
  744. *       ║ Procedure Origin:                                       ║
  745. *       ║                                                         ║
  746. *       ║ From Menu:  APPMENU.MPR,            Record:   45        ║
  747. *       ║ Called By:  ON SELECTION BAR 19 OF POPUP applicatio     ║
  748. *       ║ Prompt:     Report...                                   ║
  749. *       ║ Snippet:    14                                          ║
  750. *       ║                                                         ║
  751. *       ╙─────────────────────────────────────────────────────────╜
  752. *
  753. PROCEDURE _qbp0mflma
  754. IF !regen
  755.    mname = 'prtopts.prg'
  756. ELSE
  757.    mname = 'prtopts.spr'
  758. ENDIF
  759. DO (mname)
  760.  
  761.  
  762.  
  763. *       ╓─────────────────────────────────────────────────────────╖
  764. *       ║                                                         ║
  765. *       ║ _QBP0MFLRU  ON SELECTION BAR 1 OF POPUP utilities       ║
  766. *       ║                                                         ║
  767. *       ║ Procedure Origin:                                       ║
  768. *       ║                                                         ║
  769. *       ║ From Menu:  APPMENU.MPR,            Record:   48        ║
  770. *       ║ Called By:  ON SELECTION BAR 1 OF POPUP utilities       ║
  771. *       ║ Prompt:     Refresh Screen                              ║
  772. *       ║ Snippet:    15                                          ║
  773. *       ║                                                         ║
  774. *       ╙─────────────────────────────────────────────────────────╜
  775. *
  776. PROCEDURE _qbp0mflru
  777. ACTIVATE WINDOW (win_name)
  778. KEYBOARD CHR(27)
  779.  
  780.  
  781.  
  782. *       ╓─────────────────────────────────────────────────────────╖
  783. *       ║                                                         ║
  784. *       ║ _QBP0MFLTB  ON SELECTION BAR 2 OF POPUP utilities       ║
  785. *       ║                                                         ║
  786. *       ║ Procedure Origin:                                       ║
  787. *       ║                                                         ║
  788. *       ║ From Menu:  APPMENU.MPR,            Record:   49        ║
  789. *       ║ Called By:  ON SELECTION BAR 2 OF POPUP utilities       ║
  790. *       ║ Prompt:     Construct Index                             ║
  791. *       ║ Snippet:    16                                          ║
  792. *       ║                                                         ║
  793. *       ╙─────────────────────────────────────────────────────────╜
  794. *
  795. PROCEDURE _qbp0mfltb
  796. DO invert WITH ALIAS()
  797. SET ORDER TO 1
  798. GOTO TOP
  799. _CUROBJ = 1
  800. WAIT WINDOW "Reindexing completed" NOWAIT
  801. SHOW GETS
  802.  
  803.  
  804.  
  805.  
  806. *       ╓─────────────────────────────────────────────────────────╖
  807. *       ║                                                         ║
  808. *       ║ _QBP0MFLUT  ON SELECTION BAR 3 OF POPUP utilities       ║
  809. *       ║                                                         ║
  810. *       ║ Procedure Origin:                                       ║
  811. *       ║                                                         ║
  812. *       ║ From Menu:  APPMENU.MPR,            Record:   50        ║
  813. *       ║ Called By:  ON SELECTION BAR 3 OF POPUP utilities       ║
  814. *       ║ Prompt:     Pack                                        ║
  815. *       ║ Snippet:    17                                          ║
  816. *       ║                                                         ║
  817. *       ╙─────────────────────────────────────────────────────────╜
  818. *
  819. PROCEDURE _qbp0mflut
  820. PACK   && also reindexes the file
  821. SET ORDER TO 1
  822. GOTO TOP
  823. IF RECCOUNT() = 0
  824.    APPEND BLANK
  825. ENDIF
  826. WAIT WINDOW "Pack completed" NOWAIT
  827. KEYBOARD CHR(27)    && causes screen refresh and restores browses
  828. SHOW GETS
  829.  
  830.  
  831.  
  832.  
  833. *       ╓─────────────────────────────────────────────────────────╖
  834. *       ║                                                         ║
  835. *       ║ _QBP0MFM20  ON SELECTION BAR 8 OF POPUP help            ║
  836. *       ║                                                         ║
  837. *       ║ Procedure Origin:                                       ║
  838. *       ║                                                         ║
  839. *       ║ From Menu:  APPMENU.MPR,            Record:   61        ║
  840. *       ║ Called By:  ON SELECTION BAR 8 OF POPUP help            ║
  841. *       ║ Prompt:     About...                                    ║
  842. *       ║ Snippet:    18                                          ║
  843. *       ║                                                         ║
  844. *       ╙─────────────────────────────────────────────────────────╜
  845. *
  846. PROCEDURE _qbp0mfm20
  847. IF !regen
  848.    mname = 'appabout.prg'
  849. ELSE
  850.    mname = 'appabout.spr'
  851. ENDIF
  852. DO (mname)
  853.  
  854.