home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a087 / 4.ddi / APPMENU.PR_ / APPMENU.bin
Encoding:
Text File  |  1994-02-02  |  31.8 KB  |  873 lines

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