home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / p / probld.zip / PROBUILD.APP (.txt) < prev    next >
MS Visual FoxPro App  |  1993-01-22  |  261KB  |  3,823 lines

  1. TALKz
  2. COMPATIBLEz
  3. about
  4. about
  5. @*HN \<Previous;\!\?OK;\<Next
  6. about
  7. CURRAREA
  8. TALKSTAT
  9. RCOMPSTAT
  10. OABOUT
  11. ABOUT_OPTSSCREEN_NO
  12. _QCP19J1K7_QCP19J1RDA_TEMP
  13. Previous
  14. ABOUT_OPTSSCREEN_NO
  15. ProBuilder 2.0 (DEMO)F
  16. The Integrated Data Dictionary ToolF
  17. January 21, 1992 BuildF
  18. Scott D. GraboF
  19. Third Wave SoftwareF
  20. (703) 354-6283    CIS 73730,3201F
  21. FoxPro Version:
  22. Runtime 
  23. 1024000
  24.  (386 Extended)
  25. FoxPro Build  :
  26. Resource file :
  27. CONFIG.FP file:
  28. Temp files are being written to drive F
  29. Current Default Directory:F
  30. DEFAULTzF
  31. Total Disk Size:
  32. 999,999,999,999
  33. Disk Space Used:
  34. 999,999,999,999
  35. Space Available:
  36. 999,999,999,999
  37. FILES= in CONFIG.SYS:
  38. Total Memory:
  39. 99,999,999
  40. EMS Memory  :
  41. 99,999,999
  42. DOS Memory Available:
  43. 99,999,999
  44. Memory in Use:
  45. 99,999,999
  46. Processor    :
  47. Video Adaptor:
  48. 101 Keyboard :
  49. DOS Version  :
  50. On Network   :
  51. Unknown
  52. user7
  53. User Name    :
  54. user7
  55. CURRWIND
  56. SSCREEN_NO
  57. _QCP19J1K7
  58. _QCP19J1RD
  59. volumef
  60. BELLz
  61. MEDIUM
  62. PLEASANT
  63. SIREN
  64. RANDOM
  65. SET BELL &last_bell
  66. VOLUME
  67. []MFREQUENCY
  68. LAST_BELL
  69. COUNTER
  70. BLACKBOX.PRG
  71. Where should we put BLACKBOX.PRG?
  72. Create
  73. You didn't provide a valid path 
  74. and/or filename.
  75. Do you want to try again?
  76. name_filtr
  77. dbf_name
  78. Scanning databases . . .
  79. get_rel.prg
  80. a_relates[01, 01]f
  81. Building relations for FF
  82.  . . .
  83. TEXTMERGEz
  84.                                                          
  85.  <<DATE()>>
  86. <<PADC(UPPER(SUBSTR(m.this_file, RAT("\", m.this_file) + 1)), 35)>>
  87.   <<PADL(get_time(TIME()), 8)>> 
  88.                                                          
  89.  Scott D. Grabo                                          
  90.                                                          
  91.  Copyright (c) 1992 Third Wave Software                  
  92.  4529 Logsdon Drive                                      
  93.  Annandale, VA  22003                                    
  94.                                                          
  95.  This program was automatically generated by ProBuilder. 
  96.                                                          
  97. PARAMETER ;
  98.   this_rel, ;
  99.   new_order, ;
  100.   to_origin
  101. PRIVATE ;
  102.   m.this_rel, ;
  103.   m.new_order, ;
  104.   m.to_origin, ;
  105.   m.old_alias
  106. m.this_rel = UPPER(m.this_rel)
  107. IF NOT TYPE("m.new_order") = "C"
  108.     m.new_order = ""
  109. ENDIF
  110. m.old_alias = ALIAS()
  111. DO CASE
  112. <<PADC("Relations where " + UPPER(TRIM(a_dbfs[m.counter])) + " is the parent", 40)>> 
  113. RECNO()
  114.     CASE m.this_rel = "<<UPPER(a_relates[m.counter2, 01])>>"
  115.         * If <<UPPER(a_relates[m.counter2, 03])>> is used, just make sure we set
  116.         * any necessary ORDER, and that no cycling 
  117.         * relationships will take place.
  118.         IF USED("<<a_relates[m.counter2, 03]>>")
  119.             SET ORDER TO <<a_relates[m.counter2, 04]>>
  120.  IN <<a_relates[m.counter2, 03]>>
  121.             IF checkrel(
  122. "<<a_relates[m.counter2, 03]>>", "<<a_dbfs[m.counter]>>", "")
  123.                 SELECT <<a_relates[m.counter2, 03]>>
  124.                 SET RELATION OFF INTO <<a_dbfs[m.counter]>>
  125.             ENDIF
  126.          ELSE
  127.             * Otherwise, we'll need to open <<UPPER(a_relates[m.counter2, 03])>>
  128.              SELECT 0
  129.             USE <<a_relates[m.counter2, 03]>>
  130.             SET ORDER TO <<a_relates[m.counter2, 04]>>
  131.         ENDIF
  132.         * Make sure we open (or select) <<UPPER(a_dbfs[m.counter])>>
  133.          IF USED("<<a_dbfs[m.counter]>>")
  134.             SELECT <<a_dbfs[m.counter]>>
  135.          ELSE
  136.              SELECT 0
  137.             USE <<a_dbfs[m.counter]>>
  138.         ENDIF
  139.         * Only bother setting an order if a new order
  140.         * was passed to <<UPPER(m.just_file)>>
  141.         IF NOT EMPTY(m.new_order)
  142.             SET ORDER TO m.new_order
  143.         ENDIF
  144.         * We'll only bother setting the relationship if the
  145.         * relationship doesn't already exist
  146.         IF NOT checkrel(
  147. "<<a_dbfs[m.counter]>>", "<<a_relates[m.counter2, 03]>>",
  148.  "<<a_relates[m.counter2, 02]>>")
  149.             SET RELATION TO <<a_relates[m.counter2, 02]>> ;
  150.               INTO <<a_relates[m.counter2, 03]>> ;
  151.               ADDITIVE
  152.         ENDIF
  153. TEXTMERGEz
  154. ENDCASE
  155. * Use the "skip to nowhere" to trigger the relationship
  156. SKIP 0
  157. * If so indicated - and a file was previously opened - 
  158. * then restore the original ALIAS
  159. IF m.to_origin AND NOT EMPTY(m.old_alias)
  160.     SELECT (m.old_alias)
  161. ENDIF
  162. RETURN
  163.  successfully created!
  164. pleasant
  165. okay.prg
  166. No relations have been defined in the data 
  167. dictionary, so ProBuilder couldn't generate 
  168. a new black box.  Your original is untouched.
  169. THIS_FILE
  170. GO_AHEAD
  171. FJUST_FILE
  172. COUNTER
  173. ^COUNTER2
  174. ^REL_COUNT
  175. YESNO
  176. NAME_FILTRA_DBFS
  177. EDBF_NAME
  178. 1DBF_COUNT
  179. A_RELATES
  180. GET_REL
  181. BEEPER
  182. m.which_keyf
  183. WHICH_DBF
  184. WHICH_TGT
  185. WHICH_KEY
  186. FINDINGS
  187. COUNTER
  188. schemas
  189. schemas
  190. schemas
  191. Clone of 
  192. OLD_DBF
  193. SOURCE_DBFTEMP_DBF
  194. A_CLONE
  195. THIS_DBF
  196. DBF_NAME
  197. FSCHEMAFLAGFSCHEMA
  198. TSCHEMA
  199. DSCHEMA_IDSCHEMAS
  200. IDSCHEMATEXTSCHEMA
  201. NEW_REC
  202. NEW_ID
  203. LAGID
  204. XTOBJECT_ID
  205. FSCHEMA_IDTSCHEMA_IDDBF_CALL
  206. TSTRUCTUR
  207. FDBF_COUNT
  208. This process will remove all references 
  209. to the 
  210.  database 
  211. from the dictionary for this system.  Once done, 
  212. this can't be undone!
  213. Are you sure you want to delete 
  214. schemas
  215. schemas
  216. schemas
  217. name_filtr
  218. DBF_2_DEL
  219. RETURN_VALYESNO
  220. SCHEMAFLAGSTRUCTUR
  221. DBF_NAME
  222. DSCHEMA_IDSCHEMAS
  223. IDFSCHEMA_IDTSCHEMA_IDNAME_FILTR
  224. \<ProBuilder
  225. ALT+P
  226. ALT+P
  227. \<Edit
  228. ALT+E
  229. About ProBuilder...
  230. \<New...
  231. CTRL+N
  232. CTRL+N
  233. \<Modify...
  234. CTRL+M
  235. CTRL+M
  236. \<Select...
  237. CTRL+S
  238. CTRL+S
  239. \<Objects...
  240. CTRL+O
  241. CTRL+O
  242. \<Relations...
  243. CTRL+R
  244. CTRL+R
  245. Blac\<kbox...
  246. CTRL+K
  247. CTRL+K
  248. \<Build...
  249. CTRL+B
  250. CTRL+B
  251. \<Delete
  252. CTRL+D
  253. CTRL+D
  254. \<Clone
  255. CTRL+C
  256. CTRL+C
  257. \<Import...
  258. CTRL+I
  259. CTRL+I
  260. Reports...
  261. DO main_val WITH PROMPT()
  262. DO get_help.prg WITH WONTOP(), MENU(), PAD()
  263. DO main_val WITH PROMPT()
  264. DO main_val WITH PROMPT()
  265. DO main_val WITH PROMPT()
  266. DO main_val WITH PROMPT()
  267. DO main_val WITH PROMPT()
  268. DO main_val WITH PROMPT()
  269. DO main_val WITH PROMPT()
  270. DO main_val WITH PROMPT()
  271. DO main_val WITH PROMPT()
  272. DO main_val WITH PROMPT()
  273. DO main_val WITH PROMPT()
  274. DO main_val WITH PROMPT()
  275. \<Undo
  276. CTRL+U
  277. \<Redo
  278. CTRL+R
  279. Cu\<t
  280. CTRL+X
  281. \<Copy
  282. CTRL+C
  283. \<Paste
  284. CTRL+V
  285. Clear
  286. Select \<All
  287. CTRL+A
  288. Goto \<Line...
  289. \<Find...
  290. CTRL+F
  291. Find A\<gain
  292. CTRL+G
  293. R\<eplace And Find Again
  294. CTRL+E
  295. Replace All
  296. Prefere\<nces...
  297. _QCP19J43FPROBUILDERTHIS_DBF
  298. RDBF_COUNT
  299. TALKz
  300. COMPATIBLEz
  301. _qcp11j999
  302.  ProBuilder 
  303. m.find_struf
  304. STRUCTUR
  305. okay.prg
  306. The name you pass can include a 
  307. path to the structure database, 
  308. but it must end with 'STRUCTUR'.
  309. medium
  310. STRUCTUR.DBF
  311. DELETEz
  312. structur
  313. name_filtr
  314. okay.prg
  315. The STRUCTURE.DBF file (or one of its 
  316. index tags) could not be opened!
  317. SET DELETE &old_delete
  318. struchck.prg
  319. STRUCTUR
  320. structur&
  321. structur&
  322. \SCHEMAS.DBF
  323. makestru.prg
  324. structur&
  325. STRUCTUR.DBF
  326. SCHEMAS
  327. struchck.prg
  328. SCHEMAS
  329. structur&
  330. structur&
  331. \OBJECTS.DBF
  332. makestru.prg
  333. structur&
  334. STRUCTUR.DBF
  335. OBJECTS
  336. struchck.prg
  337. OBJECTS
  338. demo.prg
  339. structur
  340. name_filtr
  341. SET DELETE &old_delete
  342. Setting up ProBuilder. . .
  343. _qcp11j999
  344. Databases found in:
  345. @ 2,1 GET m.this_dbf     PICTURE "@&N"     POPUP _qcp11jba4     SIZE 15,34     DEFAULT " "     WHEN _qcp11jbg8()     DISABLE     COLOR SCHEME 6
  346. @*VN \<New...;\\\<Modify...
  347. @*HN \<Select...
  348. @*HN \<Objects...
  349. @*VN \<Relations...;Blac\<kbox...
  350. @*VN \<Build...
  351. @*HN \\\<Delete
  352. @*VT \!\?OK
  353. _qcp11j999
  354. dbf_name
  355. demo.prg
  356. FIND_STRU
  357. OLD_DELETECURRAREA
  358. |TALKSTAT
  359. COMPSTAT
  360. _QCP11J999OKAY
  361. OPEN_DBF
  362. STRUCHCK
  363. MAKESTRU
  364. `DEMO
  365. NAME_FILTRSTRUCTUR
  366. FINDFILE
  367. [SAVE_SET
  368. uNEW_SET
  369. QVDBF_COUNT
  370. THIS_DBF
  371. DICT_OPTS1DICT_OPTS2DICT_OPTS3DICT_OPTS4DICT_OPTS5DICT_OPTS6FIRST_ONE
  372. DBF_NAME
  373. DBF_CALL
  374. _QCP11JBA4_QCP11JBMU_QCP11JBTG_QCP11JBUP_QCP11JC1R_QCP11JC22_QCP11JC71DICT_OPTS7_QCP11JCBW_QCP11JCBYSET_SET
  375. THIS_DBF
  376. main_val.prg
  377. MAIN_VAL
  378. DELETEDICT_OPTS1.
  379. main_val.prg
  380. MAIN_VAL
  381. DELETEDICT_OPTS2.
  382. main_val.prg
  383. MAIN_VAL
  384. DELETEDICT_OPTS3.
  385. main_val.prg
  386. MAIN_VAL
  387. DELETEDICT_OPTS4.
  388. main_val.prg
  389. MAIN_VAL
  390. DELETEDICT_OPTS5.
  391. main_val.prg
  392. MAIN_VAL
  393. DELETEDICT_OPTS6
  394. dictnary.mpr
  395. DICTNARY
  396. DELETE
  397. _QCP11J999
  398. CURRWIND
  399. THIS_DBF
  400. ESTRUCTUR
  401. 6DBF_NAME
  402. 6DBF_CALL
  403. DICT_OPTS1DICT_OPTS2DICT_OPTS3DICT_OPTS4DICT_OPTS5DICT_OPTS6DICT_OPTS7DBF_COUNT
  404. _QCP11J999_QCP11JBG8
  405. _QCP11JBMU
  406. _QCP11JBTG
  407. _QCP11JBUP
  408. _QCP11JC1R
  409. _QCP11JC22
  410. _QCP11JC71
  411. _QCP11JCBW
  412. _QCP11JCBY
  413. m.length = ALEN(&this_array, 01)
  414. IF m.counter = m.currentrow OR     EMPTY(&this_array[m.counter, 01])
  415. IF TRIM(&this_array[m.counter, 01]) == TRIM(m.this_name)
  416. THIS_ARRAYCURRENTROWTHIS_NAME
  417. LENGTH
  418. COUNTER
  419. FOUND_DUP
  420. Remember:  Schemas changes are saved immediately!
  421. Schema for the 
  422. Schema for 
  423. THIS_SCHEMFOR_THIS
  424. SCHEMA_VALOLD_ALIAS
  425. RETURN_VALSCHEMAS
  426. MEMOEDIT
  427. LSCHEMA
  428. ALNEW_ID
  429. VALNEW_REC
  430. Please enter a valid drive letter!
  431. Only one period is allowed!
  432. A file extension must be 3 or fewer 
  433. characters!
  434. No blank spaces are allowed in the 
  435. path, file name, or extension.
  436. The character '
  437. ' cannot be used in a DOS filename!
  438. A file or directory name cannot 
  439. exceed 8 characters!
  440. THIS_VALUEIS_VALID
  441. ELENGTH
  442. FCOUNTER
  443. POSITION
  444. ERROR_MSG
  445. THIS_CHAR
  446. Setting up the File Builder...
  447. DEFAULTzF
  448. PATHz
  449. m.file_pathf
  450. Rebuild files in FF
  451. System files
  452. Files to be rebuilt
  453. structur
  454. structur
  455. name_filtr
  456. structur
  457. structur
  458. name_filtr
  459. m.dbf_2_bldf
  460. Build failed for these
  461. File Rebuild - Trying again...
  462. Resetting files...
  463. SET DEFAULT TO &old_defa
  464. SET PATH TO &old_path
  465. FILE_PATH
  466. INTERACTIVDBF_2_BLD
  467. OLD_DEFA
  468. OLD_PATH
  469. WINDOW_STRSOURCE_STRTARGET_STRCOUNTER
  470. LENGTH
  471. WAS_BUILT
  472. STRUCTUR
  473. VNAME_FILTRA_DBF_TGT
  474. DBF_CALL
  475. DBF_NAME
  476. A_DBF_SRC
  477. SRC_LEN
  478. IVTGT_LEN
  479. PICKERV
  480. MAKE_DBF
  481. A_NOT_MADEA_DBFNAME
  482. Where is STRUCTUR.DBF?
  483. Select
  484. STRUCTUR.DBF
  485. structur
  486. schemas
  487. objects
  488. You have not provided the path to a 
  489. valid Structur.dbf file.
  490. Do you want to create a new Structure file?
  491. Where should we create the file?
  492. STRUCTUR.DBF
  493. Create
  494. STRUCTUR
  495. makestru.prg
  496. \STRUCTUR
  497. STRUCTUR
  498. schemas
  499. objects
  500. Untitled
  501. Where should we create the file?
  502. STRUCTUR.DBF
  503. Create
  504. STRUCTUR
  505. makestru.prg
  506. \STRUCTUR
  507. STRUCTUR
  508. schemas
  509. objects
  510. okay.prg
  511. ProBuilder requires that the data dictionary 
  512. itself be named 'Structur.dbf'.
  513. medium
  514. name_filtr
  515. struchck.prg
  516. STRUCTUR
  517. name_filtr
  518. schemas
  519. structur&
  520. structur&
  521. \SCHEMAS.DBF
  522. makestru.prg
  523. structur&
  524. STRUCTUR.DBF
  525. SCHEMAS
  526. struchck.prg
  527. SCHEMAS
  528. structur&
  529. structur&
  530. \OBJECTS.DBF
  531. makestru.prg
  532. structur&
  533. STRUCTUR.DBF
  534. OBJECTS
  535. struchck.prg
  536. OBJECTS
  537. demo.prg
  538. GET_FILE
  539. STRUCTUR
  540. SCHEMAS
  541. FOBJECTS
  542. YESNO
  543. MAKESTRU
  544. OPEN_DBF
  545. STRUCHCK
  546. NAME_FILTRDEMO
  547. Setting up the Help window...
  548. m.currmenu + m.currpad $ criteria_1
  549. IIF(m.curr_var + m.currwind == criteria_1, 
  550. m.curr_var + m.currwind == criteria_1, 
  551. IIF(m.curr_var == LEFT(criteria_1, 10), 
  552. m.curr_var == LEFT(criteria_1, 10), 
  553. m.currwind == LEFT(criteria_1, 10)))
  554. SET TOPIC TO &topic_str
  555. CURRWIND
  556.     CURRMENU
  557. rCURRPAD
  558.   MENUHELP
  559. hMAKE_HELP
  560. CURR_VAR
  561. TOPIC_STR
  562. TOPIC
  563.     * CRETURN_VALHELP
  564. TALKz
  565. COMPATIBLEz
  566. _qc2134u3s
  567.  PathFinder 
  568. DEFAULTzF
  569. PATHz
  570. ERROR
  571. m.drivef
  572. DEFAULTz
  573. m.say_pathf
  574. m.error_flag = .T.
  575. ON ERROR &old_error
  576. _qc2134u3s
  577. Select Target Directory
  578. @ 2,1 GET m.curr_dir     PICTURE "@&N"     FROM a_dirs     SIZE 13,18     DEFAULT 1     VALID _qc2134vd4()     COLOR SCHEME 6
  579. Drive
  580. Directory
  581. @*VN \!Select;Open;\?Cancel
  582. _qc2134u3s
  583. ON ERROR &old_error
  584. isdiskin
  585. Select
  586. DRIVE
  587.     SAY_PATH
  588.  SET_PATH
  589.  COUNTER
  590.  PATH_OPTS
  591. CURR_DIR
  592.  OLD_DEFA
  593.  OLD_PATH
  594.  OLD_ERROR
  595. ERROR_FLAGDIRECTORY
  596. WHEN_VALUECURRAREA
  597.  TALKSTAT
  598.  COMPSTAT
  599.  _QC2134U3SLAST_DIR
  600. A_DIRS
  601. LUEA_DRIVES
  602. 1A_PATH
  603.    LOADED
  604.    DRV_COUNT
  605. BUILD_DIR
  606. BUILD_PATH_QC2134VDD_QC2134VG0_QC2134VQT_QC2134VSE_QC2134VYR_QC2134WAWISDISKIN
  607. a_dirs2[01, 01]f
  608. THIS_DISK
  609. THIS_PATH
  610. LENGTH
  611. COUNTER
  612.  A_DIRS2
  613. A_DIRS
  614. CURR_DIR
  615. DEPTH
  616. COUNTER
  617. THIS_PATH
  618. SAY_PATH
  619.  A_PATH
  620. DRIVE
  621. DIRECTORY
  622. LAST_DIR
  623. CURR_DIR
  624. DIRECTORY
  625. SAY_PATH
  626. BUILD_DIR
  627. DRIVE
  628. BUILD_PATH
  629. JUMP_PATH
  630. WHEN_VALUEDRIVE
  631. isdiskin
  632. isdiskin
  633. Sorry!  You'll first have to insert a diskette 
  634. in drive 
  635. :. . .
  636. WHEN_VALUEDRIVE
  637. NEW_DRIVE
  638. LOADED
  639. ISDISKIN
  640. CURR_DIR
  641. ESAY_PATH
  642. BUILD_DIR
  643. BUILD_PATH
  644. WHEN_VALUEA_PATH
  645. LAST_DIR
  646. WHEN_VALUEA_PATH
  647. LAST_DIR
  648. DIRECTORY
  649. CURR_DIR
  650. SAY_PATH
  651. EDRIVE
  652. COUNTER
  653. BUILD_DIR
  654. BUILD_PATH~
  655. Select
  656. Cancel
  657. PATH_OPTS
  658. SET_PATH
  659. NEW_PATH
  660. A_DIRS
  661. STARTPOINTCOUNTER
  662. NTDRIVE
  663. NTSAY_PATH
  664. OLD_DEFA
  665. JUMP_PATH
  666. _QC2134U3S
  667. CURRWIND
  668. A_DIRS
  669. CURR_DIR
  670. PATH_OPTS
  671. LAST_DIR
  672. _QC2134U3SDRIVE
  673. NTSAY_PATH
  674. BUILD_DIR
  675. BUILD_PATH
  676. JUMP_PATH
  677. _QC2134VD4
  678. _QC2134VDD
  679. _QC2134VG0
  680. _QC2134VQT
  681. _QC2134VSE
  682. _QC2134VYR
  683. _QC2134WAW
  684. TALKz
  685. COMPATIBLEz
  686. program
  687. Named
  688. program
  689. This database is assigned to what program? 
  690. @^ \<None;\<All;An\<y;Na\<med
  691. @*HT \!OK;\?Cancel
  692. program
  693. CURRAREA
  694. TALKSTAT
  695. <COMPSTAT
  696. PROGRAM
  697. POP_PROGS
  698. PROG_NAME
  699. PROG_SAY
  700. FPROG_OPTS
  701. WHEN_VALUETHIS_FIRSTHASPROGRAM_QBE12ZUIF_QBE12ZULP_QBE12ZUPX_QBE12ZUV7_QBE12ZUZC
  702. WHEN_VALUEPOP_PROGS
  703. POP_PROGS
  704. WHEN_VALUEB
  705. PROG_NAME
  706. POP_PROGS
  707. Named
  708. PROG_OPTS
  709. POP_PROGS
  710. HASPROGRAMPROG_NAME
  711. Named
  712. Program name:
  713. PROGRAM
  714. CURRWIND
  715. POP_PROGS
  716. PROG_SAY
  717. MPROG_NAME
  718. PROGRAM
  719. _QBE12ZUIF
  720. _QBE12ZULP
  721. _QBE12ZUPX
  722. _QBE12ZUV7
  723. _QBE12ZUZC
  724. dbf_name
  725. RELATIONDBCOUNTER
  726. DBDBF_NAME
  727. STRUCTUR
  728. BFIELD_NAMEFIELD_TYPERELAT_HOLDDEFAULTVALNO_RELATESA_RELATES
  729. \<Structure
  730. ALT+S
  731. ALT+S
  732. \<Insert field
  733. Structure
  734. CTRL+I
  735. CTRL+I
  736. \<Delete field
  737. Structure
  738. CTRL+D
  739. CTRL+D
  740. Field \<object...
  741. Structure
  742. pop_stru
  743. CTRL+O
  744. CTRL+O
  745. Add \<tag
  746. Structure
  747. CTRL+T
  748. CTRL+T
  749. \<Remove tag
  750. Structure
  751. CTRL+R
  752. CTRL+R
  753. \<Expression
  754. Structure
  755. CTRL+E
  756. CTRL+E
  757. Assign to progra\<m...
  758. Structure
  759. CTRL+M
  760. CTRL+M
  761. Change \<log...
  762. Structure
  763. CTRL+L
  764. CTRL+L
  765. DO add_field
  766. DO removefld
  767. DO get_object
  768. DO add_tag
  769. DO removetag WITH .T.
  770. DO expres_val WITH .T.
  771. DO show_prog
  772. DO timestmp.spr
  773. A_FIELDS
  774. _QCP124IWFSTRUCTURE
  775. FIELDS
  776. FIELD_TYPETAGS
  777. TALKz
  778. COMPATIBLEz
  779. structure
  780.  Structure Editor 
  781. Setting up the Structure Editor...
  782. dbf_name
  783. #FFFR^
  784. #FFFR^
  785. pop_stru
  786. PROCEDUREz
  787. struproc.prg
  788. structure
  789. Database name:
  790. Display as:
  791. @*C Schema...
  792. @*C Progra\<ms...
  793. @ 3,1 GET m.fields     PICTURE "@&N"     POPUP pop_stru     SIZE 14,14     DEFAULT " "     WHEN _qbn16t51d()     DISABLE     COLOR SCHEME 6
  794. Total Length
  795. @*C Field \<object...
  796. @!K A!!!!!!!!!
  797. Please enter a valid field type
  798. Width
  799. Display field as:
  800. @*C Field schema...
  801. @*C Default \<value...
  802. @*C Tag \<field
  803. @*HN \<Insert field;\\\<Delete field
  804. @ 3,39 GET m.tags     PICTURE "@&N"     FROM a_indexes     SIZE 14,13     DEFAULT 1     WHEN _qbn16t7jb()     DISABLE     COLOR SCHEME 6
  805. @!K A!!!!!!!!!
  806. Display tag as:
  807. @*C Tag schema...
  808. @*HN \<Expression...
  809. @*C For...
  810. @*C Unique
  811. @*RVN Asc;Desc
  812. @*HN Add \<tag;\<Remove tag
  813. @*HN \\\!OK;\\Change \<log...;\?Cancel
  814.  Fields 
  815.  Tags 
  816. structure
  817. THIS_DBF
  818. eADDING
  819. en_HASPROGRAMLENGTH
  820. gd COUNTER
  821.     aDBF_EXT
  822. ETFIELD_NAMEFIELD_TYPEFIELD_LEN
  823. FIELD_DEC
  824. TAG_FIELD
  825. FIELD_CALLTAG_NAME
  826. _TAG_CALL
  827. iDBF_CALL
  828.  TAG_EXPR
  829. TFIELDS
  830. )) TAGS
  831. + TIMWHEN_VALUEERROR_MSG
  832. STARTINGUPSTRU_OPTS
  833. FIELD_OPTSTAG_OPTS
  834. rHASDEFAULTHAS_DSCHEMHAS_FSCHEMHAS_TSCHEMHAS_OBJECTFLD_COUNT
  835. TAG_COUNT
  836. ELEMENT
  837. , FOR_EXPR
  838. tFOR_UNIQUEASC_OR_DSCOLD_PROC
  839.  CURRAREA
  840. fTALKSTAT
  841. FCOMPSTAT
  842. lSTRUCTURE
  843. BAR_COUNT
  844. POP_STRU
  845. A_FIELDS
  846. MA_INDEXES
  847. DBF_SCHEMADBF_NAME
  848. tLAST_FIELDSTRUCTUR
  849. PROG_NAME
  850. DSCHEMA_IDFIELD_DATEDEFAULTVALOBJECT_ID
  851. FSCHEMA_IDTAG_FOR
  852. TAG_UNIQUETAG_DATE
  853. TSCHEMA_IDPERIOD
  854. SWAS_CHANGDGETPROGRAMSTRUPROC
  855. Fu_QBN16T43M_QBN16T4BV_QBN16T4LH_QBN16T4OO_QBN16T4RQ_QBN16T4XO_QBN16T58A_QBN16T5BG_QBN16T5EA_QBN16T5V9_QBN16T5Z6_QBN16T681_QBN16T69C_QBN16T6FK_QBN16T6J9_QBN16T6P2_QBN16T6RZ_QBN16T6WP_QBN16T6ZK_QBN16T76A_QBN16T7AS_QBN16T7FF_QBN16T7OU_QBN16T7RK_QBN16T85A_QBN16T883_QBN16T8B5EXPRESS
  856. CO_QBN16T8GW_QBN16T8I6_QBN16T8N5_QBN16T8PY_QBN16T8T1_QBN16T8VQ_QBN16T90X_QBN16T95I_QBN16T9B4_QBN16T9BL_QBN16T9GJ_QBN16T9KM_QBN16TABZ_QBN16TAC1
  857. DBF_NAME
  858. eWHEN_VALUE+
  859. IS_VALID
  860. eSTRU_OPTS
  861. DBF_NAME
  862. MNAME_CHK
  863.  WHEN_VALUEWAS_CHANGDDBF_CALL
  864. EHAS_DSCHEMGETPROGRAM
  865. WHEN_VALUEDBF_CALL
  866. DBF_CALL
  867. EWHEN_VALUEWAS_CHANGD~
  868.  database
  869. WHEN_VALUEDBF_SCHEMAEDITSCMA
  870. ADBF_NAME
  871. AWAS_CHANGDHAS_DSCHEM&
  872. CURR_OBJ
  873. ESHOW_PROG
  874. pop_stru
  875. FIELDS
  876. ESTORE_FLD
  877. TAG_FIELD
  878. STORE_TAG
  879. FIELD_NAMENO_TAG
  880. GET_OBJECT
  881. WHEN_VALUEFIELD_NAMEI
  882. This field cannot be empty!
  883. a_fieldsF
  884. pop_stru
  885. There is already a field with that name!
  886. pop_stru
  887. pop_stru
  888. pop_stru
  889. There is an index tag on this 
  890. field.  Changing the name of this 
  891. field will make it out of sync with 
  892. the tag name.
  893. Change the tag to F
  894. pop_stru
  895. UPPER(FF
  896. pop_stru
  897. DTOS(FF
  898. okay.prg
  899. The tag F
  900.  might reference a field that 
  901. may no longer exist.  This could 
  902. cause crashes during reindexing.
  903. FIELD_NAMENAME_CHK
  904. EERROR_MSG
  905. DUP_CHCK
  906. FIELDS
  907. AMEWHEN_VALUEWAS_CHANGDA_FIELDS
  908. MPOP_STRU
  909. ETAG_FIELD
  910. YESNO
  911. A_INDEXES
  912. _FIELD_CALLSTORE_TAG
  913. _NAMEPRG
  914. WHEN_VALUEFIELD_TYPE
  915. m.field_type
  916. pop_stru
  917. Since you've changed the field type, 
  918. the index tag expression may no longer be 
  919. valid.
  920. Remove the tag expression?
  921. pop_stru
  922. IS_VALID
  923. ENEW_TYPE
  924. EFIELD_TYPEWHEN_VALUEGET_TYPE
  925. EWAS_CHANGDA_FIELDS
  926. DFIELDS
  927. MGET_DEC
  928. PEGET_WIDTH
  929. TAG_FIELD
  930. YESNO
  931. REMOVETAG
  932. WHEN_VALUEFIELD_LEN
  933. pop_stru
  934. FIELD_LEN
  935. WHEN_VALUEIS_VALID
  936. EGET_WIDTH
  937. A_FIELDS
  938. EFIELDS
  939. NGDWAS_CHANGD
  940. WHEN_VALUEFIELD_DEC
  941. pop_stru
  942. Given a field length of FF
  943. , you can't have 
  944. more than 
  945.  decimal places.
  946. WHEN_VALUEFIELD_DEC
  947. FIELD_LEN
  948. WAS_CHANGDIS_VALID
  949. EA_FIELDS
  950. DFIELDS
  951. WHEN_VALUEFIELD_CALL
  952. pop_stru
  953. pop_stru
  954. FIELD_CALLWHEN_VALUEWAS_CHANGDA_FIELDS
  955. DFIELDS
  956. pop_stru
  957. pop_stru
  958. pop_stru
  959. pop_stru
  960.  field
  961. pop_stru
  962. pop_stru
  963. WHEN_VALUEA_FIELDS
  964. EFIELDS
  965. NGDEDITSCMA
  966. DWAS_CHANGDHAS_FSCHEM
  967. pop_stru
  968. pop_stru
  969. pop_stru
  970. pop_stru
  971. pop_stru
  972. WHEN_VALUEA_FIELDS
  973. EFIELDS
  974. NGDGET_VAL
  975. DWAS_CHANGDHASDEFAULT
  976. WHEN_VALUETAG_FIELD
  977. pop_stru
  978. pop_stru
  979. WHEN_VALUETAG_FIELD
  980. NEW_LENGTHADD_TAG
  981. REMOVETAG
  982. WAS_CHANGDA_FIELDS
  983. TFIELDS
  984. Insert field
  985. FIELD_OPTSADD_FIELD
  986. REMOVEFLD
  987. _OPTSSTORE_TAG
  988. A_INDEXES
  989. WHEN_VALUETAG_NAME
  990. Deleting the tag name 
  991. will also delete the tag itself.
  992. Delete the tag F
  993. a_indexes
  994. There is already a field with that name!
  995. RETURN_VALTAG_NAME
  996. LYESNO
  997. WHEN_VALUEWAS_CHANGDREMOVETAG
  998. NAME_CHK
  999. LERROR_MSG
  1000. DUP_CHCK
  1001. A_INDEXES
  1002. TAG_CALL
  1003. TAG_EXPR
  1004. WHEN_VALUETAG_CALL
  1005. TAG_CALL
  1006. EWHEN_VALUEWAS_CHANGDA_INDEXES
  1007. HANGD
  1008. WHEN_VALUEA_INDEXES
  1009. HANGDEDITSCMA
  1010. WAS_CHANGDHAS_TSCHEM
  1011. WHEN_VALUETAG_EXPR
  1012. EXPRES_VAL
  1013. WHEN_VALUETAG_EXPR
  1014. EXPRES_VAL
  1015. WHEN_VALUETAG_FOR
  1016. CURR_OBJ
  1017. EFOR_VAL
  1018. WHEN_VALUETAG_FOR
  1019. WAS_CHANGDA_INDEXES
  1020. SCHEMFOR_EXPR
  1021. WHEN_VALUETAG_UNIQUEk
  1022. WHEN_VALUETAG_UNIQUEWAS_CHANGDA_INDEXES
  1023. HANGD
  1024. WHEN_VALUEASC_OR_DSCk
  1025. ASC_OR_DSCWHEN_VALUEWAS_CHANGDA_INDEXES
  1026. HANGDB
  1027. Add tag
  1028. TAG_OPTS
  1029. CADD_TAG
  1030. UEREMOVETAG
  1031. Change log...
  1032. timestmp.spr
  1033. pop_stru
  1034. pop_struF
  1035. pop_stru
  1036. Cancel
  1037. Changes have been made that, if not 
  1038. saved now, will be lost.
  1039. Save these changes before exiting?
  1040. Cancel
  1041. COUNTER
  1042. CCOUNTER2
  1043. EARRAY_LEN
  1044. EXIT_STRU
  1045. POP_LEN
  1046. GDLAST_OBJ
  1047. STRU_OPTS
  1048. TIMESTMP
  1049. WAS_CHANGDA_FIELDS
  1050. SAVE_STRU
  1051. FLD_COUNT
  1052. RESPONSE
  1053. LYESNO1
  1054. get_stru.mpr
  1055. GET_STRU
  1056. pop_stru
  1057. STRUCTURE
  1058. CURRWIND
  1059. CSTARTINGUPDBF_NAME
  1060. HAS_DSCHEMGETPROGRAMFLD_COUNT
  1061. NO_FIELD
  1062. STORE_FLD
  1063. FIELDS
  1064. A_INDEXES
  1065. NO_TAG
  1066. TAG_FIELD
  1067. STORE_TAG
  1068. FIELD_NAMESTRUCTURE
  1069. LENGTH
  1070. PERIOD
  1071. )) _QBN16T43M
  1072. _QBN16T4BV
  1073. _QBN16T4LH
  1074. _QBN16T4OO
  1075. _QBN16T4RQ
  1076. _QBN16T4XO
  1077. _QBN16T51D
  1078. _QBN16T58A
  1079. _QBN16T5BG
  1080. _QBN16T5EA
  1081. _QBN16T5V9
  1082. _QBN16T5Z6
  1083. _QBN16T681
  1084. _QBN16T69C
  1085. _QBN16T6FK
  1086. _QBN16T6J9
  1087. _QBN16T6P2
  1088. _QBN16T6RZ
  1089. _QBN16T6WP
  1090. _QBN16T6ZK
  1091. _QBN16T76A
  1092. _QBN16T7AS
  1093. _QBN16T7FF
  1094. _QBN16T7JB
  1095. _QBN16T7OU
  1096. _QBN16T7RK
  1097. _QBN16T85A
  1098. _QBN16T883
  1099. _QBN16T8B5
  1100. _QBN16T8GW
  1101. _QBN16T8I6
  1102. _QBN16T8N5
  1103. _QBN16T8PY
  1104. _QBN16T8T1
  1105. _QBN16T8VQ
  1106. _QBN16T90X
  1107. _QBN16T95I
  1108. _QBN16T9B4
  1109. _QBN16T9BL
  1110. _QBN16T9GJ
  1111. _QBN16T9KM
  1112. _QBN16TABZ
  1113. _QBN16TAC1
  1114. THIS_TIME
  1115. &out_field = "Character" 
  1116. &out_field = "Numeric" 
  1117. &out_field = "Date" 
  1118. &out_field = "Memo" 
  1119. &out_field = "Logical" 
  1120. \<Character
  1121. \<Numeric
  1122. \<Date
  1123. \<Memo
  1124. \<Logical
  1125. DEACTIVATE POPUP pop_types
  1126. &out_field = PROMPT() 
  1127. RETURN &out_field
  1128. IN_FIELD
  1129. OUT_FIELD
  1130. POP_TYPES
  1131. DEFAULTzF
  1132. PATHz
  1133. First database to import:
  1134. Select
  1135. *.DBF
  1136. Import files from 
  1137. Existing databases
  1138. Databases to import
  1139. Importing the data definitions for FF
  1140. . . .
  1141. structur
  1142. ERROR
  1143. m.error_flag = .T.
  1144. ON ERROR &old_error
  1145. ON ERROR &old_error
  1146. Currently Selected Database:
  1147. Master Index tag
  1148. Unique   
  1149. ORDER
  1150. DESCENDING
  1151. structur
  1152. source
  1153. source
  1154. sourceq
  1155. sourcea
  1156. structur
  1157. source
  1158. source
  1159. sourceq
  1160. sourcea
  1161. SET DEFAULT TO &old_defa
  1162. SET PATH TO &old_path
  1163. FILE_PATH
  1164. OLD_DEFA
  1165. OLD_PATH
  1166. WINDOW_STRTARGET_STRSOURCE_STRIMPORTFILEIMPORTPATHCOUNTER
  1167. oCOUNTER2
  1168. LENGTH
  1169. INSERTED
  1170. STAT_FILE
  1171. STAT_LINE
  1172. HANDLE
  1173. IS_UNIQUE
  1174. ASC_OR_DSCA_DBF_SRC
  1175. A_DBF_TGT
  1176. PICKERV
  1177. TRSOURCE
  1178. DBF_DETAILDBF_NAME
  1179. ?DBF_CALL
  1180. FIELD_NAMEFIELD_TYPEFIELD_LEN
  1181. FIELD_DEC
  1182. FIELD_CALLFIELDORDERFIELD_DATEMAKENAME
  1183. OLD_ERROR
  1184. ERROR_FLAGSTRUCTUR
  1185. TAG_FIELD
  1186. TAG_NAME
  1187. TAG_CALL
  1188. TAG_EXPR
  1189. TAG_UNIQUETAG_FOR
  1190. TAG_DATE
  1191. Modify...
  1192. name_filtr
  1193. name_filtr
  1194. New...
  1195. demo.prg
  1196. name_filtr
  1197. name_filtr
  1198. Clone
  1199. cloner.prg
  1200. Select...
  1201. Objects...
  1202. objects.prg
  1203. Build...
  1204. demo.prg
  1205. structur&
  1206. structur&
  1207. STRUCTUR.DBF
  1208. name_filtr
  1209. As long as you're building files, 
  1210. you might want to take a moment to generate 
  1211. the black box.
  1212. Do you want to generate BLACKBOX.PRG?
  1213. {CTRL+K}
  1214. Delete
  1215. Since you've deleted a file that may 
  1216. have been involved in a relationship, 
  1217. you might want to take a moment to generate 
  1218. the black box.
  1219. Do you want to generate BLACKBOX.PRG?
  1220. {CTRL+K}
  1221. Packing the STRUCTUR.DBF file and memo fields. . .
  1222. Packing the SCHEMAS.DBF file and memo fields. . .
  1223. Packing the OBJECTS.DBF file. . .
  1224. About ProBuilder...
  1225. about.spr
  1226. Relations...
  1227. set_rel.spr
  1228. name_filtr
  1229. Blackbox...
  1230. build_bb.prg
  1231. name_filtr
  1232. Import...
  1233. field_name
  1234. demo.prg
  1235. name_filtr
  1236. name_filtr
  1237. Reports...
  1238. reports.spr
  1239. CHOICE_1
  1240. LAST_REC
  1241. GET_STRU
  1242. THIS_DBF
  1243. uSTRUCTUR
  1244. &DBF_NAME
  1245. DBF_CALL
  1246. NAME_FILTRDBF_COUNT
  1247. ?CLONER
  1248. RFINDFILE
  1249. OBJECTS
  1250. BUILD_PATHGET_PATH
  1251. FILE_BLD
  1252. HYESNO
  1253. DEL_DBF
  1254. SCHEMAS
  1255. ABOUT
  1256. SET_REL
  1257. BUILD_BB
  1258. RFIELD_NAMEIMPORTER
  1259. REPORTS
  1260. m.extensionf
  1261. EXTENSION
  1262. UNIQUENAME
  1263. STRUCTUR
  1264. structur
  1265. SCHEMAS
  1266. OBJECTS
  1267. FILE_PATH
  1268. FILE_NAME
  1269. NEW_FILE
  1270. STRUCTUR
  1271. DBF_NAME
  1272. KDBF_CALL
  1273. MDSCHEMA_IDOBJECT_ID
  1274. FIELD_NAMEFIELD_TYPEFIELD_LEN
  1275. FIELD_DEC
  1276. FIELD_CALLFIELDORDERFIELD_DATEFSCHEMA_IDTAG_FIELD
  1277. TAG_NAME
  1278. BTAG_CALL
  1279. ZTAG_EXPR
  1280. _TAG_UNIQUETAG_FOR
  1281. 99ASC_OR_DSCTAG_DATE
  1282. ATSCHEMA_IDPROG_NAME
  1283. DEFAULTVALNAME_FILTRID
  1284. _FILE
  1285. SCHEMA
  1286. fGOBJECTNAMESCHEMA_ID
  1287. TAGGED
  1288. this_dbff
  1289. structur
  1290. this_cdxf
  1291. structur
  1292. dbf_name
  1293. okay.prg
  1294. An invalid database name ('
  1295. ') was provided to the Build Database 
  1296. routine.  Because of this, no index routine 
  1297. could be performed for that database.  
  1298. Please contact the systems administrator at once!
  1299. not_made.spr
  1300. THIS_DBF
  1301. THIS_CDX
  1302. TAG_ALL
  1303. THIS_TAG
  1304. COUNTER
  1305.  LENGTH
  1306. A_NOTMADE
  1307. PREV_DBF
  1308. WAS_USED
  1309. OPEN_DBF
  1310. STRUCTUR
  1311. DBF_NAME
  1312. |TAG_FIELD
  1313. INDEX_IT
  1314. TAG_NAME
  1315. IS_TAG
  1316. ;OKAY
  1317. MAKE_OK
  1318. NOT_MADE
  1319. UNIQUE
  1320. ASCENDING
  1321. DESCENDING
  1322. EVALUATE(m.key_expr)f
  1323. EVALUATE(m.for_key)f
  1324. Indexing system databases. . .
  1325. Indexing F
  1326. . . .
  1327. Indexing for F
  1328. . . .
  1329. Indexing F
  1330.  for 
  1331. . . .
  1332. INDEX ON &key_expr     &for_key     &unique_key     &asc_key     TAG &key_name     OF (m.this_cdx)
  1333. KEY_EXPR
  1334. KEY_NAME
  1335. FOR_KEY
  1336. UNIQUE_KEYTHIS_DBF
  1337.  STRUCTUR
  1338. TAG_EXPR
  1339. TAG_NAME
  1340. TAG_FOR
  1341. TAG_UNIQUEASC_OR_DSCASC_KEY
  1342. LENGTH
  1343. |A_NOTMADE
  1344. TAG_CALL
  1345. DBF_CALL
  1346. INDEX_IT
  1347. index_namef
  1348. structur
  1349. structur
  1350. dbf_name
  1351. Rebuilding system databases. . .
  1352. Rebuilding the FF
  1353.  database. . .
  1354. ERROR
  1355. m.keep_going = .F.
  1356. ON ERROR &old_err
  1357. okay.prg
  1358. The '
  1359. ' database is 
  1360. currently in use by somebody on the 
  1361. network.  Since it is necessary to have 
  1362. exclusive use of each database being 
  1363. rebuilt, you will have to rebuild '
  1364. ' later.
  1365. okay.prg
  1366. An invalid database name ('
  1367. ') was provided to the Build Database 
  1368. routine.  Because of this, the file build 
  1369. failed. Please contact the systems 
  1370. administrator at once!
  1371. FILE_NAME
  1372. INDEX_NAMEPACK_IT
  1373. MESKIP_INDEXPREV_DBF
  1374. XWAS_USED
  1375. WAS_STRU
  1376. (OLD_EXCL
  1377. STRUCTUR
  1378. DBF_NAME
  1379. DBF_CALL
  1380. A_STRUCTURFIELD_NAMEFIELD_TYPEFIELD_LEN
  1381. FIELD_DEC
  1382. TEMP_FILE
  1383. MAKENAME
  1384. KEEP_GOINGFOUND_FILEOLD_ERR
  1385. MAKE_CDX
  1386. XMAKE_OK
  1387. MEOKAY
  1388. is_dbPRG
  1389. m.this_titlef
  1390. Comments
  1391. m.note_filef
  1392. m.can_editf
  1393. WHAT_TEXT
  1394. THIS_TITLENOTE_FILE
  1395. FILE_HANDLFILE_SIZE
  1396. STARTPOINTNOTES
  1397. ITLECAN_EDIT
  1398. The first character of the name must be A-Z or an underscore!
  1399. 0123456789_
  1400. Use only A-Z, 0-9, or an underscore ('_')
  1401. NAME_2_CHKSTR_LENGTHCOUNTER
  1402. CURR_CHAR
  1403. RETURN_VALERROR_MSG
  1404. structur&
  1405. structur&
  1406. PBNUMBER.MEM
  1407. ERROR
  1408. m.error_flag = .T.
  1409. ON ERROR &old_error
  1410. new_pb_id
  1411. MEM_FILE
  1412. AOLD_ERROR
  1413. ERROR_FLAGNEW_PB_ID
  1414. m.id_fieldf
  1415. DELETEDz
  1416. SET DELETED &old_del
  1417. ID_FIELD
  1418. OLD_DEL
  1419. AMERICAN
  1420. pb_help
  1421. DO get_help.prg WITH  WONTOP(),  MENU(),  PAD()
  1422. \database\projects\helper\helper.app
  1423. on key label f1     do &this with WONTOP(), "pb_help", .F.
  1424. on key label alt+f1     do &this with WONTOP(), "pb_help", .T., menu(), pad(), prompt()
  1425. AMERICAN
  1426. PB_HELP
  1427. FTHIS
  1428. TALKz
  1429. COMPATIBLEz
  1430. _qbe130qrk
  1431. _qbe130qrk
  1432. @ 3,3 GET m.bad_tags     PICTURE "@&N"     FROM a_notmade     SIZE 6,61     DEFAULT 1     COLOR SCHEME 6
  1433. The following TAG(s) could not be successfully generated.  Please
  1434. check the expressions against the 
  1435. database structure
  1436. to determine the error.
  1437. @*HT \?\!OK
  1438. _qbe130qrk
  1439. BAD_DBF
  1440. BAD_TAG
  1441. CURRAREA
  1442. |TALKSTAT
  1443. COMPSTAT
  1444. _QBE130QRKBAD_OPT
  1445. TALKz
  1446. COMPATIBLEz
  1447. objects
  1448.  Field Object Editor 
  1449. structurR
  1450. objectname
  1451. PROCEDUREz
  1452. obj_proc.prg
  1453. objects
  1454. @ 1,2 GET m.curr_obj     PICTURE "@&N"     FROM a_objects     RANGE 2     SIZE 13,28     DEFAULT 1     WHEN _qbe130uiw()     DISABLE     COLOR SCHEME 6
  1455. @!K A!!!!!!!!!
  1456. Please enter a valid field type
  1457. Width
  1458. Display as:
  1459. @*C \<Schema...
  1460. @*C \<Tagged
  1461. @*HN \!OK;\<New;\\\<Delete;\?Cancel
  1462. objects
  1463. structurR
  1464. ADDING
  1465. THISOBJECTTHISNAME
  1466. THISCALL
  1467. ~THISTYPE
  1468. THISLEN
  1469. THISDEC
  1470. tTHISTAG
  1471. >CURRAREA
  1472. TALKSTAT
  1473. <COMPSTAT
  1474. OBJECTS
  1475. FCURR_OBJ
  1476. TLASTOBJECTOBJECTNAMEFIELD_NAMEFIELD_TYPEFIELD_LEN
  1477. FIELD_DEC
  1478. FIELD_CALLHAS_SCHEMATAGGED
  1479. PERIOD
  1480. OBJECTOPTSCOUNTER
  1481. WHEN_VALUERETURN_VALOBJ_CHANGDERROR_MSG
  1482. OLD_PROC
  1483. &OLD_ALIAS
  1484. STARTINGUPPICKED_OBJSTART_REC
  1485. A_OBJECTS
  1486. OBJ_PROC
  1487. E_QBE130UQD_QBE130UW7_QBE130V1T_QBE130V4T_QBE130VCI_QBE130VFG_QBE130VM9_QBE130VR9_QBE130VUA_QBE130VYK_QBE130W4E_QBE130W7C_QBE130W9O_QBE130WG8_QBE130WJL_QBE130X08ID
  1488. BJSTRUCTUR
  1489. CURR_OBJ
  1490. LASTOBJECTSHOWOBJECT
  1491. WHEN_VALUEOBJECTNAME
  1492. Each object must have a unique 
  1493. name to distinguish it.  Removing the 
  1494. name has the same effect as removing the 
  1495. object altogether.
  1496. Do you want to remove this object?
  1497. a_objects
  1498. Sorry!  There's already an object with 
  1499. that name. . .
  1500. RETURN_VALWHEN_VALUEOBJECTNAMEYESNO
  1501. NAMEDEL_OBJECTDUP_CHCK
  1502. LCURR_OBJ
  1503. tOBJ_CHANGDA_OBJECTS
  1504. WHEN_VALUEFIELD_NAME
  1505. This field cannot be empty!
  1506. RETURN_VALFIELD_NAMENAME_CHK
  1507. LERROR_MSG
  1508. WHEN_VALUEOBJ_CHANGDA_OBJECTS
  1509. CURR_OBJ
  1510. WHEN_VALUEFIELD_TYPE
  1511. m.field_type
  1512. Changing the data type of this object 
  1513. will result in the loss of all data previously 
  1514. entered into fields (in all system databases) 
  1515. defined by this object.
  1516. Are you sure you want to do this?
  1517. m.field_type
  1518. IS_VALID
  1519. EFIELD_TYPEWHEN_VALUEGET_TYPE
  1520. YESNO
  1521. EOBJ_CHANGDA_OBJECTS
  1522. CURR_OBJ
  1523. DOBJ_DEC
  1524. PEOBJ_WIDTH
  1525. FIELD_LEN
  1526. WHEN_VALUEFIELD_LEN
  1527. FIELD_LEN
  1528. WHEN_VALUEIS_VALID
  1529. EOBJ_WIDTH
  1530. OBJ_CHANGD
  1531. WHEN_VALUEFIELD_DEC
  1532. Given a field length of FF
  1533. , you can't have 
  1534. more than 
  1535.  decimal places.
  1536. WHEN_VALUEFIELD_DEC
  1537. IS_VALID
  1538. EFIELD_LEN
  1539. OBJ_CHANGDA_OBJECTS
  1540. CURR_OBJ
  1541. WHEN_VALUEFIELD_CALLN
  1542. FIELD_CALLWHEN_VALUEOBJ_CHANGDA_OBJECTS
  1543. CURR_OBJ
  1544. ' object
  1545. WHEN_VALUEA_OBJECTS
  1546. CURR_OBJ
  1547. DEDITSCMA
  1548. OBJ_CHANGDHAS_SCHEMA4
  1549. OBJ_CHANGDA_OBJECTS
  1550. CURR_OBJ
  1551. DTAGGED
  1552. Delete
  1553. You have indicated that you wish to 
  1554. delete 
  1555. this 
  1556. the F
  1557.  object.
  1558. Do you really want to remove this object?
  1559. Cancel
  1560. Changes have been made 
  1561. to the list of objects.  If you exit without 
  1562. saving you will lose those changes.
  1563. Save your changes before exiting?
  1564. Cancel
  1565. EXIT_OBJ
  1566. DRESPONSE
  1567. OBJECTOPTSCURR_OBJ
  1568. A_OBJECTS
  1569. PICKED_OBJOBJ_CHANGDSAVE_OBJ
  1570. ADD_OBJECTOBJECTNAMECAN_SAVE
  1571. YESNO
  1572. OPTSDEL_OBJECTYESNO1
  1573. OBJECTS
  1574. CURRWIND
  1575. DSTARTINGUPADDING
  1576. GUPADD_OBJECTOBJECTNAMEA_OBJECTS
  1577. SHOWOBJECTCURR_OBJ
  1578. OBJECTOPTSOBJECTS
  1579. MEPERIOD
  1580. _QBE130UIW
  1581. _QBE130UQD
  1582. _QBE130UW7
  1583. _QBE130V1T
  1584. _QBE130V4T
  1585. _QBE130VCI
  1586. _QBE130VFG
  1587. _QBE130VM9
  1588. _QBE130VR9
  1589. _QBE130VUA
  1590. _QBE130VYK
  1591. _QBE130W4E
  1592. _QBE130W7C
  1593. _QBE130W9O
  1594. _QBE130WG8
  1595. _QBE130WJL
  1596. _QBE130X08
  1597. TALKz
  1598. COMPATIBLEz
  1599. objects
  1600.  Field Object Editor 
  1601. structurR
  1602. objectname
  1603. PROCEDUREz
  1604. obj_proc.prg
  1605. objects
  1606. @ 1,2 GET m.curr_obj     PICTURE "@&N"     FROM a_objects     RANGE 2     SIZE 13,28     DEFAULT 1     WHEN _qbe130uiw()     DISABLE     COLOR SCHEME 6
  1607. @!K A!!!!!!!!!
  1608. Please enter a valid field type
  1609. Width
  1610. Display as:
  1611. @*C \<Schema...
  1612. @*C \<Tagged
  1613. @*HN \!OK;\<New;\\\<Delete;\?Cancel
  1614. objects
  1615. structurR
  1616. ADDING
  1617. DTHISOBJECTTHISNAME
  1618. PTHISCALL
  1619. TTHISTYPE
  1620. ETHISLEN
  1621. THISDEC
  1622. CTTHISTAG
  1623. CURRAREA
  1624. STALKSTAT
  1625. ECOMPSTAT
  1626. OBJECTS
  1627. SCURR_OBJ
  1628. TLASTOBJECTOBJECTNAMEFIELD_NAMEFIELD_TYPEFIELD_LEN
  1629. FIELD_DEC
  1630. FIELD_CALLHAS_SCHEMATAGGED
  1631. PERIOD
  1632. OBJECTOPTSCOUNTER
  1633. WHEN_VALUERETURN_VALOBJ_CHANGDERROR_MSG
  1634. OLD_PROC
  1635. &OLD_ALIAS
  1636. STARTINGUPPICKED_OBJSTART_REC
  1637. A_OBJECTS
  1638. OBJ_PROC
  1639. E_QBE130UQD_QBE130UW7_QBE130V1T_QBE130V4T_QBE130VCI_QBE130VFG_QBE130VM9_QBE130VR9_QBE130VUA_QBE130VYK_QBE130W4E_QBE130W7C_QBE130W9O_QBE130WG8_QBE130WJL_QBE130X08ID
  1640. BJSTRUCTUR
  1641. CURR_OBJ
  1642. DLASTOBJECTSHOWOBJECT
  1643. WHEN_VALUEOBJECTNAME
  1644. Each object must have a unique 
  1645. name to distinguish it.  Removing the 
  1646. name has the same effect as removing the 
  1647. object altogether.
  1648. Do you want to remove this object?
  1649. a_objects
  1650. Sorry!  There's already an object with 
  1651. that name. . .
  1652. RETURN_VALWHEN_VALUEOBJECTNAMEYESNO
  1653. NAMEDEL_OBJECTDUP_CHCK
  1654. LCURR_OBJ
  1655. TOBJ_CHANGDA_OBJECTS
  1656. WHEN_VALUEFIELD_NAME
  1657. This field cannot be empty!
  1658. RETURN_VALFIELD_NAMENAME_CHK
  1659. LERROR_MSG
  1660. WHEN_VALUEOBJ_CHANGDA_OBJECTS
  1661. CURR_OBJ
  1662. WHEN_VALUEFIELD_TYPE
  1663. m.field_type
  1664. Changing the data type of this object 
  1665. will result in the loss of all data previously 
  1666. entered into fields (in all system databases) 
  1667. defined by this object.
  1668. Are you sure you want to do this?
  1669. m.field_type
  1670. IS_VALID
  1671. EFIELD_TYPEWHEN_VALUEGET_TYPE
  1672. YESNO
  1673. EOBJ_CHANGDA_OBJECTS
  1674. CURR_OBJ
  1675. DOBJ_DEC
  1676. PEOBJ_WIDTH
  1677. FIELD_LEN
  1678. WHEN_VALUEFIELD_LEN
  1679. FIELD_LEN
  1680. WHEN_VALUEIS_VALID
  1681. EOBJ_WIDTH
  1682. OBJ_CHANGD
  1683. WHEN_VALUEFIELD_DEC
  1684. Given a field length of FF
  1685. , you can't have 
  1686. more than 
  1687.  decimal places.
  1688. WHEN_VALUEFIELD_DEC
  1689. IS_VALID
  1690. EFIELD_LEN
  1691. OBJ_CHANGDA_OBJECTS
  1692. CURR_OBJ
  1693. WHEN_VALUEFIELD_CALLN
  1694. FIELD_CALLWHEN_VALUEOBJ_CHANGDA_OBJECTS
  1695. CURR_OBJ
  1696. ' object
  1697. WHEN_VALUEA_OBJECTS
  1698. CURR_OBJ
  1699. DEDITSCMA
  1700. OBJ_CHANGDHAS_SCHEMA4
  1701. OBJ_CHANGDA_OBJECTS
  1702. CURR_OBJ
  1703. DTAGGED
  1704. Delete
  1705. You have indicated that you wish to 
  1706. delete 
  1707. this 
  1708. the F
  1709.  object.
  1710. Do you really want to remove this object?
  1711. Cancel
  1712. Changes have been made 
  1713. to the list of objects.  If you exit without 
  1714. saving you will lose those changes.
  1715. Save your changes before exiting?
  1716. Cancel
  1717. EXIT_OBJ
  1718. DRESPONSE
  1719. OBJECTOPTSCURR_OBJ
  1720. A_OBJECTS
  1721. PICKED_OBJOBJ_CHANGDSAVE_OBJ
  1722. ADD_OBJECTOBJECTNAMECAN_SAVE
  1723. YESNO
  1724. OPTSDEL_OBJECTYESNO1
  1725. OBJECTS
  1726. CURRWIND
  1727. DSTARTINGUPADDING
  1728. GUPADD_OBJECTOBJECTNAMEA_OBJECTS
  1729. SHOWOBJECTCURR_OBJ
  1730. OBJECTOPTSOBJECTS
  1731. MEPERIOD
  1732. _QBE130UIW
  1733. _QBE130UQD
  1734. _QBE130UW7
  1735. _QBE130V1T
  1736. _QBE130V4T
  1737. _QBE130VCI
  1738. _QBE130VFG
  1739. _QBE130VM9
  1740. _QBE130VR9
  1741. _QBE130VUA
  1742. _QBE130VYK
  1743. _QBE130W4E
  1744. _QBE130W7C
  1745. _QBE130W9O
  1746. _QBE130WG8
  1747. _QBE130WJL
  1748. _QBE130X08
  1749. m.field_type
  1750. OBJECTNAMEA_OBJECTS
  1751. CURR_OBJ
  1752. FIELD_NAMEFIELD_LEN
  1753. GET_TYPE
  1754. OBJ_DEC
  1755. OBJ_WIDTH
  1756. TAGGED
  1757. FIELD_CALLHAS_SCHEMAFIELD_TYPEOBJECTOPTS
  1758. OBJECTNAMEFIELD_NAMEFIELD_TYPEFIELD_CALLCURR_OBJ
  1759. LASTOBJECTFIELD_LEN
  1760. FIELD_DEC
  1761. TAGGED
  1762. HAS_SCHEMAOBJECTOPTS
  1763. FIELD_TYPEFIELD_DEC
  1764. TAGGED
  1765. PERIOD
  1766. ALLA_OBJECTS
  1767. CURR_OBJ
  1768. Field length must be between 1 and 254!
  1769. Field length cannot exceed 20
  1770. Field length must be at least FF
  1771. IS_VALID
  1772. EPREV_LENGTFIELD_LEN
  1773. FIELD_TYPEERROR_MSG
  1774. A_OBJECTS
  1775. CURR_OBJ
  1776. TAGGED
  1777. FIELD_DEC
  1778. NEW_FIELD1
  1779. A_OBJECTS
  1780. CURR_OBJ
  1781. TADDING
  1782. THISNAME
  1783. THISTYPE
  1784. THISLEN
  1785. THISDEC
  1786. THISCALL
  1787. THISTAG
  1788. SHOWOBJECTOBJ_CHANGDg
  1789. A_OBJECTS
  1790. NO_OBJECT
  1791. OBJECTOPTSCURR_OBJ
  1792. SHOWOBJECTOBJ_CHANGD
  1793. You must provide a valid name 
  1794. for this object!
  1795. You must provide a valid name 
  1796. for this field!
  1797. You must provide a valid 
  1798. length for this field!
  1799. ERROR_MSG
  1800. A_OBJECTS
  1801. OBJECTNAMEFIELD_NAMEFIELD_LEN
  1802. BEEPER
  1803. structur
  1804. structur
  1805. OBJECT_ID
  1806. object_id
  1807. objectname
  1808. structur
  1809. FOUND_OBJ
  1810. COUNTER
  1811. STRU_ORDERCAN_SAVE
  1812. EA_OBJECTS
  1813. OBJECTS
  1814. OR_MSG
  1815. OBJECT_ID
  1816. STRUCTUR
  1817. UPD_DICT
  1818. TOBJECTNAMEFIELD_NAMEFIELD_TYPEFIELD_LEN
  1819. FIELD_DEC
  1820. FIELD_CALLSCHEMA_ID
  1821. TAGGED
  1822. A_OBJTEMP
  1823. NEW_REC
  1824. NEW_ID
  1825. structur
  1826. structur
  1827. Exit and re-enter the Editor to 
  1828. see the effects of these changes. . .
  1829. OBJECTS
  1830. STRUCTUR
  1831. ROBJECT_ID
  1832. THIS_DBF
  1833. DBF_NAME
  1834. FIELD_NAMEA_OBJECTS
  1835. FOUND_OBJ
  1836. FIELD_TYPEFIELD_LEN
  1837. FIELD_DEC
  1838. FIELD_CALLFSCHEMA_IDSHOWOBJECT
  1839. NO_OBJECT
  1840. OBJ_DEC
  1841. OBJ_WIDTH
  1842. ADD_OBJECT
  1843. DEL_OBJECT
  1844. CAN_SAVE
  1845. SAVE_OBJ
  1846. UPD_DICT
  1847. TALKz
  1848. COMPATIBLEz
  1849. w_yesno
  1850. ESCAPE
  1851. ESCAPE
  1852. messagef
  1853. w_yesno
  1854. @*HT \!OK
  1855. w_yesno
  1856. ON KEY LABEL ESCAPE &okl_escape
  1857. MESSAGE
  1858. BEEP_TYPE
  1859. LENGTH
  1860. CURRAREA
  1861. TALKSTAT
  1862. 0COMPSTAT
  1863. W_YESNO
  1864. OKL_ESCAPEESCAPE
  1865. >hPRESS_OK
  1866. _QBE1310SN
  1867. m.beep_typef
  1868. CURRWIND
  1869. MESSAGE
  1870. START
  1871. LENGTH
  1872. MSG_LENGTHROW
  1873. BEEPER
  1874. GTHBEEP_TYPE
  1875. _QBE1310SN
  1876. TALKz
  1877. COMPATIBLEz
  1878. w_yesno
  1879. ESCAPE
  1880. ESCAPE
  1881. messagef
  1882. w_yesno
  1883. @*HT \!OK
  1884. w_yesno
  1885. ON KEY LABEL ESCAPE &okl_escape
  1886. MESSAGE
  1887.   BEEP_TYPE
  1888. LENGTH
  1889. CURRAREA
  1890.  TALKSTAT
  1891.  COMPSTAT
  1892.  W_YESNO
  1893.  OKL_ESCAPEESCAPE
  1894.    PRESS_OK
  1895. p_QBE1310SN
  1896. m.beep_typef
  1897. CURRWIND
  1898.  MESSAGE
  1899. START
  1900. LENGTH
  1901.  MSG_LENGTHROW
  1902.  BEEPER
  1903. GTHBEEP_TYPE
  1904. _QBE1310SN
  1905. m.tag_namef
  1906. DESCENDING
  1907. PATHz
  1908. SET ORDER TO TAG (m.tag_name) &direction IN (m.dbf_name)
  1909. FULL_DBF
  1910. STAG_NAME
  1911. FGO_HOME
  1912. stDIRECTION
  1913. DBF_NAME
  1914. CDX_NAME
  1915. OLAST_DBF
  1916. LAST_PATH
  1917. OPENED_OK
  1918. TOPIC
  1919. DETAILS
  1920. CRITERIA_1
  1921. OBJECTTYPE
  1922.  About ProBuilder                          8                    General              
  1923.  Acknowledgements                         10                    General              
  1924.  Getting Started                          16                    General              
  1925.  How do I...?                             75                    General              
  1926.  ProBuilder Methodology                 1163                    General              
  1927.  Technical Support                       154                    General              
  1928.  Third Wave Software                     160                    General              
  1929.  What is ProBuilder?                     162                    General              Adding and Removing Tags                  229TAG_OPTS  STRUCTURE Push Button          Ascending vs. Descending Tags             247ASC_OR_DSCSTRUCTURE Radio Button         Black Box                                 257                    Real-world entity    Building defined databases                289DICT_OPTS5_Q9S14XTHQPush Button          Change Log                                310_QA013GGD0          Dialog               Child Database                            320TARGET_DBF_Q9S0ZCJE4Popup                Child Database Order                      331TARGETORDR_Q9S0ZCJE4Popup                Database Description                      345DBF_CALL  STRUCTURE Data entry field     Database Name                             352DBF_NAME  STRUCTURE Data entry field     Database Schema                           361HAS_DSCHEMSTRUCTURE Check Box            Default Value                             378HASDEFAULTSTRUCTURE Check Box            Define Options                            390DICT_OPTS1_Q9S11C2TDPush Button          Deleting a Definition                     416DICT_OPTS6_Q9S14XTHQPush Button          Exiting ProBuilder                        431DICT_OPTS7_Q9S16HHC2Push Button          Field Decimals                            438FIELD_DEC           Data entry field     Field Description                         447FIELD_CALL          Data entry field     Field List                                455FIELDS    STRUCTURE List                 Field Name                                472FIELD_NAME          Data entry field     Field Object Checkbox                     486HAS_OBJECTSTRUCTURE Check Box            Field Object List                         520CURR_OBJ  OBJECTS   Push Button          Field Object Name                         534OBJECTNAMEOBJECTS   Data entry field     Field Object Options                      543OBJECTOPTSOBJECTS   Push Button          Field Object Schema                       569HAS_SCHEMAOBJECTS   Check Box            Field Object Tag                          583TAGGED    OBJECTS   Check Box            Field Objects                             592DICT_OPTS3_QAO0MLYCCReal-world entity    Field Schema                              615HAS_FSCHEMSTRUCTURE Check Box            Field Type                                628FIELD_TYPE          Data entry field     Field Width                               648FIELD_LEN           Data entry field     File List                                 666THIS_DBF  _Q9S11C2TDList                 File Picker                               680PICKLIST            Dialog               For Expression                            711FOR_EXPR  STRUCTURE Check Box            Importing Definitions                     731                    Menu Bar             Inserting and Deleting Fields             745FIELD_OPTSSTRUCTURE Push Button          Okay Dialog                               765PRESS_OK  W_YESNO   Dialog               PathFinder                                774_QC2134U3S          Dialog               ProBuilder Menu                           791                    Menu Pad             Program Assignment Dialog                 829PROGRAM             Dialog               Program Assignment Option                 838GETPROGRAMSTRUCTURE Check Box            Relation Expression Builder               855KEY_EXPR  _Q9S0ZCJE4Push Button          Relationship Expression                   865RELATE_KEY_Q9S0ZCJE4Data entry field     Relationship List                         879RELATIONS _Q9S0ZCJE4List                 Relationship Name                         891RELAT_NAME_Q9S0ZCJE4Data entry field     Relationship Options                      904DICT_OPTS4_Q9S11C2TDPush Button          Relationship Setting Options              922RELAT_OPTS_Q9S0ZCJE4Push Button          Report Options                            943_QAQ0T7ITP          Dialog               Selecting a Structure File                969DICT_OPTS2_Q9S16HHC2Push Button          Structure Editor Options                  994STRU_OPTS STRUCTURE Push Button          Tag Description                          1015TAG_CALL  STRUCTURE Data entry field     Tag Expression                           1023TAG_EXPR  STRUCTURE Data entry field     Tag Expression Builder                   1036EXPRESS   STRUCTURE Push Button          Tag Field                                1056TAG_FIELD STRUCTURE Check Box            Tag List                                 1078TAGS      STRUCTURE List                 Tag Name                                 1090TAG_NAME  STRUCTURE Data entry field     Tag Schema                               1103HAS_TSCHEMSTRUCTURE Check Box            Unique Tag                               1117TAG_UNIQUESTRUCTURE Check Box            Yes/No Alert                             1123ANSWER    W_YESNO   Alert                Yes/No/Cancel Alert                      1140ANSWER1   WYESNO1   Alert               
  1930. a        ProBuilder 2.0
  1931. (c) 1992 by Third Wave Software
  1932. 4529 Logsdon Drive
  1933. Annandale, VA  22003
  1934. ;We'd like to extend thanks to the following folks for their help in bringing ProBuilder to market:
  1935.     Lisa Slater and the FoxTalk Journal, without whom ProBuilder would never have reached critical mass.
  1936.     Joe Paquette, first-class beta testing.
  1937.     Connie and Brad, for patience in the many hours of my abscence.
  1938.                                 
  1939.         Getting Started         
  1940.                                 
  1941.             General             
  1942. ProBuilder brings to the FoxPro development environment a new method of controlling and documenting data structures.  With easy interactive dialogs and a logical program flow, ProBuilder can simply and cleanly bring a meaningful data dictionary functionality to FoxPro.
  1943.       Starting ProBuilder     
  1944. There are two ways to call ProBuilder.  
  1945.  Add ProBuilder to the menu
  1946.       Create a new menu option on your system menu that calls BUILDER.APP.  A good location is creating a "ProBuilder Dictionary" entry on the System menu pad, and giving it a hotkey of CTRL+Y.  This is unlikely to conflict with other menu options, and allows you to call ProBuilder without first calling forward the command window.
  1947.  Type "DO builder.app"
  1948.       If you chose not to place ProBuilder on your system menu, you can call it directly from the command window.  The problem with this is the need to either a)maintain ProBuilder in your path, or b)always type the path name to ProBuilder.
  1949.     Defining a Database         
  1950. ProBuilder works on the meta-data level.  In other words, it doesn't create databases so much as it creates _definitions_ of databases.  The Build option does then turn these definitions into databases on disk.
  1951. You can begin defining your structures to the dictionary in a few different ways.
  1952.  Creating definitions
  1953.       If you are beginning a project from scratch, it makes the most sense just to create a new definition by selecting the New option at the main window.  This will bring forward the Structure Editor, in which you define the field names, types, tags, and other characteristics of a given database.
  1954.       Just as FoxPro's MODIFY STRUCTURE command allows only a single database definition to be edited at a time, so does ProBuilder.  When finished, you simply save your work with 
  1955. , and then either build that database or define another one.
  1956.  Import existing structures
  1957.       Since many projects are ongoing, ProBuilder provides a way to import to the dictionary the structures and tag information for databases that already exist on disk.  Selecting the Import option from the main Data Dictionary menu will do this for you.
  1958.   Defining a Field Object   
  1959. Since ProBuilder provides a method of defining "global fields", or Field Objects, it may make sense to define all the Field Objects for your system's databases before using ProBuilder to create the definitions for those databases.  By doing this first, you can force somewhat greater structure onto your design process by determining which types of elements are common across  multiple tables, and define standard characteristics for such fields.
  1960. For example, you might use a "key ID number" field in each database.  To simplify programming and enforce some logical structure, it might make sense to define a Field Object called "Unique ID Numbers", and then insert that object into each of your database definitions.  In this way, you can centralize control (through the Field Object Editor) over the characteristics of key, shared fields.
  1961. See also:  
  1962.  How do I...?, Define Options, Importing Definitions, Building Databases, Selecting a Structure File, Field Objects, Field Object Options
  1963.                                 
  1964.           How do I...?          
  1965.                                 
  1966.             General             
  1967. This help topic serves as quick guide to the help system, targeted to specific tasks.  If the question you'd like to ask is stated here, simply refer to the help topic associated with that question.
  1968.    Defining Databases  
  1969. How do I...
  1970.     ...import my existing file structures into the ProBuilder dictionary?  See Importing Definitions
  1971.     ...create a new database definition?  See Define Options
  1972.     ...modify an existing definition in ProBuilder?  See Define Options
  1973.     ...set the field order for a definition?  See Field List
  1974.     ...tag a field in a definition?  See Tag Field
  1975.   Describing Elements  
  1976. How do I...
  1977.     ...enter plain-english user descriptions for databases, fields, and schemas?  See Database Description, Field Description, Tag Description
  1978.     ...enter full-text descriptions for databases, fields, and tags?  See Database Schema, Field Schema, Tag Schema
  1979.    Defining Objects    
  1980. How do I...
  1981.     ...use Field Objects in my dictionary?  See Field Objects
  1982.     ...create a Field Object from an existing field?  See Field Object Checkbox
  1983.  Handling Relationships
  1984. How do I...
  1985.     ...create relationships between databases?  See Relationship Options
  1986.     ...use those relationships defined with ProBuilder in my applications?  See Black Box
  1987.  Definition Management 
  1988. How do I...
  1989.     ...re-build index tags?  See Build Defined Databases
  1990.     ...build defined databases?  See Build Defined Databases
  1991.     ...delete defined databases?  See Deleting a Definition
  1992.        Reporting       
  1993. How do I...
  1994.     ...get reports that describe the structures and relationships between defined databases?  See ProBuilder Menu, Report Options 
  1995. See also:  Importing Definitions, Define Options, Field List, Tag Field, Database Description, Field Description, Tag Description, Database Schema, Field Schema, Tag Schema, Field Objects, Field Object Checkbox, Relationship Options, Black Box, Build Defined Databases, Deleting a Definition, ProBuilder Menu, Report Options
  1996.                                 
  1997.      ProBuilder Methodology     
  1998.                                 
  1999.             General             
  2000. A number of basic assumptions were made during the design of ProBuilder.  These assumptions were the result of numerous conversations with FoxPro developers in general and ProBuilder beta testers in particular.
  2001.  Assumption #1:  Performance is king.
  2002.       However good and detailed a data dictionary add-on might be, if it appreciably degrades performance in the field, it's not worth the trouble.
  2003.  Assumption #2:  Simplify, simplify, simplify.
  2004.       Many DOS FoxPro developers look with some longing at the mainframe and Unix DBMSs that offer full data dictionary implementations, flush with repository management, data integrity enforcement, and other goodies.  Many in the DOS world are leery of the amount of work involved in maintaining and managing such complex systems for the purposes (primarily) of documentation, and many other purposes are too performance intensive to be workable on the installed base of 80286 computers.
  2005.       A strong concensus developed around the idea of a greatly enhanced version of FoxPro's own STRUCTURE EXTENDED databases:  a single database that contains the entire definition for each database.  What is lost in fine relationality is gained in ease-of-distribution.
  2006.       The most obvious outcome of this assumption is the implementation of the Objects database.  While it is basically relational at heart (in that Field Objects are referred to by ID number), it operates on the assumption that it's easier and preferable to distribute a single STRUCTUR.DBF file than it is to distribute three databases (STRUCTURE, OBJECTS, and SCHEMAS).  With this in mind, we chose to duplicate each object's information directly into the definition in which it resides, which eliminates the need for a "generate a distribution file" process.
  2007.  Assumption #3:  Open it up.
  2008.       It was clear that all of us as developers wanted to be able to tweak the dictionary to our own style of development, to "kit-bash", as Chuck Werner put it in FoxTalk.  Clean, well-documented source code was an important component of a successful program.
  2009. iProBuilder is supported on CompuServe's FoxForum.  Third Wave Software can be reached at CIS 73730,3201 and at phone (730)354-6283.
  2010. TWS only agrees to provide support for a)general user queries and b)bugs in the original source code.  Consulting services are available for data structure analysis and systems development services.  Contact TWS for details.
  2011. bThird Wave Software
  2012. 4529 Logsdon Drive
  2013. Annandale, VA  22003
  2014. CIS 73730,3201
  2015. (703)354-6283
  2016.                                 
  2017.       What is ProBuilder?       
  2018.                                 
  2019.             General             
  2020. ProBuilder is a simplified data dictionary tool that works completely within the FoxPro environment.  It is written completely in the FoxPro 2.0 development language, and takes extensive advantage of the interface elements and design philosophy inherent in FoxPro.
  2021.  Why a data dictionary?
  2022. When developing database systems, we as FoxPro developers are often faced with a serious roadblock to effective database management:  FoxPro itself.  Since FoxPro offers no data dictionary implementation, we have to fend for ourselves when it comes to documenting our system and strategies for reindexing and rebuilding databases.  
  2023. While FoxPro's venerable MODIFY STRUCTURE command will allow us to create and modify database structures, it provides no meaningful objective record of those structures.  One trashed database can mean hours of tedious reconstruction based on program code or old versions of the database.  Fortunately, FoxPro does provide us with the tools to develop our own data dictionary.
  2024. A data dictionary not only provides a reliable means to create and modify databases and indexes during development, but also a distributable reference point for managing file rebuilds and reindexes in the field.  In addition, and just as importantly, a data dictionary provides valuable documenting capabilities.  Relying on LIST STATUS and a word processor to document our systems is a notoriously difficult, time consuming, and inexact method of producing usable, up-to-date guides to our databases, and their relationships to one another.
  2025. And what happens if you're hit by the proverbial truck?  How will your client (or your replacement) get a handle on the actual status of the system, and know which pieces of the system are out of date with the official documentation?
  2026.      Why ProBuilder?    
  2027. ProBuilder addresses these issues by offering a one-stop-shopping approach to the average developer's data dictionary needs.  By using ProBuilder to create and modify our databases and indexes, to draw relationships between databases, and to enter full-text schemas to describe our system components, the documentation almost writes itself.
  2028. ProBuilder is written entirely in FoxPro 2.0, and the source code is included.  Being a FoxPro application not only means that you have access to your dictionaries from within FoxPro, but also that you can break ProBuilder into its elements and place them -- in whole or in part -- on your system menu, for seamless integration into the FoxPro environment.
  2029.        Features         
  2030. ProBuilder offers these features, among many others:
  2031.     Replaces and enhances most of the functionality of the Database Setup dialog
  2032.     Creates and modifies databases and index tags (with full support for compound .CDXs and the FOR/UNIQUE/ASC-DESC clauses)
  2033.     Automatically imports existing file structures and .CDX tags
  2034.     Manages relationships between databases through a simple point-and-click dialog
  2035.     Generates .PRGs to handle the setting of relations from within your applications 
  2036.     Allows you to assign plain-English names to databases, fields and indexes for easier user-querying
  2037.     Provides full schema support for databases, fields, and index tags via FoxPro's unlimited length memo fields
  2038.     Logs changes for fields and index tags
  2039.     Associates databases with programs, or sets of programs
  2040.     Outputs reports to the printer, screen, or file on disk
  2041.     Introduces the Field Object Editor for creating "global fields" that can be assigned to multiple databases, which helps enforce standardization of data elements 
  2042.     Supports multiple dictionaries
  2043.     Dozens of helpful utilities, alerts, dialogs, and programming ideas
  2044.     Clean, well-documented FoxPro 2.0 source code included
  2045.     Thorough, context-sensitive help for all ProBuilder features
  2046.                                 
  2047.     Adding and Removing Tags    
  2048.                                 
  2049.           Push Button           
  2050. Index tags can be defined and removed in two ways.  The first is to check the "Tag field" checkbox, which creates a tag for the current field, or removes the current tag if one exists.  The second method is to select either the Add Tag or Remove Tag push buttons.
  2051.  < Add tag >
  2052.       This push button will create a new tag, with a generic file name similar to that which is created with the < Insert field > push button.  The description and expression for the tag will default to the new tag name.
  2053.  < Remove tag >
  2054.       Select this button to remove the tag currently highlighted in the tag list.  If the current tag is associated with the current field, the Tag Field checkbox will be unchecked.
  2055. See also:  Tag List, Tag Field, Tag Name, Tag Description, Tag Expression, Inserting and Deleting Fields
  2056.                                 
  2057.  Ascending vs. Descending Tags  
  2058.                                 
  2059.           Radio Button          
  2060. Index tags can either operate in ascending (A...Z, 0...9) order, or the opposite (descending).  By default, any tag definition created in ProBuilder is in ascending order (which is also FoxPro's default).
  2061. To change the order of the index tag, select either ascending or descending.  To accept the default, make no changes.
  2062.                                 
  2063.            Black Box            
  2064.                                 
  2065.        Real-world entity        
  2066. The ideal is programming is to develop the proverbial black box:  you put various items into the box, some mysterious process takes place, and completely different items come out the other side.  As FoxPro developers, we're all familiar with the concept in the form of generic UDFs that do all sort of neat tricks.  ProBuilder now provides you with such a black box for setting relationships.
  2067. In complex systems that rely on many different databases relating to one another in various ways, it's important to have a schema of those relations.  ProBuilder presents such as a schema in the form of BLACKBOX.PRG.  This program, which ProBuilder generates based on the relationships defined for each database in the dictionary, is designed to be incorporated into your distributed application.  It provides one stop shopping for setting relations during program execution.
  2068. Each relation is saved with a simple, plain-English description that you create.  Then, when BLACKBOX.PRG is generated, those descriptions become the basis of a DO CASE...ENDCASE construct.  If you then bundle BLACKBOX.PRG with your distributed application, all you have to write in your code is a line that says:
  2069.     DO blackbox.prg WITH "Invoices to Customers"
  2070. and BLACKBOX.PRG will make sure both databases are open, orders are set correctly, and the relationship is established.  All without writing any code on your part (except maybe the relational key expression).
  2071. Each time a dictionary definition is deleted or the files are rebuilt, you will be asked if you want to re-generate the black box.
  2072. See also:  Relationship Options, Define Options, Deleting a Database Definition, Building Database
  2073.                                 
  2074.    Building defined databases   
  2075.                                 
  2076.           Push Button           
  2077. After a database has been defined to the ProBuilder dictionary, it can be created by selecting the < Build... > push button.  This calls forward the File Picker dialog, where you can choose to build only the definition highlighted in the File List, or any other definition.
  2078. The database built from the definition will be placed in the directory where the current Structur.dbf file was located.  If a database with the same name as the definition being built already exists on disk, its records will be appended into the newly built database; no records will be lost.
  2079. The procedures that are called by the < Build... > routine (primarily the file_bld, pickerv, make_dbf, and make_cdx .PRG files) should be included in your distributed application, to allow your users to rebuild applications in the field.
  2080. After a build has been attempted, you will be given an opportunity to rebuild the relation-setting black box.
  2081. See also:  File Picker, Black Box, Developer Tips
  2082.                                 
  2083.            Change Log           
  2084.                                 
  2085.              Dialog             
  2086. This displays all fields and tags for the current definition, and indicates when the last changes were made for each field and tag.  The display is arranged in the same order as the field and tag lists, with the fields appearing first.
  2087. See also:  Field List, Tag List
  2088.                                 
  2089.          Child Database         
  2090.                                 
  2091.              Popup              
  2092. This is a listing of all databases defined to the current dictionary, with the exception of the currently selected database, which is operating as the parent in the relationships.  The database selected will become the "INTO" database, meaning the child of the relationship.
  2093. See also:  Child Database Order
  2094.                                 
  2095.       Child Database Order      
  2096.                                 
  2097.              Popup              
  2098. This popup contains all the index tags that have been defined for the selected child database, plus an entry for record number order ("RECNO()").  Since the child of a relationship must be indexed in the same order as the tag expression, it is important to select the correct tag order to match the tag expression defined in the Relationship Expression field.
  2099. If the selected child database has no index tags defined, this will display only "RECNO()", and cannot be changed.
  2100. See also:  Relationship Expression, Child Database, Tag List
  2101.                                 
  2102.       Database Description      
  2103.                                 
  2104.         Data entry field        
  2105. Each database can be assigned a plain-English description, in addition to the DOS filename.  This field allows twenty characters for this purpose.
  2106.                                 
  2107.          Database Name          
  2108.                                 
  2109.         Data entry field        
  2110. This is the DOS filename for the database being defined.  It must be no more than eight characters in length, and will automatically be assigned an extension of ".DBF".
  2111. See also:  Database Description
  2112.                                 
  2113.         Database Schema         
  2114.                                 
  2115.            Check Box            
  2116. Each database is defined by four basic criteria:
  2117.  Its DOS filename
  2118.  Its fields and their characteristics 
  2119.  Relationships to other databases in the system
  2120.  A full-text description
  2121. This checkbox addresses that last element.  When selected, ProBuilder provides an opportunity to describe this database's role in your system with free-form text of a length limited only by your system's and FoxPro's restraints.  This information is a very valuable contribution to the documentation of a system, and is optionally presented on the system reports.
  2122. There are also checkboxes through which a schema may be entered for each field and index tag.
  2123. See also:  Relationship Setting Options, Report Options, Field Schema, Tag Schema
  2124.                                 
  2125.          Default Value          
  2126.                                 
  2127.            Check Box            
  2128. All fields except for memos may have default values assigned to them.  If a field has been assigned a default value, this box will be checked.  Select this box to assign, or change, the current field's default value.
  2129. Common default values might be:  area codes; cities, states, and other geographic information; salutations (Mr., Ms., etc.); and application specific values, such as customer types.
  2130. See also:  Field Type
  2131.                                 
  2132.          Define Options         
  2133.                                 
  2134.           Push Button           
  2135. There are three primary methods available for defining a database to ProBuilder:  Creating a new definition, Modifying an existing definition, or Cloning an existing definition.
  2136.  < New... >  and  < Modify... >
  2137.       The only difference between the two options is that New creates an entirely new database definition, while Modify allows you to view and update an existing definition.  Modify is only available if a database has already been defined.
  2138.       Selecting either the < New... > or the < Modify... > push buttons will bring forward the structure building dialog, where a database name, its field names and characteristics, their tag names and characteristics, and any program associations can be created and modified.  
  2139.  Clone  (menu bar)
  2140.       The Clone option is only available if one or more databases have been defined.  The definition currently highlighted will be cloned, creating a new item with identical characteristics to the original.  The only difference will be in the DOS filename, which will be the same except for the last letter, which will be "X".
  2141.  Import (menu bar)
  2142.       The Import option is available at any time.  This will ask you to identify existing databases whose definitions you wish to be included in the current dictionary.
  2143. See also:  ProBuilder Menu, Importing Definitions
  2144.                                 
  2145.      Deleting a Definition      
  2146.                                 
  2147.           Push Button           
  2148. There are two methods available to delete a definition from the ProBuilder dictionary.
  2149.  Select the < Delete > push button 
  2150.       After deleting the selected definition, you will be provided with the opportunity to rebuild the relation-setting black box.
  2151.  Remove field definitions 
  2152.       While Modifying a definition, remove all field definitions, and save your work.
  2153. Both of these methods will delete a definition from the dictionary.  Neither will delete any databases on disk; they only remove the definition from the dictionary.
  2154. See also:  Black Box, Define Options
  2155.                                 
  2156.        Exiting ProBuilder       
  2157.                                 
  2158.           Push Button           
  2159. Selecting the 
  2160.  push button exits ProBuilder, resets your environment, and returns you to the FoxPro command window.
  2161.                                 
  2162.          Field Decimals         
  2163.                                 
  2164.         Data entry field        
  2165. If the field type is Numeric, decimals may be included in the field definition.  The number of decimals must be no more than the field width, minus one for the period.
  2166. See also:  Field Length
  2167.                                 
  2168.        Field Description        
  2169.                                 
  2170.         Data entry field        
  2171. In addition to the formal FoxPro-abiding name, each field can have its own plain-English description.  ProBuilder provides 20 spaces for this.
  2172. See also:  Field Name
  2173.                                 
  2174.            Field List           
  2175.                                 
  2176.               List              
  2177. This is a list of the fields defined for the current database definition.  
  2178. As you scroll through the list, the values for field name, length, type, and other characteristics will be adjusted to reflect information about the field being highlighted.  If the field being highlighted is tagged for an index entry, the Tag List and details will reflect the characteristics of the field's index tag.
  2179. Since this list is based upon a popup, entries can be raised and lowered in the field hierarchy.  Use the standard FoxPro mover popup keys to rearrange entries in the list.
  2180. See also:  Field Name, Field Type, Field Width, Field Decimals, Tag Field, Default Value, Tag List, Inserting and Deleting Fields
  2181.      WINDMODIFY  FILE_BLD.PRG            F  585
  2182.                                 
  2183.            Field Name           
  2184.                                 
  2185.         Data entry field        
  2186. Each field must be assigned a valid name.  To be valid, a field must meet certain basic FoxPro criteria:
  2187.  No more than 10 characters
  2188.  Can include only the A-Z, 0-9, and "_" characters
  2189.  Must not already be assigned to another field in the current definition
  2190. ProBuilder checks for these criteria, and only allows you to exit the field if all three are met.  Otherwise, you will be notified of the violation, and returned for further editing.
  2191. See also:  Field Type, Field Width, Field Decimals, Field Description, Inserting and Deleting Fields
  2192.                                 
  2193.      Field Object Checkbox      
  2194.                                 
  2195.            Check Box            
  2196. Selecting this checkbox will call forward the Field Object Editor, which is used to create, edit, and/or delete Field Objects.  The manner in which the Field Object Editor is invoked depends on the status of the current field.
  2197.  Not Currently a Field Object
  2198.       If the field selected in the field list is *not* currently  defined as a Field Object, you will have the chance to tell ProBuilder whether you wish to:
  2199.  insert a new Field Object into the Objects database based on the values of the current field.  This will insert the current field's characteristics into a new Field Object definition.  You simply assign a name to the new Field Object.
  2200.  enter the Field Object Editor to select another Field Object.
  2201.  simply return to editing the current field.
  2202.  Already a Field Object
  2203.       This will simply call forward the Field Object Editor for the currently selected Field Object.
  2204. Whichever means is employed to enter the Field Object Editor, remember that exiting always works the same way:
  2205.  Selecting 
  2206.       If called from the Structure Editor, this will result in the current field in the Structure Editor being replaced by the currently highlighted Field Object in the Field Object Editor.  Be sure that you are highlighting the Field Object whose characteristics you want before selecting the 
  2207.  push button.
  2208.       That Field Object will be inserted automatically, and access to editing that field's name, type, dimension, description, and schema will require editing the object itself.
  2209.  Pressing ESCape (or Cancel)
  2210.       If you hit ESCape or select the < Cancel > push button, it makes no difference what Field Object you're highlighting.  Just be sure you haven't made any changes you want to save.
  2211. See also:  Field Objects, Field Object Editing, Field List, Yes/No/Cancel Alerts
  2212.                                 
  2213.        Field Object List        
  2214.                                 
  2215.           Push Button           
  2216. This is a list of the FIeld Objects defined for the current dictionary.  
  2217. As you scroll through the list, the values for object name, field name, length, type, and other characteristics will be adjusted to reflect information about the Field Object being highlighted.  The Schema... and Tagged checkboxes will reflect whether the current Field Object has a schema and/or will be tagged upon insertion into a definition, respectively.
  2218. See also:  Field Object Name, Field Name, Field Type, Field Width, Field Decimals, Field Object Tag
  2219.                                 
  2220.        Field Object Name        
  2221.                                 
  2222.         Data entry field        
  2223. Each Field Object is identified by a plain-English name, such as "Unique ID Numbers" or "Organization Names".  Enter such a name in this field.  If the field is left empty, the Field Object will optionally be deleted.
  2224. See also:  Field Name
  2225.                                 
  2226.       Field Object Options      
  2227.                                 
  2228.           Push Button           
  2229. In addition to the other components of the Field Object Editor dialog, there are four push buttons that stand alone.  Their functions are as follows:
  2230.   OK  
  2231.       Selecting this button will return you to the main ProBuilder window, saving any changes that have been made during the current editing session.
  2232.  < New >
  2233.       This creates a new Field Object, leaving the name empty, and placing you on the Field Object name field.
  2234.  < Delete >
  2235.       This deletes the currently highlighted Field Object.  When a Field Object is deleted, the current dictionary definitions are scanned, and any references to Field Objects that no longer exist are removed, leaving the field in the definition.  In other words, deleting an object merely moves central editing control for a given Field Object from the Field Object Editor to the Structure Editor.
  2236.  < Cancel >
  2237.       This will return you to the main ProBuilder window.  If any changes have been made during the current session, you will be warned that this option will abandon those changes, and that you may still save your work before exiting.  If you chose not to save your work by answering "Yes", then any changes made during the current editing session will be lost.
  2238. See also:  Field Objects, Field Object Name
  2239.                                 
  2240.       Field Object Schema       
  2241.                                 
  2242.            Check Box            
  2243. Each Field Object is described by its basic characteristics (name, type, and dimensions) and by two other criteria:  whether or not it's tagged for an index entry, and a full-text description.
  2244. To enter a complete, plain-English description of a Field Object's function for the current dictionary, use this checkbox to enter ProBuilder's Schema Editor.
  2245. Full schemas can also be entered through the Structure Editor for fields, index tags, and whole databases.
  2246. See also:  Field Schema, Tag Schema, Database Schema
  2247.                                 
  2248.         Field Object Tag        
  2249.                                 
  2250.            Check Box            
  2251. This checkbox is used to indicate the action taken upon inserting the current Field Object into a definition.  If the field is to be tagged, this box should be checked.
  2252. Removing the check has no effect on previous insertions of the current Field Object; it only determines what happens on future insertions.
  2253.                                 
  2254.          Field Objects          
  2255.                                 
  2256.        Real-world entity        
  2257. When building a database system, we as FoxPro developers have the burden of enforcing data integrity constraints on the relations and elements of our system.  ProBuilder provides a method for assisting in this enforcement through the introduction of Field Objects.
  2258. A Field Object is a field definition (the field name, type, dimensions, schema, and an indication of whether or not it is to be tagged) that is referred to by a plain-English name, such as "System ID Numbers".  When you change the Field Object, all instances of that field in the current dictionary will be updated with the values of that Field Object.  In this way, you can be assured that, for instance, the length of the City field in your Vendor and Customer databases will always be consistent simply by inserting the appropriate Field Object into the respective databases.
  2259. The Field Object Editor is accessible both through the main window (by selecting the < Objects... > push button) and the Structure Editor (by inserting a Field Object, or editing an existing one).
  2260. See also:  Field Object Options, Inserting and Deleting Fields
  2261.                                 
  2262.           Field Schema          
  2263.                                 
  2264.            Check Box            
  2265. Each field is described by its basic characteristics (name, type, and dimensions) and, in ProBuilder, by three other criteria:  default values, whether or not it's tagged for an index entry, and a full-text description.
  2266. To enter a complete, plain-English description of a field's function within a particular database, use this checkbox to enter ProBuilder's Schema Editor.
  2267. Full schemas can also be entered for index tags, and the database as a whole.
  2268. See also:  Tag Schema, Database Schema
  2269.                                 
  2270.            Field Type           
  2271.                                 
  2272.         Data entry field        
  2273. ProBuilder supports the five basic field types that FoxPro 2.0 for DOS supports:
  2274.     Character
  2275.     Numeric
  2276.     Date
  2277.     Logical
  2278.     Memo
  2279. Entering the first character of the field type you wish to assign to the current field is sufficient to identify that type.  If you attempt to leave the field empty, a popup containing the acceptable types will be presented.
  2280. Since changing a field type in a database definition will make it impossible to append field data in records of an existing database with the same field name, but a different type, you must confirm that you intended to change the type when modifying an existing type.
  2281. The field type you select will determine what other fields require (or allow) input, whether you can assign a default value to that field, and whether or not that field can be tagged for 
  2282. an index.
  2283. See also:  Field Name, Field Width, Field Decimals
  2284.                                 
  2285.           Field Width           
  2286.                                 
  2287.         Data entry field        
  2288. This is where the maximum width of the current field is defined.  Different fields have different restrictions placed on them by FoxPro.  The basics are:
  2289.  Character
  2290.       The maximum width is 254 characters.
  2291.  Numeric
  2292.       The maximum width is 20 places.  If decimals are being defined for the field, the width must at least be wide enough to account for the decimals places, plus one for the period.
  2293.  Date
  2294.       FoxPro assigns a mandatory width of 8 spaces.
  2295.  Logical
  2296.       FoxPro assigns a mandatory width of 1 space.
  2297.  Memo
  2298.       FoxPro assigns a mandatory width of 10 spaces in the database definition; the actual text is stored in the .FPT file, and the restrictions for that can be found in the FoxPro Developer's Guide.
  2299. See also:  Field Type, Field Decimals
  2300.                                 
  2301.            File List            
  2302.                                 
  2303.               List              
  2304. This is the list of database that have been defined to the Probuilder dictionary.  The DOS filename appears first, followed by any description that has been assigned for the database.
  2305. Databases are defined using Modify, and New push buttons, and the Clone menu option; built using the Build button; and deleted using the Delete button.  Databases that exist on disk but have not yet been defined to ProBuilder can be imported using the Import option on the main Dictionary menu.
  2306. See also:  Define Options, Deleting a Definition, Importing a Definition
  2307.                                 
  2308.           File Picker           
  2309.                                 
  2310.              Dialog             
  2311. This dialog allows you to select one, many, or all the files that might be appropriate to the current task.  This dialog is called, for example, by both the Build and Import options, to determine what files are to be built or imported.  
  2312. The dialog's options are as follows:
  2313.  Source list box (left box)
  2314.       This is the listing of available items that have not yet been selected.  Items may be selected by highlighting the preferred item, and pressing enter, double-clicking with the mouse, or selecting one of the <Select> push buttons.
  2315.  <Select one 
  2316.       This button allows you to select one item from the source list box.  This button is only available if there is at least one item remaining in the list box.
  2317.  <Select all 
  2318.       This button allows you to select all the remaining items in the source list box.  This is only available if there are at least two items remaining in the list box.
  2319.  Target list box (right box)
  2320.       This is the listing of items that have been selected for processing, whatever that process might be.  Items may be de-selected by highlighting the item to remove and pressing enter, double-clicking with the mouse, or selecting one of the <Remove> push buttons.
  2321.  Remove one>
  2322.       This works the same as the <Select one 
  2323. > button, but in the opposite direction.
  2324.  Remove all>
  2325.       This works the same as the <Select all 
  2326. > button, but in the opposite direction.
  2327.       You select this push button any time there is at least one option in the target list box.  This tells whatever process is running that is should continue with the items selected.
  2328.  < Cancel >
  2329.       This aborts the process that called the File Picker.
  2330.                                 
  2331.          For Expression         
  2332.                                 
  2333.            Check Box            
  2334. If a FOR expression has been defined for the current tag, this box will be checked.  This push button calls forward FoxPro's Expression Builder.  You can use the Expression Builder to create an index tag FOR expression for the current tag, and verify it to make sure it is valid.
  2335. A temporary cursor is created and made the default database so that the current field list will be available to the Expression Builder.  To avoid any possible conflict between the temporary cursor and an existing database of the same name, the cursor is name "X_" plus the current database definition name.  If you use FoxPro's resource file capabilities, you can use the Edit Preferences option in the Expression Builder to suppress entry of the alias when you select a field name from the Expression Builder's field list.
  2336. If the tag FOR expression is left empty, this box will be unchecked.
  2337. See also:  Tag Expression, Tag Expression Builder
  2338.                                 
  2339.      Importing Definitions      
  2340.                                 
  2341.             Menu Bar            
  2342. The Import... menu bar on the Data Dictionary menu pad allows you to import the definitions of databases on disk into the current structure file.
  2343. When you select this option, you will use the File Open dialog to locate the name of a database whose definition you want to import to the dictionary.  If there are more databases in the same directory as the database you chose, the File Picker will be called to allow you to select for import as many files in that directory as you'd like.
  2344. See also:  File Picker, Define Options
  2345.                                 
  2346.  Inserting and Deleting Fields  
  2347.                                 
  2348.           Push Button           
  2349. Fields can be inserted and deleted by selecting the appropriate button.
  2350.  < Insert field >
  2351.       This inserts a new, empty, character type field definition with a width of 10.  The default name is "NEWFIELDn", where n represents the current number of "NEWFIELD"s.  The field description field also will be seeded with this name.  Selecting this button three times in a row, for example, would add three fields:  NEWFIELD1, NEWFIELD2, and NEWFIELD3.  
  2352.       The field name field becomes the _CUROBJ, where you can proceed to edit the field name and other field characteristics.
  2353.  < Delete field >
  2354.       This will remove the current field definition, and any associated tag.
  2355. See the Field Object Checkbox help topic for information about inserting and deleting Field Objects.
  2356. See also:  Field Name, Field Type, Field Width, Tag Field, Field Object Checkbox, Field Objects, Field Object Options
  2357.                                 
  2358.           Okay Dialog           
  2359.                                 
  2360.              Dialog             
  2361. This window is simply a notice of some important event or fact that ProBuilder felt important enough to force a keystroke from you before proceeding.
  2362. See also:  Yes/No Alert, Yes/No/Cancel Alert
  2363.                                 
  2364.            PathFinder           
  2365.                                 
  2366.              Dialog             
  2367. The PathFinder dialog is an enhanced version of the path-selection dialog that FoxPro provides in the Filer.  PathFinder returns the fully qualified drive and path to any selected directory.
  2368. There are a few differences of note between PathFinder and FoxPro's dialog:
  2369.     Unlike FoxPro's dialog, these directories are not enclosed in square brackets.  This allows you to navigate the list by pressing the first letter of the directory you want.
  2370.     The "one directory up" DOS marker ("..") appears in a network directory list in PathFinder; it does not do so in FoxPro's dialog.
  2371.     You can pass a parameter to PathFinder that allows it to set the selected drive and directory as the default, and then sets the path to all directories one level underneath the selected directory.
  2372.     sThe main ProBuilder window has a menu pad that accompanies it.  It is main ProBuilder menu, and contains the following options:
  2373.  About...
  2374.       This brings forward the ProBuilder version of the FoxPro About... box.  It provides information concerning the authorship, version, and build of ProBuilder (as well as of FoxPro), and other important system information.
  2375.  Help
  2376.       This help facility.  Refer to the FoxPro documentation for assistance in using the FoxPro help facility.
  2377.  New...
  2378.       Calls forward the Structure Editor, for adding a new definition.
  2379.  Modify...
  2380.       Calls forward the Structure Editor, for editing the definition of the currently highlighted database.
  2381.  Select...
  2382.       Allows you to choose a different structure file to work with.
  2383.  Objects...
  2384.       This calls forward the Field Object Editor, for creating, editing, and deleting Field Objects.
  2385.  Relations...
  2386.       Calls forward the Relation Setting dialog, which allows you to define any relationships for which the currently highlighted database is the parent.
  2387.  Blackbox...
  2388.       Builds the black box program that will be included in your distributed application, for the handling of the setting of relations.
  2389.  Build...
  2390.       Calls forward the File Picker, which then turns all selected definitions into databases on disk, appending records from any previously existing database of the same name.
  2391.  Delete
  2392.       Deletes the currently highlighted definition.
  2393.  Clone
  2394.       Creates a clone of the currently highlighted database definition.
  2395.  Import...
  2396.       Allows you to indicate which existing databases on disk should have their definitions entered into the current structure file.
  2397.  Pack
  2398.       This will remove any deleted records from the dictionary, schema, and object files, and pack the memo fields for the dictionary and schema files.  This is an important step to take prior to distribution of the dictionary with your application, in that it might reduce the size of the STRUCTUR.DBF and related files.
  2399.  Reports...
  2400.       This calls forward the Report Options dialog, which offers choices regarding which report to run, with what criteria, and to what destination.
  2401. See also:  Define Options, Selecting a Structure File, Field Objects, Relationship Options, Building Defined Databases, Deleting a Definition, Importing Definitions, Report Options
  2402.                                 
  2403.    Program Assignment Dialog    
  2404.                                 
  2405.              Dialog             
  2406. This window allows you to assign the current database definition to a program or program group.  For more details, refer to the Program Assignment Option help topic.
  2407. See also:  Program Assignment Option
  2408.                                 
  2409.    Program Assignment Option    
  2410.                                 
  2411.            Check Box            
  2412. When checked, this indicates that the definition is tied to a program or program group.  Selecting this check box calls forward the Program Assignment dialog.
  2413. Each database can be assigned to a program, or program group, that can be used to govern when the database should be opened and closed.  A common method is through the use of an OPEN_ALL and SHUTDOWN pair of programs.  OPEN_ALL might be called at the outset of each module in an application.  It would scan the structure file to find all databases that need to be open for the duration of the current module.  Similarly, a SHUTDOWN program can scan the structure file when leaving a module, to see which files should be closed.
  2414. See also:  Program Assignment Dialog
  2415.                                 
  2416.   Relation Expression Builder   
  2417.                                 
  2418.           Push Button           
  2419. This calls forward FoxPro's Expression Builder, which can be used to define the relationship key expression.  Refer to the Tag Expression Builder for more information about ProBuilder's use of the Expression Builder.
  2420. See also:  Relationship Expression, Tag Expression Builder
  2421.                                 
  2422.     Relationship Expression     
  2423.                                 
  2424.         Data entry field        
  2425. This is the "TO" portion of the relational expression.  Any valid expression can be used.  Refer to the FoxPro documentation for help with valid relational expressions.
  2426. ProBuilder makes no effort to enforce the validity of the relational expression.  If the target (or child) database is indicated as being in record number order, you will be reminded that your expression must then be numeric in value.
  2427. Leaving the expression empty will result in the removal of the relationship.
  2428. See also:  Relation Expression Builder
  2429.                                 
  2430.        Relationship List        
  2431.                                 
  2432.               List              
  2433. This is a listing of all relationships where the currently selected database is the parent.  As you scroll through the list of relationships, the components of those relationships will be refreshed to show that relationship's current status.
  2434. See also:  Relationship Name, Relationship Expression, Relationship Expression Builder, Child Database, Child Database Order
  2435.                                 
  2436.        Relationship Name        
  2437.                                 
  2438.         Data entry field        
  2439. This is the name that you will assign to the current relationship.  It is best to assign a plain-English name, such as "Invoices to Customers" or "Line Items to Invoices".  
  2440. Your applications will be able to set relationships using the black box that ProBuilder creates from these definitions.  The name assigned here can be referenced in the black box simply.  For example, your code can say:
  2441.     DO blackbox.prg WITH "Invoices to Customers"
  2442. See also:  Black Box
  2443.                                 
  2444.       Relationship Options      
  2445.                                 
  2446.           Push Button           
  2447. ProBuilder can be used to maintain information concerning the relationships between defined databases.  These two menu options permit the relationships to be defined, and generate a .PRG file that actually sets the relationships for you.
  2448.  < Relations... >
  2449.       This calls forward the relation-setting dialog, where all relationships are defined for which the currently highlighted definition in the file list is the parent in a relationship.
  2450.  < Blackbox... >
  2451.       This generates a .PRG of your choosing (defaulting to BLACKBOX.PRG) that contains all system relations in a single DO CASE...ENDCASE construct.  This .PRG can then be included in any application to automatically open files and set relationships.
  2452. See also:  Relation Setting Options, Black Box
  2453.                                 
  2454.   Relationship Setting Options  
  2455.                                 
  2456.           Push Button           
  2457. In addition to the other components of the Relationship Setting dialog, there are four push buttons that stand alone.  Their functions are as follows:
  2458.   OK  
  2459.       This is only enabled if there are relations presently defined.  Selecting this button will return you to the main ProBuilder window, saving any changes that have been made during the current editing session.
  2460.  < New >
  2461.       This creates a new relationship, leaving the name empty, and placing you on the relationship name field.
  2462.  < Delete >
  2463.       This deletes the currently highlighted relationship.
  2464.  < Cancel >
  2465.       This will return you to the main ProBuilder window.  If any changes have been made during the current session, you will be warned that this option will abandon those changes, and that you may still save your work before exiting.  If you chose not to save your work by answering "Yes", then any changes made during the current editing session will be lost.
  2466. See also:  Relationship Name, Black Box
  2467.                                 
  2468.          Report Options         
  2469.                                 
  2470.              Dialog             
  2471. This dialog sets the options and parameters for ProBuilder reporting, and starts the actual printing.  The available options are as follows:
  2472. ) All    ( ) Some...
  2473.       ProBuilder reports can (like the Build function) apply to one, many, or all of the definitions in the current dictionary.  To select other than every definition for a report (which is the default), access the File Picker by choosing the Some... radio button.
  2474.  [X] Database
  2475.       [X] Field
  2476.       [X] Index tag
  2477.       The schemas for various database elements can be printed selectively.  Check the appropriate box for the type(s) of schemas to print; the default prints all types.
  2478. Printer
  2479.       All reports can be printed to either the Printer, Screen, or file on disk.  Use this popup to select a printing destination.
  2480.  LPT1: 
  2481.       If the report destination is the Printer, you can select which printer port to use.  The default is the current setting of SET("PRINTER", 1).
  2482.  What file?    < File... > 
  2483.       If the report destination is a file on disk, you can enter the file path and name by typing it in, or select the File... push button to use the PUTFILE() dialog.
  2484. See also:  File Picker
  2485.                                 
  2486.    Selecting a Structure File   
  2487.                                 
  2488.           Push Button           
  2489. Before you can begin defining data structures to ProBuilder, you must have selected (or created) a Structur.dbf dictionary file to hold the definitions.  There are two ways of doing this.
  2490.  Pass a file name to ProBuilder
  2491.       ProBuilder can be started with a simple "DO builder.app", but, like all FoxPro applications, you can pass it a parameter.  The only parameter that ProBuilder will accept is a character string pointing to a file called Structur.dbf.  For example, You can call the program with:
  2492.       "DO builder.app WITH '[<path>\]structur.dbf'".
  2493.       If it finds the file in the path you provide, it will load that file.  If not, it will search your path for a Structur.dbf file (refer to the FoxPro help topic for the LOCFILE() function for more information concerning how FoxPro searches paths).  If it does not find a dictionary file, it will present you with an opportunity to locate via the GETFILE() dialog, or to create a new one in the directory of your choosing.
  2494.  < Select... >
  2495.       Pushing the Select button calls forward the GETFILE() dialog, providing you with the opportunity to locate another dictionary (Structur.dbf) file, or to create a new one in the directory of your choosing.
  2496.       If no dictionary file was chosen or created, you will be returned to the current dictionary file (if any).
  2497.                                 
  2498.     Structure Editor Options    
  2499.                                 
  2500.           Push Button           
  2501. In addition to the other components of the Structure Editor, there are three push buttons that stand alone.  There functions are as follows:
  2502.   OK  
  2503.       This is only enabled if there are fields presently defined.  Selecting this button will return you to the main ProBuilder window, saving any changes that have been made during the current editing session.
  2504.  < Change log... >
  2505.       This button is also only available if fields have been defined.  This calls forward the Change Log dialog, which keeps track of the last time changes were made to any field or tag.
  2506.  < Cancel >
  2507.       This will return you to the main ProBuilder window.  If any changes have been made during the current session, you will be warned that this option will abandon those changes, and that you may still save your work before exiting.  If you chose not to save your work by answering "Yes", then any changes made during the current editing session will be lost.
  2508. See also:  Structure Editor Menu, Change Log
  2509.                                 
  2510.         Tag Description         
  2511.                                 
  2512.         Data entry field        
  2513. In addition to the formal FoxPro-abiding name, each tag can have its own plain-English description.  ProBuilder provides 20 spaces for this.
  2514. See also:  Tag Name
  2515.                                 
  2516.          Tag Expression         
  2517.                                 
  2518.         Data entry field        
  2519. Use this field to edit the current tag's index expression.  You are limited to 100 characters in length.  Any changes you make to the tag expression using the Tag Expression Builder option will be immediately reflected here.
  2520. If the tag expression is left empty, you will be asked whether or not to delete the tag, since empty index expressions will generate errors at build time.
  2521. See also:  Tag Expression Builder, Adding and Removing Tags
  2522.                                 
  2523.      Tag Expression Builder     
  2524.                                 
  2525.           Push Button           
  2526. This push button calls forward FoxPro's Expression Builder.  You can use the Expression Builder to create an index tag expression for the current tag, and verify it to make sure it is valid.
  2527. A temporary cursor is created and made the default database so that the current field list will be available to the Expression Builder.  To avoid any possible conflict between the temporary cursor and an existing database of the same name, the cursor is name "X_" plus the current database definition name.  If you use FoxPro's resource file capabilities, you can use the Edit Preferences option in the Expression Builder to suppress entry of the alias when you select a field name from the Expression Builder's field list.
  2528. If the tag expression is left empty, you will be asked whether or not to delete the tag, since empty index expressions will generate errors at build time.
  2529. See also:  Tag Expression, Adding and Removing Tags
  2530.                                 
  2531.            Tag Field            
  2532.                                 
  2533.            Check Box            
  2534. Any character- or numeric-type field can be tagged for an index.  To help facilitate this process, ProBuilder allows a simple check box to handle the creation (or deletion) of an index tag.
  2535. When a field is not yet tagged, clicking on the Tag Field checkbox will perform the following acts:
  2536.  Create a tag name the same as the field's
  2537.  Create a tag description the same as the field's.  If the field description is empty, the tag description will be a PROPER() version of the field name.
  2538.  Create a tag expression based on the field type being tagged.
  2539.  Character fields expressions are:
  2540.             UPPER([field name])
  2541.  Date field expression are:
  2542.             DTOS([field name])
  2543.  Numeric and logical field expressions are simply:
  2544.             [field name]
  2545.  Make the new tag the current item selected in the Tag List.
  2546. If the field was already tagged when the check box was selected, you are asked if you want to remove the tag.
  2547. See also:  Field Name, Field Type, Tag List, Tag Name, Tag Description, Tag Expression, Adding and Removing Tags
  2548.                                 
  2549.             Tag List            
  2550.                                 
  2551.               List              
  2552. This is a list of the tags defined for the current database definition.  
  2553. As you scroll through the list, the values for tag name, description, and index expression will be adjusted to reflect information about the tag being highlighted.
  2554. See also:  Tag Name, Tag Description, Tag Expression, Tag Expression Builder, For Expression, Unique Tag, Ascending vs. Descending Tag, Adding and Removing Tags
  2555.                                 
  2556.             Tag Name            
  2557.                                 
  2558.         Data entry field        
  2559. Each tag must be assigned a valid name.  To be valid, a tag name must meet certain basic FoxPro criteria:
  2560.  No more than 10 characters
  2561.  Can include only the A-Z, 0-9, and "_" characters
  2562.  Must not already be assigned to another tag
  2563. ProBuilder checks for these criteria, and only allows you to exit the field if all three are met.  Otherwise, you will be notified of the violation, and returned for further editing.
  2564. See also:  Tag Description
  2565.                                 
  2566.            Tag Schema           
  2567.                                 
  2568.            Check Box            
  2569. Each index tag is described by its basic characteristics (name, expression, FOR/UNIQUE/ASCENDING-DESCENDING clauses) and, in ProBuilder, by two other criteria:  whether or not it's associated with a particular field, and a full-text description.
  2570. To enter a complete, plain-English description of a tag's intent and function within a particular database, use this checkbox to enter ProBuilder's Schema Editor.
  2571. Full schemas can also be entered for fields, and the database as a whole.
  2572. See also:  Field Schema, Database Schema
  2573.                                 
  2574.            Unique Tag           
  2575.                                 
  2576.            Check Box            
  2577. If you want the current tag to be generated UNIQUE, check this box.
  2578.                                 
  2579.           Yes/No Alert          
  2580.                                 
  2581.              Alert              
  2582. This window appears whenever ProBuilder requires an immediate response.  There are three sections to this window.
  2583.  Description
  2584.       The top portion will display the problem or concern identied, presented in a simple plain-English style.
  2585.  Question
  2586.       A straightforward yes-or-no question concerning the situation described is presented.
  2587.  Response
  2588.       You have two options:
  2589.  Yes 
  2590.           This is an affirmative response to the question posed.  Processing will continue along the lines presented in the description.
  2591.  < No  >
  2592.           This reply has the same effect as pressing ESCape.  You are answering "no" to the question being put to you.
  2593. See also:  Yes/No/Cancel Alert, Okay Dialog
  2594.                                 
  2595.       Yes/No/Cancel Alert       
  2596.                                 
  2597.              Alert              
  2598. This window appears whenever ProBuilder requires an immediate response.  There are three sections to this window.
  2599.  Description
  2600.       The top portion will display the problem or concern identied, presented in a simple plain-English style.
  2601.  Question
  2602.       A straightforward yes-or-no question concerning the situation described is presented.
  2603.  Response
  2604.       You have three options:
  2605.  Yes 
  2606.           This is an affirmative response to the question posed.  Processing will continue along the lines presented in the description.
  2607.  < No  >
  2608.           You are answering "no" to the question being put to you.
  2609.  < Cancel >
  2610.           This response allows you to return to whatever process you were attempting to perform before you called forth this alert.  For example, if you were editing in the Structure Editor and pressed ESCape or clicked on the Cancel push button after making changes, you would be presented with this dialog.  Selecting < Cancel > would return you to the Structure Editor without either saving or losing your changes.
  2611. See also:  Yes/No Alert, Okay Dialog
  2612.                                 
  2613.      ProBuilder Methodology     
  2614.                                 
  2615.             General             
  2616. A number of basic assumptions were made during the design of ProBuilder.  These assumptions were the result of numerous conversations with FoxPro developers in general and ProBuilder beta testers in particular.
  2617.  Assumption #1:  Performance is king.
  2618.       However good and detailed a data dictionary add-on might be, if it appreciably degrades performance in the field, it's not worth the trouble.
  2619.  Assumption #2:  Simplify, simplify, simplify.
  2620.       Many DOS FoxPro developers look with some longing at the mainframe and Unix DBMSs that offer full data dictionary implementations, flush with repository management, data integrity enforcement, and other goodies.  Many in the DOS world are leery of the amount of work involved in maintaining and managing such complex systems for the purposes (primarily) of documentation, and many other purposes are too performance intensive to be workable on the installed base of 80286 computers.
  2621.       A strong consensus developed around the idea of a greatly enhanced version of FoxPro's own STRUCTURE EXTENDED databases:  a single database that contains the entire definition for each database.  What is lost in fine relationality is gained in performance and ease-of-distribution.
  2622.       The most clear-cut outcome of this assumption is the implementation of the Objects database.  While it is somewhat relational at heart (in that Field Objects are referred to by ID number), it operates on the assumption that it's easier and preferable to distribute a single STRUCTUR.DBF file than it is to distribute three databases (STRUCTURE, OBJECTS, and SCHEMAS).  With this in mind, we chose to duplicate each object's information directly into the definition in which it resides, which eliminates the need for a "generate a distribution file" process.
  2623.       Future version of ProBuilder will likely rely more heavily on a relational foundation during interactive use, and generate a single file for distribution.  We at TWS will continue to rely heavily on input from you, the FoxPro/ProBuilder community, to tell us which directions to pursue.
  2624.  Assumption #3:  Open it up.
  2625.       It was clear that all of us as developers wanted to be able to tweak the dictionary to our own style of development, to "kit-bash", as Chuck Werner put it in FoxTalk.  Clean, well-documented source code was an important component of a successful program.
  2626. TOPIC
  2627. TOPIC
  2628. Field Object Name                  
  2629. Unique Tag                         
  2630. Yes/No/Cancel Alert                
  2631. X"`\#`d$``% h&P`'
  2632. P-0(.0)/
  2633. P9@T:
  2634. 4;@h<@l=@l>@d?
  2635. Unique TagSchemaNameListField BuilderExpressionTag Descriptiontructure Editor OptionsSelecting a Structure Fileport OptionsSetting OptionsOptionsNameListship ExpressionRelation Expression BuilderOptiongram Assignment DialogroBuilder MenuPathFinderOkay Dialognserting and Deleting FieldsImporting Definitionsor ExpressionPickerle ListWidthTypeSchemasTagSchemaField Object Options
  2636. NameListObject CheckboxNameListscriptionField DecimalsExiting ProBuilderleting a Definitionine Optionsefault ValueSchemaNameDatabase Description Orderild DatabaseChange Loguilding defined databasesBlack Boxscending vs. Descending TagsAdding and Removing TagsWhat is ProBuilder?hird Wave SoftwareTechnical SupportProBuilder MethodologyHow do I...?Getting Startedcknowledgements
  2637.  About ProBuilder
  2638. /Cancel AlertYes/No Alert    
  2639. m.win_titlef
  2640.  Please make your selection(s) 
  2641. TALKz
  2642. COMPATIBLEz
  2643. picklist
  2644. m.source_sayf
  2645. Available
  2646. m.target_sayf
  2647. Selected
  2648. m.max_allowf
  2649. m.max_allowf
  2650. picklist
  2651. @ 1,1 GET m.src_value     PICTURE "@&N"     FROM src_array     RANGE , m.src_arrctr     SIZE 11,28     DEFAULT 1     VALID _qbe1314ke()     COLOR SCHEME 6
  2652. @*VN \<Select one 
  2653. ;Select \<all 
  2654. @ 1,47 GET m.tgt_value     PICTURE "@&N"     FROM tgt_array     RANGE , m.tgt_arrctr     SIZE 11,28     DEFAULT 1     VALID _qbe1314rs()     COLOR SCHEME 6
  2655. @*VN 
  2656.  \<Remove one;
  2657.  Remove a\<ll
  2658. @*VN \!OK;\?Cancel
  2659.  item available
  2660.  items available8
  2661.  item selected
  2662.  items selected8
  2663. picklist
  2664. SRC_ARRAY
  2665. TGT_ARRAY
  2666. WIN_TITLE
  2667. SOURCE_SAYTARGET_SAYMAX_ALLOW
  2668. KEEPIT
  2669. SRC_VALUE
  2670. TGT_VALUE
  2671. PICK_OPTS1PICK_OPTS2PICK_OPTS3SRC_LENGTHTGT_LENGTHCURRAREA
  2672. TALKSTAT
  2673. uCOMPSTAT
  2674. PICKLIST
  2675. SRC_ARRCTRSRC_WIDTH
  2676. TGT_ARRCTRWAS_CHANGDFIRST_GET
  2677. _QBE1314N7_QBE1314WQ_QBE131518_QBE13153X_QBE13153Z
  2678. CURR_OBJ
  2679. COUNTER
  2680. TGT_ARRAY
  2681. TGT_VALUE
  2682. TGT_ARRCTRSRC_WIDTH
  2683. SRC_ARRAY
  2684. KEEPIT
  2685. SRC_ARRCTRSRC_VALUE
  2686. SRC_LENGTHTGT_LENGTH
  2687. CURR_OBJ
  2688. COUNTER
  2689. KEEPIT
  2690. SRC_ARRAY
  2691. SRC_VALUE
  2692. SRC_ARRCTRSRC_WIDTH
  2693. TGT_ARRAY
  2694. TGT_ARRCTRTGT_VALUE
  2695. TGT_LENGTHSRC_LENGTH
  2696. You're only allowed FF
  2697.  selections.
  2698. picklval.prg
  2699. Select one 
  2700. MAX_ALLOW
  2701. TGT_ARRCTRTGT_ARRAY
  2702. PICKLVAL
  2703. VALUE
  2704. picklval.prg
  2705. LAST_OBJ
  2706. PICKLVAL
  2707. ARRAY
  2708. PICK_OPTS1/
  2709. picklval.prg
  2710.  Remove one
  2711. PICKLVAL
  2712. picklval.prg
  2713. LAST_OBJ
  2714. PICKLVAL
  2715. ARRAY
  2716. PICK_OPTS2
  2717. picklval.prg
  2718. PICKLVAL
  2719. RPICK_OPTS3.
  2720. The maximum number of selections has already been made.
  2721. The maximum number of selections has already been made.
  2722. MAX_ALLOW
  2723. TGT_ARRCTRTGT_ARRAY
  2724. PICKLIST
  2725.  item available
  2726.  items available8
  2727.  item selected
  2728.  items selected8
  2729. CURRWIND
  2730. SRC_ARRAY
  2731. SRC_VALUE
  2732. PICK_OPTS1MAX_ALLOW
  2733. TGT_ARRCTRTGT_ARRAY
  2734. SRC_ARRCTRTGT_VALUE
  2735. PICK_OPTS2PICK_OPTS3PICKLIST
  2736. 3SRC_LENGTHTGT_LENGTHADD_ONE
  2737. DELETE_ONE
  2738. _QBE1314KE
  2739. _QBE1314N7
  2740. _QBE1314RS
  2741. _QBE1314WQ
  2742. _QBE131518
  2743. _QBE13153X
  2744. _QBE13153Z
  2745. Select one 
  2746.  Select one 
  2747. Select all 
  2748.  Select all 
  2749. Selecting all. . .
  2750. You're only allowed 1 selection.
  2751. You're only allowed FF
  2752.  selections.
  2753.  Remove one
  2754.  Remove one 
  2755.  Remove all
  2756.  Remove all 
  2757. Removing all. . .
  2758. Cancel
  2759. CHOICE_1
  2760. EXIT_PICK
  2761. SRC_ARRAY
  2762. TGT_ARRAY
  2763. ADD_ONE
  2764. SRC_VALUE
  2765. MAX_ALLOW
  2766. TGT_ARRCTRDELETE_ONETGT_VALUE
  2767. WAS_CHANGD
  2768. A_RELATES
  2769. A_TGT_ORDRA_TARGETS
  2770. THIS_REL
  2771. RELAT_NAMEA_RELATES
  2772. RELATE_KEYTARGET_DBFBLDORDARRARELATIONS
  2773. KEY_EXPR
  2774. YA_TARGETS
  2775. A_TGT_ORDRTARGETORDRRELAT_OPTSNAME_SAY
  2776. RELAT_NAMERELATE_KEYTARGET_DBFTARGETORDRNAME_SAY
  2777. FRELATIONS
  2778. KEY_EXPR
  2779. YRELAT_OPTS
  2780. Relation key
  2781. Deleting the relation key 
  2782. will make the relation itself impossible.
  2783. Delete the relation F
  2784. BLDR_FIRSTTEMP_CURSRTEMP_ARRAYLENGTH
  2785. RDRCOUNTER
  2786. FCOUNTER2
  2787. TEMPNAME
  2788. TPARENT_DBFA_STRUCTURRELATE_KEYSTRUCTUR
  2789. YWHEN_VALUEYESNO
  2790. _KEYRELAT_NAMEREL_CHANGDDEL_RELATIA_RELATES
  2791. RELATIONS
  2792. dbf_name
  2793. RECNO()
  2794. RECNO()
  2795. RECNO()
  2796. m.this_orderf
  2797. medium
  2798. The tag F
  2799.  for 
  2800.  no longer exists.
  2801. RECNO()
  2802. RECNO()
  2803. RECNO()
  2804. medium
  2805. The target database 
  2806.  no longer exists!
  2807. THIS_TGT
  2808. TTHIS_ORDERCOUNTER
  2809. ERDBF_NAME
  2810. RA_TGT_ORDRSTRUCTUR
  2811. RTAG_FIELD
  2812. TAG_NAME
  2813. RTARGETORDRA_RELATES
  2814. RELATIONS
  2815. BEEPER
  2816. DERTARGET_DBF
  2817. RECNO()
  2818. RECNO()
  2819. A_RELATES
  2820. RELATIONS
  2821. A_TARGETS
  2822. STORE_REL
  2823. REL_CHANGD
  2824. A_RELATES
  2825. NO_REL
  2826. RELAT_OPTSRELATIONS
  2827. STORE_REL
  2828. REL_CHANGD
  2829. dbf_name
  2830. dbf_name
  2831. LENGTH
  2832. COUNTER
  2833. COUNTER2
  2834. SRETURN_VALA_RELATES
  2835. SAVE_CHK
  2836. REL_STRINGDBF_NAME
  2837. GPARENT_DBFPARENTCALLSTRUCTUR
  2838. DBF_CALL
  2839. RFOUND_REL
  2840. FIELD_NAMEFIELD_TYPENEW_REC
  2841. DEFAULTVAL
  2842. You must provide a valid name 
  2843. for this relation!
  2844. You must provide a valid key 
  2845. expression for this relation!
  2846. You must provide a valid 
  2847. target database!
  2848. ERROR_MSG
  2849. RELAT_NAMERELATE_KEYTARGET_DBFBEEPER
  2850. STORE_REL
  2851. NO_REL
  2852. KEY_VAL
  2853. BLDORDARRA
  2854. ADD_RELATI
  2855. DEL_RELATI
  2856. SAVE_REL
  2857. SAVE_CHK
  2858. TALKz
  2859. COMPATIBLEz
  2860. _qbe1318l6
  2861.  Reports 
  2862. PRINTJOB.TXTF
  2863. ALTERNATE
  2864. Screen
  2865. ALTERNATEz
  2866. Printer
  2867. PRINTER
  2868. _qbe1318l6
  2869.  Databases 
  2870. @*RHN \<All;\<Some...
  2871.  Schemas 
  2872. @*C \<Database
  2873. @*C \<Field
  2874. @*C Index \<tag
  2875.  Destination 
  2876. Printer
  2877. @^ \<Printer;\<Screen;\<File
  2878. @^ \<PRN:;LPT\<1;LPT\<2;LPT\<3;\-;\<COM1;C\<OM2;CO\<M3;COM4
  2879. @*HN File...
  2880. @*HN \\\!Print;\?Cancel
  2881. _qbe1318l6
  2882. Screen
  2883. printjob.txt
  2884. Printer
  2885. name_filtr
  2886. CURRAREA
  2887. TALKSTAT
  2888. YCOMPSTAT
  2889. _QBE1318L6PRINTWHICHWITH_DSCMAWITH_FSCMAWITH_TSCMAPRINT_TO
  2890. PRINT_PORTFILE_SAY
  2891. CGET_FILE
  2892. PRINT_FILEPRINT_OPTSWHEN_VALUEA_REPORTS
  2893. DBF_NAME
  2894. A_DBFS
  2895. _QBE13192K_QBE13193V_QBE1319DT_QBE1319GI_QBE1319OX_QBE1319SD_QBE1319TI_QBE131A1J_QBE131A6P_QBE131ABV_QBE131AN5PRINTJOB
  2896. NAME_FILTR
  2897. WHEN_VALUEPRINTWHICH
  2898. Database Reporting
  2899. Databases NOT in report
  2900. Databases IN report
  2901. PRINTWHICHA_REPORTS
  2902. DBF_NAME
  2903. A_DBFS
  2904. 8L6PICKERV
  2905. WHEN_VAL
  2906. HPRINT_TO
  2907. Printer
  2908. PRINTER
  2909. Screen
  2910. printjob.txt
  2911. What file?
  2912. structur&
  2913. structur&
  2914. REPORT.TXT
  2915. printjob.txt
  2916. PRINT_TO
  2917. HPRINT_FILEPRINT_PORTFILE_SAY
  2918. 6PRINTJOB
  2919. PORTS
  2920. PRINT_PORT
  2921. WHEN_VALUEPRINT_FILE2
  2922. ALTERNATE
  2923. OLD_ALTER
  2924. TEMP_VAL
  2925. EIS_VALID
  2926. TERROR_MSG
  2927. FILENAME
  2928. PRINT_FILEPRINT_OPTSWHEN_VALUEA_REPORTS
  2929. WHEN_VALUEPRINT_FILE    
  2930. ALTERNATE
  2931. Print to what file?F
  2932. Select
  2933. OLD_ALTER
  2934. TEMP_VAL
  2935. EPRINT_FILE
  2936. Print
  2937. Running the report. . .
  2938. dbf_name
  2939. pb_defin
  2940. pleasant
  2941. Done!
  2942. Screen
  2943. Report View
  2944. printjob.txt
  2945. printjob.txt
  2946. printjob.bak
  2947. printjob.txt
  2948. name_filtr
  2949. PRINT_OPTSDBF_NAME
  2950. EPB_DEFIN
  2951. EA_REPORTS
  2952. STRUCTUR
  2953. BEEPER
  2954. EPRINT_TO
  2955. SREPORTVIEWPRINTJOB
  2956. WNAME_FILTR
  2957. Printer
  2958. Screen
  2959. _QBE1318L6
  2960. CURRWIND
  2961. SA_REPORTS
  2962. PRINT_OPTSPRINT_TO
  2963. SPRINT_PORTPRINT_FILEGET_FILE
  2964. S_QBE1318L6FILE_SAY
  2965. _QBE13192K
  2966. _QBE13193V
  2967. _QBE1319DT
  2968. _QBE1319GI
  2969. _QBE1319OX
  2970. _QBE1319SD
  2971. _QBE1319TI
  2972. _QBE131A1J
  2973. _QBE131A6P
  2974. _QBE131ABV
  2975. _QBE131AN5
  2976. TALKz
  2977. PUBLIC ARRAY &a_sets[22]
  2978. &a_sets[01] = SET("CARRY")
  2979. &a_sets[02] = SET("CENTURY") 
  2980. &a_sets[03] = SET("COMPATIBLE") 
  2981. &a_sets[04] = SET("CONFIRM") 
  2982. &a_sets[05] = SET("DATE")
  2983. &a_sets[06] = SET("DEBUG") 
  2984. &a_sets[07] = SET("DELETED") 
  2985. &a_sets[08] = SET("DEVELOPMENT") 
  2986. &a_sets[09] = SET("DEVICE") 
  2987. &a_sets[10] = SET("DOHISTORY") 
  2988. &a_sets[11] = SET("ECHO") 
  2989. &a_sets[12] = SET("ESCAPE") 
  2990. &a_sets[13] = SET("HELP") 
  2991. &a_sets[14] = SET("HELP", 01) 
  2992. &a_sets[15] = SET("NOTIFY") 
  2993. &a_sets[16] = SET("SAFETY") 
  2994. &a_sets[17] = SET("STEP") 
  2995. &a_sets[18] = SET("PRINTER") 
  2996. &a_sets[19] = SET("PRINTER", 1) 
  2997. &a_sets[20] = SET("ALTERNATE") 
  2998. &a_sets[21] = SET("ALTERNATE", 1) 
  2999. &a_sets[22] = m.old_talk
  3000. SAVE TO (a_sets) ALL LIKE &a_sets
  3001. RELEASE &a_sets
  3002. SET TALK &old_talk
  3003. OLD_TALK
  3004. SA_SETS
  3005.  Relationships with F
  3006.  as the parent 
  3007. TALKz
  3008. COMPATIBLEz
  3009. _qbe131cv0
  3010. name_filtr
  3011. get_rel.prg
  3012. a_relatesf
  3013. PROCEDUREz
  3014. rel_proc
  3015. _qbe131cv0
  3016. Relation(s)
  3017. @ 2,3 GET m.relations     PICTURE "@&N"     FROM a_relates     SIZE 8,30     DEFAULT 1     WHEN _qbe131f10()     DISABLE     COLOR SCHEME 6
  3018. Set relation to:
  3019. @*HN \<Key expr...
  3020. Order target by:
  3021. @*HN \!OK;\<New;\\\<Delete;\?Cancel
  3022.  into 
  3023. _qbe131cv0
  3024. PARENT_DBFWIN_TITLE
  3025. COUNTER
  3026. FRELATIONS
  3027. RELAT_NAMERELATE_KEYTARGET_DBFTARGETORDRWHEN_VALUEREL_CHANGDRELAT_OPTSNAME_SAY
  3028. OLD_PROC
  3029. STARTINGUPLENGTH
  3030. CURRAREA
  3031. FTALKSTAT
  3032. CCOMPSTAT
  3033. c_QBE131CV0NAME_FILTRSTRUCTUR
  3034. .DBF_NAME
  3035. A_TARGETS
  3036. A_TGT_ORDRA_RELATES
  3037. GET_REL
  3038. A_STRUCTURFIELD_NAMEFIELD_TYPEFIELD_LEN
  3039. FIELD_DEC
  3040. REL_PROC
  3041. P_QBE131F8I_QBE131F9O_QBE131FGE_QBE131FIAKEY_EXPR
  3042. _QBE131FOY_QBE131FPM_QBE131FTU_QBE131FW1_QBE131G0H_QBE131G4P_QBE131G6T_QBE131GMD-
  3043. RELATIONS
  3044. STORE_REL
  3045. WHEN_VALUERELAT_NAME
  3046. Each relation must have a unique 
  3047. name to distinguish it.  Removing the 
  3048. name has the same effect as removing the 
  3049. relation altogether.
  3050. Do you want to remove this relation?
  3051. RETURN_VALWHEN_VALUERELAT_NAMEYESNO
  3052. NAMEREL_CHANGDDEL_RELATIA_RELATES
  3053. RELATIONS
  3054. RECNO()
  3055. Since the target is in record order, 
  3056. this should be a numeric value.
  3057. TARGETORDRWHEN_VALUERELATE_KEY
  3058. KEY_VAL
  3059. WHEN_VALUERELATE_KEY 
  3060. KEY_VAL
  3061. UEKEY_EXPR
  3062. WHEN_VALUETARGET_DBF
  3063. WHEN_VALUETARGET_DBFREL_CHANGDA_RELATES
  3064. RELATIONS
  3065. BLDORDARRAA_TGT_ORDRTARGETORDR
  3066. WHEN_VALUETARGETORDRY
  3067. WHEN_VALUETARGETORDRREL_CHANGDA_RELATES
  3068. RELATIONS
  3069. Delete
  3070. You have indicated that you wish to 
  3071. delete 
  3072. this 
  3073. the F
  3074.  relation.
  3075. Do you want to remove this relation?
  3076. Cancel
  3077. Changes have been made 
  3078. to the list of relations for this parent.  
  3079. If you exit now you will lose those changes.
  3080. Save any changes before exiting?
  3081. Cancel
  3082. EXIT_REL
  3083. ERESPONSE
  3084. RRELAT_OPTSREL_CHANGDSAVE_REL
  3085. A_RELATES
  3086. ADD_RELATIRELAT_NAMESAVE_CHK
  3087. FYESNO
  3088. OPTSDEL_RELATIYESNO1
  3089. _QBE131CV0
  3090. CURRWIND
  3091. ESTARTINGUPA_RELATES
  3092. NO_REL
  3093. NGDRELAT_OPTSRELATIONS
  3094. _QBE131CV0NAME_SAY
  3095. E_QBE131F10
  3096. _QBE131F8I
  3097. _QBE131F9O
  3098. _QBE131FGE
  3099. _QBE131FIA
  3100. _QBE131FOY
  3101. _QBE131FPM
  3102. _QBE131FTU
  3103. _QBE131FW1
  3104. _QBE131G0H
  3105. _QBE131G4P
  3106. _QBE131G6T
  3107. _QBE131GMD
  3108. m.array_cnt = ALEN(&a_sets, 01) 
  3109. = ACOPY(&a_sets, a_reset)
  3110. SET CARRY &a_reset[01] 
  3111. SET CENTURY &a_reset[02] 
  3112. SET COMPATIBLE &a_reset[03] 
  3113. SET CONFIRM &a_reset[04] 
  3114. SET DATE &a_reset[05] 
  3115. SET DEBUG &a_reset[06] 
  3116. SET DELETED &a_reset[07] 
  3117. SET DEVELOPMENT &a_reset[08] 
  3118. SET DEVICE TO &a_reset[09] 
  3119. SET DOHISTORY &a_reset[10] 
  3120. SET ECHO &a_reset[11] 
  3121. SET ESCAPE &a_reset[12] 
  3122. SET HELP &a_reset[13] 
  3123. SET HELP TO &a_reset[14]
  3124. SET NOTIFY &a_reset[15] 
  3125. SET SAFETY &a_reset[16] 
  3126. SET STEP &a_reset[17] 
  3127. SET PRINTER &a_reset[18]
  3128. SET PRINTER TO &a_reset[19]
  3129. SET ALTERNATE &a_reset[20]
  3130. SET ALTERNATE TO &a_reset[21]
  3131. SET TALK &a_reset[22] 
  3132. RELEASE &a_sets, a_reset
  3133. A_SETS
  3134. A_RESET
  3135. ARRAY_CNT
  3136. Updating the old 
  3137.  file with the 
  3138. appropriate fields...
  3139. STRUCTUR
  3140. OLD_STRU.DBF.
  3141. tempstru
  3142. STRUCTUR
  3143. OLD_STRU
  3144. tempstru.dbf
  3145. tempstru.fpt
  3146. SCHEMAS
  3147. OLD_SCMA.DBF.
  3148. tempstru
  3149. SCHEMAS
  3150. OLD_SCMA
  3151. tempstru.dbf
  3152. tempstru.fpt
  3153. SCHEMAS
  3154. OLD_OBJ.DBF.
  3155. tempstru
  3156. SCHEMAS
  3157. OLD_OBJ
  3158. tempstru.dbf
  3159. tempstru.fpt
  3160. okay.prg
  3161. Your 
  3162.  file did not have the correct 
  3163. file structure for this version of ProBuilder.  
  3164. It has been updated, and the old version was 
  3165. saved in its default directory with the name 
  3166. pleasant
  3167. WHICH_FILEOLD_DBF
  3168. LENEW_NAME
  3169. SAY_OLD
  3170. <TEMPSTRU
  3171. EDBF_NAME
  3172. DBF_CALL
  3173. DSCHEMA_IDOBJECT_ID
  3174. FIELD_NAMEFIELD_TYPEFIELD_LEN
  3175. FIELD_DEC
  3176. FIELD_CALLFIELDORDERFIELD_DATEFSCHEMA_IDTAG_FIELD
  3177. TAG_NAME
  3178. ;TAG_CALL
  3179. TAG_EXPR
  3180. TAG_UNIQUETAG_FOR
  3181. ASC_OR_DSCTAG_DATE
  3182. TSCHEMA_IDPROG_NAME
  3183. DEFAULTVALSTRUCTUR
  3184. NAME_FILTRID
  3185. PSTRU
  3186. ESCHEMA
  3187. \SCHEMAS
  3188. D7OBJECTNAMESCHEMA_ID
  3189. TAGGED
  3190. MEPRG
  3191. get_prog.spr
  3192. WHEN_VALUEHASPROGRAMGET_PROG
  3193. WAS_CHANGDGETPROGRAM
  3194. pop_stru
  3195. You can create a new Field Object based 
  3196. on the values of the current field.
  3197. Create an object from the current field?
  3198. Cancel
  3199. objects
  3200. pop_stru
  3201. objects
  3202. pop_stru
  3203. NO TAG8
  3204. NO TAG8
  3205. pop_stru
  3206. pop_stru
  3207. pop_stru
  3208. RESPONSE
  3209. ECHANGEMADEOLD_NAME
  3210. WAS_TAGGEDOBJECTID
  3211. DA_FIELDS
  3212. MFIELDS
  3213. RAMYESNO1
  3214. OBJ_VALUE
  3215. OBJECTS
  3216. FIELD_NAMEFIELD_CALLFIELD_TYPEFIELD_LEN
  3217. FIELD_DEC
  3218. TAG_FIELD
  3219. HAS_OBJECTSHOW_OBJ
  3220. TAGGED
  3221. LLSCHEMA_ID
  3222. WAS_CHANGDSTORE_FLD
  3223. pop_stru
  3224. pop_stru
  3225. pop_stru
  3226. pop_stru
  3227. pop_stru
  3228. pop_stru
  3229. pop_stru
  3230. pop_stru
  3231. pop_stru
  3232. pop_stru
  3233. pop_stru
  3234. pop_stru
  3235. WAS_TAGGEDA_FIELDS
  3236. EFIELDS
  3237. OLD_NAME
  3238. DOBJECTS
  3239. DFIELD_NAMEFIELD_TYPEFIELD_LEN
  3240. FIELD_DEC
  3241. FIELD_CALLSCHEMA_ID
  3242. TAGGED
  3243. LSTORE_FLD
  3244. POP_STRU
  3245. A_INDEXES
  3246. TAG_NAME
  3247. TTAG_EXPR
  3248. TAG_FIELD
  3249. ADD_TAG
  3250. WAS_CHANGDi
  3251. m.field_type
  3252. THISELEMNTELEMENT
  3253. NTLAST_FIELDFIELD_NAMEA_FIELDS
  3254. DFIELD_LEN
  3255. TAG_FIELD
  3256. FIELD_CALLGET_TYPE
  3257. LGET_DEC
  3258. LGET_WIDTH
  3259. GETPROGRAMHASPROGRAMHASDEFAULTHAS_FSCHEMHAS_OBJECTFIELD_TYPEFIELDS
  3260. ECTTAG_OPTS
  3261. FIELD_OPTSSTRU_OPTS
  3262. NEW_FIELD
  3263. NEW_FIELD
  3264. NEW_FIELDFF
  3265. CURRLENGTHCOUNTER
  3266. NTTEMP_COUNTRESPONSE
  3267. EA_FIELDS
  3268. HWAS_CHANGDFLD_COUNT
  3269. BAR_COUNT
  3270. POP_STRU
  3271. FIELDS
  3272. LENGTH
  3273. STORE_FLD
  3274. NO_TAG
  3275. FIELD_NAME
  3276. pop_stru
  3277. pop_stru
  3278. pop_stru
  3279. pop_stru
  3280. pop_stru
  3281. pop_stru
  3282. pop_stru
  3283. pop_stru
  3284. pop_stru
  3285. pop_stru
  3286. pop_stru
  3287. pop_stru
  3288. pop_stru
  3289.  has been removed.
  3290. pop_stru
  3291.  and its tag have 
  3292. been removed.
  3293.  has been removed.
  3294. pop_stru
  3295. COUNTER
  3296. THNEW_LENGTHFINISHED
  3297. TFOUND_TAG
  3298. WAS_CHANGDLENGTH
  3299. NGDA_FIELDS
  3300. FIELDS
  3301. FLD_COUNT
  3302. POP_STRU
  3303. BAR_COUNT
  3304. NO_FIELD
  3305. A_INDEXES
  3306. NO_TAG
  3307. FIELD_NAMEFIELD_OPTSTAG_FIELD
  3308. STORE_FLD
  3309. STORE_TAG
  3310. FIELD_TYPEFIELD_DEC
  3311. HASDEFAULTA_FIELDS
  3312. ELEMENT
  3313. GDTAG_FIELD
  3314. PERIOD
  3315. NO_TAG
  3316. Field length must be between 1 and 254!
  3317. Field length cannot exceed 20
  3318. Field length must be at least FF
  3319. IS_VALID
  3320. EPREV_LENGTFIELD_LEN
  3321. FIELD_TYPEERROR_MSG
  3322. A_FIELDS
  3323. ELEMENT
  3324. TAG_FIELD
  3325. FIELD_DEC
  3326. LENGTH
  3327. WHEN_VALUE 
  3328. THIS_TAG
  3329. ETAGS
  3330. TA_INDEXES
  3331. TAG_NAME
  3332. TAG_CALL
  3333. TAG_EXPR
  3334. TAG_FOR
  3335. FOR_EXPR
  3336. HAS_TSCHEMTAG_UNIQUEASC_OR_DSCA_FIELDS
  3337. EXPRESS
  3338. EMTAG_OPTS
  3339. pop_stru
  3340. UPPER(FF
  3341. pop_stru
  3342. DTOS(FF
  3343. FROM_FIELDNEW_LENGTHCOUNTER
  3344. TEMP_COUNTWAS_CHANGDA_INDEXES
  3345. FIELD_NAMEFIELD_CALLA_FIELDS
  3346. LFIELDS
  3347. DSCTAG_NAME
  3348. STORE_TAG
  3349. Removing this tag will not have any 
  3350. effect upon the data or the database 
  3351. structure.  It will only affect the index.
  3352. Remove the tag F
  3353. pop_stru
  3354. JUST_DO_ITRETURN_VALFOUND_FLD
  3355. YESNO
  3356. O_ITTAG_NAME
  3357. DWAS_CHANGDA_FIELDS
  3358. A_INDEXES
  3359. _CALLFIELDS
  3360. TAG_FIELD
  3361. NEW_LENGTHSTORE_TAG
  3362. NO_TAG
  3363. defa_val
  3364. pop_stru
  3365. pop_stru
  3366. pop_stru
  3367. INSERT INTO defa_val     (&field_name)     VALUES     (m.curr_val)
  3368. Default value for F
  3369. ENTER
  3370. KEYBOARD "{CTRL+W}"
  3371. ENTER
  3372. defa_val.
  3373. pop_stru
  3374. Select <Yes> for a default value of True, 
  3375. or <No> for a default of False.
  3376. The current default is F
  3377. TRUE.
  3378. FALSE.8
  3379. FALSE
  3380. A_DEFAULT
  3381. CURR_VALUEWIDTH
  3382. RETURN_VALFIELD_TYPEFIELD_NAMEFIELD_LEN
  3383. FIELD_DEC
  3384. DEFA_VAL
  3385. LCURR_VAL
  3386. EA_FIELDS
  3387. FIELDS
  3388. GTHFIELD_CALLENTER
  3389. ESTRUCTUR
  3390. YESNO
  3391. _VALn
  3392. Index expression for index tag 
  3393. Deleting the tag expression, 
  3394. will also delete the tag itself.
  3395. Delete the tag F
  3396. BLDR_FIRSTTEMP_CURSRTEMP_ARRAYLENGTH
  3397. VALCOUNTER
  3398. PECOUNTER2
  3399. ERETURN_VALTEMPNAME
  3400. TDBF_NAME
  3401. LA_FIELDS
  3402. ETAG_NAME
  3403. YTAG_EXPR
  3404. HSTRUCTUR
  3405. LWHEN_VALUEYESNO
  3406. WAS_CHANGDA_INDEXES
  3407. REMOVETAG
  3408. Index FOR expression for index tag 
  3409. TEMP_CURSRTEMP_ARRAYLENGTH
  3410. RAYCOUNTER
  3411. ALCOUNTER2
  3412. ETEMPNAME
  3413. EDBF_NAME
  3414. LA_FIELDS
  3415. TTAG_NAME
  3416. YTAG_FOR
  3417. ESTRUCTUR
  3418. CURSRHAS_TSCHEMTAG_UNIQUEFOR_EXPR
  3419. LTAG_NAME
  3420. ETAG_CALL
  3421. ETAG_EXPR
  3422. LTAG_FOR
  3423. TASC_OR_DSCA_INDEXES
  3424. EXPRESS
  3425. EMTAG_OPTS
  3426. FIELDS
  3427. RSRFIELD_LEN
  3428. FIELD_DEC
  3429. HAS_FSCHEMTAG_FIELD
  3430. GETPROGRAMHAS_OBJECTFIELD_NAMEFIELD_TYPEFIELD_CALLHASDEFAULTTAG_OPTS
  3431. MFIELD_OPTSSTRU_OPTS
  3432. Saving a structure without any fields will 
  3433. result in the removal of the database from 
  3434. the STRUCTUR.DBF file.
  3435. Remove F
  3436.  from the 
  3437. structures database?
  3438. Cancel
  3439. Saving the structure for F
  3440. pop_stru
  3441. pop_struF
  3442. pop_stru
  3443. #FFFR^
  3444. schemas
  3445. Saving the structure for F
  3446. structur
  3447. dbf_name
  3448. dbf_name
  3449. dbf_name
  3450. NEW_NAME
  3451. RNEW_CALL
  3452. FARRAY_LENIARRAY_LENFOUND_FLD
  3453. FOUND_TAG
  3454. COUNTER
  3455. CTRESPONSE
  3456. EDBF_NAME
  3457. EDBF_CALL
  3458. LA_FIELDS
  3459. NA_INDEXES
  3460. ADDING
  3461. PTSSTRUCTUR
  3462. FLD_COUNT
  3463. YESNO1
  3464. DTHIS_DBF
  3465. COUNTER2
  3466. NFIELD_TYPESET_VARS
  3467. OBJECT_ID
  3468. FSCHEMA_IDSCHEMAS
  3469. uSCHEMA
  3470. NEW_REC
  3471. ENDSCHEMA_IDDBF_SCHEMATAG_FIELD
  3472. TAG_NAME
  3473. TAG_CALL
  3474. TAG_EXPR
  3475. TAG_FOR
  3476. TAG_UNIQUEASC_OR_DSCTAG_DATE
  3477. TSCHEMA_IDPROG_NAME
  3478. HASPROGRAM
  3479. WHICH_ROW
  3480. DBF_NAME
  3481. NEW_NAME
  3482. NDBF_CALL
  3483. NNEW_CALL
  3484. PROG_NAME
  3485. HASPROGRAMDSCHEMA_IDDBF_SCHEMAFIELD_NAMEA_FIELDS
  3486. NFIELD_TYPEFIELD_LEN
  3487. FIELD_DEC
  3488. FIELD_CALLFIELD_DATEFIELDORDERTAG_FIELD
  3489. DEFAULTVALOBJECT_ID
  3490. FSCHEMA_IDFARRAY_LENA_INDEXES
  3491. FOUND_TAG
  3492. TAG_NAME
  3493. TAG_CALL
  3494. TAG_EXPR
  3495. TAG_FOR
  3496. TAG_UNIQUEASC_OR_DSCTAG_DATE
  3497. TSCHEMA_IDIARRAY_LENSHOW_PROG
  3498. GET_OBJECT
  3499. SHOW_OBJ
  3500. STORE_FLD
  3501. ADD_FIELD
  3502. REMOVEFLD
  3503. GET_DEC
  3504. GET_WIDTH
  3505. STORE_TAG
  3506. ADD_TAG
  3507. REMOVETAG
  3508. GET_VAL
  3509. EXPRES_VAL
  3510. FOR_VAL
  3511. NO_TAG
  3512. NO_FIELD
  3513. SAVE_STRU
  3514. SET_VARS
  3515. TALKz
  3516. COMPATIBLEz
  3517. _qbe131idb
  3518.  Change Log 
  3519. Setting up the change log. . .
  3520. pop_stru
  3521. pop_stru
  3522. pop_stru
  3523. pop_stru
  3524.    Field       
  3525.  no changes 
  3526. pop_stru
  3527.    Field   
  3528. pop_stru
  3529. pop_struF
  3530. pop_stru
  3531.    Tag         
  3532.  no changes 
  3533.    Tag     
  3534. _qbe131idb
  3535. @ 2,3 GET m.timestamp     PICTURE "@&N"     FROM a_stamps     SIZE 9,49     DEFAULT 1     COLOR SCHEME 6
  3536. @*HT \!OK
  3537. _qbe131idb
  3538. CURRAREA
  3539. QTALKSTAT
  3540. COMPSTAT
  3541. _QBE131IDBCOUNTER
  3542. uCOUNTER2
  3543. I_ARRAYLENPOP_LENGTHA_STAMPS
  3544. A_FIELDS
  3545. A_INDEXES
  3546. LAST_DATE
  3547. LAST_TIME
  3548. GET_TIME
  3549. FIELDS
  3550. TIMESTAMP
  3551. EXIT_STAMP_QBE131JAA
  3552. _QBE131JAA
  3553. TALKz
  3554. COMPATIBLEz
  3555. w_yesno
  3556. DO get_help.prg WITH  WONTOP(),  MENU(),  PAD()
  3557. messagef
  3558. questionf
  3559. Proceed?
  3560. w_yesno
  3561. @*HN \!\<Yes;\<No
  3562. w_yesno
  3563. MESSAGE
  3564. FSAY_YES
  3565. QUESTION
  3566. LENGTH
  3567. >MSG_LENGTHSTART
  3568. ANSWER
  3569. tJCURRAREA
  3570. TALKSTAT
  3571. ,COMPSTAT
  3572. W_YESNO
  3573. _QBE131L9Y_QBE131LGQc
  3574. ANSWER
  3575. CURRWIND
  3576. FMESSAGE
  3577. START
  3578. LENGTH
  3579. >MSG_LENGTHROW
  3580. _QBE131L9Y
  3581. _QBE131LGQ
  3582. TALKz
  3583. COMPATIBLEz
  3584. wyesno1
  3585. DO get_help.prg WITH  WONTOP(),  MENU(),  PAD()
  3586. messagef
  3587. questionf
  3588. Proceed?
  3589. wyesno1
  3590. @*HT \!\<Yes;\<No;\?\<Cancel
  3591. wyesno1
  3592. MESSAGE
  3593. RESPONSE
  3594. TQUESTION
  3595. 9ANSWER1
  3596. LENGTH
  3597. MSG_LENGTHCURRAREA
  3598. TALKSTAT
  3599. COMPSTAT
  3600. WYESNO1
  3601. _QBE131NTXQ
  3602. CURRWIND
  3603. MESSAGE
  3604. TSTART
  3605. 9LENGTH
  3606. MSG_LENGTHROW
  3607. _QBE131NTX
  3608. OBJTYPE
  3609. OBJCODE
  3610. HEIGHT
  3611. WIDTH
  3612. STYLE
  3613. PICTURE
  3614. ORDER
  3615. UNIQUE
  3616. COMMENT
  3617. ENVIRON
  3618. BOXCHAR
  3619. FILLCHAR
  3620. FLOAT
  3621. STRETCH
  3622. NOREPEAT
  3623. RESETRPT
  3624. PAGEBREAK
  3625. RESETPAGE
  3626. SWAPHEADER
  3627. SWAPFOOTER
  3628. EJECTBEFOR
  3629. EJECTAFTER
  3630. PLAIN
  3631. SUMMARY
  3632. ADDALIAS
  3633. OFFSET
  3634. TOPMARGIN
  3635. BOTMARGIN
  3636. TOTALTYPE
  3637. RESETTOTAL
  3638.   1 0                             60 75                                         F                        T      FTFFT  5  0  0     21                                                                                                                                 9 1                              2                                                                                                9 3                  16          3                                                                     F  TFFF       0            9 4                             17                                                                                                9 5                              1                                                                                                9 7                              1                                                                                                8 0                  17  23  32  1 10                                           C                    FFF 0                   0 0  8 0                  19   0  65  1 10                                           D                    FFF 0                   0 0  5 0                  20   4   1  1  5                                                                F                            8 0                  21  10   1  1 10                                           C                    TFF 0                   0 0  5 0                  22   4  36  1  4                                                                F                            8 0                  23  10  36  1 10                                           C                    TFF 0                   0 0  5 0                  30   4  48  1  6                                                                F                            8 0                  31  10  48  1  6                                           C                    TFF 0                   0 0  5 0                  37   4  13  1 11                                                                F                            8 0                  38  10  13  1 20                                           C                    TFF 0                   0 0  5 0                  39   4  56  1 13                                                                F                            8 0                  40  10  56  1 18                                           M                    TTF 0                   0 0  8 0                  45  16  13  1 10                                           C                    TFF 0                   0 0  8 0                  47  16  25  1 10                                           C                    TFF 0                   0 0  8 0                  49  18  13  1  4                                           C                    TFF 0                   0 0  8 0                  52  18  25  1 43                                           C                    TTF 0                   0 0  8 0                  55  17  13  1 11                                           C                    TFF 0                   0 0  8 0                  57  17  25  1 43                                           C                    TTF 0                   0 0  8 0                  62   2   0  1 75                                           C                    FFF 0                   0 0  8 0                  68   5   0  1 75                                           C                    FFF 3                   0 0  8 0                  69  16  48  1 20                                           C                    TFF 0                   0 0  8 0                  72  16  39  1  8                                           C                    TFF 0                   0 0  8 0                  74  16   8  1  4                                           C                    TFF 0                   0 0  8 0                  76   8   1  1 73                                           C                    TTF 0                   0 0  8 0                  81  11   1  1 28                                           C                    TFF 0                   0 0  8 0                  84   6   1  1  6                                           C                    TFF 0                   0 0  8 0                  87   7   1  1 10                                           C                    TFF 0                   0 0  8 0                  90  14  13  1 57                                           C                    TTF 0                   0 0  8 0                  94  12  13  1  6                                           C                    TFF 0                   0 0  8 0                  98  13  13  1 10                                           C                    TFF 0                   0 0  8 0                 102  21  13  1 55                                           C                    TTF 0                   0 0  8 0                 106  19  13  1  6                                           C                    TFF 0                   0 0  8 0                 109  20  13  1 10                                           C                    TFF 0                   0 0  8 0                 112   9   1  1 73                                           C                    TFF 0                   0 0  5 0                 116   0   0  1 16                                                                F                            8 0                 117   3   0  1 75                                           C                    FFF 0                   0 0 18         120       121                                            T                    122                                  1 3
  3639. structur.dbf_name
  3640. "Page " + ALLTRIM(STR(_PAGENO))
  3641. DATE()
  3642. "Field"
  3643. structur.field_name
  3644. "Type"
  3645. IIF(structur.field_type = "C", "Character", IIF(structur.field_type = "N", "Numeric", IIF(structur.field_type = "D", "Date", IIF(structur.field_type = "L", "Logical", IIF(structur.field_type = "M", "Memo", "")))))
  3646. "Length"
  3647. IIF(EMPTY(structur.field_name), "", IIF(structur.field_type = "N", ALLTRIM(STR(structur.field_len, 3) + PADL(STR(structur.field_dec, 2), 2, "0")), ALLTRIM(STR(structur.field_len))))
  3648. "Description"
  3649. structur.field_call
  3650. "Default value"
  3651. IIF(EMPTY(structur.field_name), "", IIF(structur.field_type = "R", "", IIF(EMPTY(structur.defaultval), "   <none>", structur.defaultval)))
  3652. )IIF(structur.tag_field, "Index tag:", "")
  3653. 4IIF(structur.tag_field, TRIM(structur.tag_name), "")
  3654. CIIF(structur.tag_field AND NOT EMPTY(structur.tag_for), "FOR:", "")
  3655. SIIF(structur.tag_field AND NOT EMPTY(structur.tag_for), TRIM(structur.tag_for), "")
  3656. *IIF(structur.tag_field, "Expression:", "")
  3657. IIF(structur.tag_field, TRIM(structur.tag_expr) + IIF(structur.tag_unique, " UNIQUE", "") + IIF(structur.asc_or_dsc = "D", " DESCENDING", ""), "")
  3658. PADC(" " + TRIM(structur.dbf_name) + IIF(m.curr_field > 1, " continued from page " + ALLTRIM(STR(_PAGENO - 1)) + ". . . ", "   (" + TRIM(structur.dbf_call) + ") "), 75, "
  3659. REPLICATE("
  3660. ", 75)
  3661. UIIF(structur.tag_field AND NOT EMPTY(structur.tag_call), TRIM(structur.tag_call), "")
  3662. 'IIF(structur.tag_field, "Display:", "")
  3663. #IIF(structur.tag_field, "TAG:", "")
  3664. IIF(m.with_dscma AND m.curr_field = 1 AND NOT EMPTY(structur.dschema_id) AND SEEK(structur.dschema_id, "schemas"), schemas.schema, "")
  3665. CIIF(EMPTY(structur.object_id), "", "Object: " + objects.objectname)
  3666. WIIF(m.with_dscma AND m.curr_field = 1 AND NOT EMPTY(structur.dschema_id), "Schema", "")
  3667. WIIF(m.with_dscma AND m.curr_field = 1 AND NOT EMPTY(structur.dschema_id), "
  3668. ", "")
  3669. qIIF(m.with_fscma AND NOT EMPTY(structur.fschema_id) AND SEEK(structur.fschema_id, "schemas"), schemas.schema, "")
  3670. kIIF(m.with_fscma AND NOT EMPTY(structur.fschema_id) AND SEEK(structur.fschema_id, "schemas"), "Schema", "")
  3671. kIIF(m.with_fscma AND NOT EMPTY(structur.fschema_id) AND SEEK(structur.fschema_id, "schemas"), "
  3672. ", "")
  3673. qIIF(m.with_tscma AND NOT EMPTY(structur.tschema_id) AND SEEK(structur.fschema_id, "schemas"), schemas.schema, "")
  3674. BIIF(m.with_tscma AND NOT EMPTY(structur.tschema_id), "Schema", "")
  3675. BIIF(m.with_tscma AND NOT EMPTY(structur.tschema_id), "
  3676. ", "")
  3677. aIIF(m.with_dscma AND m.curr_field = 1 AND NOT EMPTY(structur.dschema_id), REPLICATE("
  3678. ", 75), "")
  3679. "Data Definitions"
  3680. LPADC(IIF(m.curr_field > 1, "", "Programs: " + TRIM(structur.prog_name)), 75)
  3681. CURR_FIELD
  3682. field_name
  3683. demomsg
  3684. pleasant
  3685. ProBuilder 2.0 Demo Copy Guidelines
  3686. DEMOMSG
  3687. CAN_EDIT
  3688. BEEPER
  3689. MEMOEDIT
  3690. INTRO
  3691. INTRO
  3692.                           ProBuilder 2.0
  3693.                           Evaluation Copy
  3694.                         Third Wave Software
  3695. Just a reminder!  If you're finding that ProBuilder 
  3696.     increases your productivity
  3697.     is changing the way you design
  3698.     actually makes maintaining your data structures fun
  3699.     easily integrates into your existing applications
  3700. then you owe it to yourself to register!  Having the source code to utilities like the File Picker and PathFinder can save hours of programming, and those are just two of the serious, efficient dialogs you'd have access to.  When you combine all that code with the increased efficiency of letting ProBuilder manager your structures, how can you afford *not* to register?
  3701. To register your copy of ProBuilder, simply run the REGISTER.APP program accompanying PROBUILD.APP, and send the printout or file to us here at Third Wave Software along with a check or money order for $79.95.  
  3702.                           Scott D. Grabo
  3703.                                c/o
  3704.                         Third Wave Software
  3705.                         4529 Logsdon Drive
  3706.                        Annandale  VA  22003
  3707.                            (703) 354-6283
  3708.                            CIS 73730,3201
  3709. SCREENS\ABOUT.SPR
  3710. C:\DATABASE\PROJECTS\PROBUILD\
  3711. ..\..\TOOLS\PROGRAMS\BEEPER.PRG
  3712. PROGRAMS\BUILD_BB.PRG
  3713. ..\..\TOOLS\PROGRAMS\CHECKREL.PRG
  3714. PROGRAMS\CLONER.PRG
  3715. ..\DICTNARY\PROGRAMS\DEL_DBF.PRG
  3716. C:\DATABASE\PROJECTS\DICTNARY\
  3717. MENUS\DICTNARY.MPR
  3718. SCREENS\DICTNARY.SPR
  3719. ..\DICTNARY\PROGRAMS\DUP_CHCK.PRG
  3720. ..\DICTNARY\PROGRAMS\EDITSCMA.PRG
  3721. ..\..\TOOLS\PROGRAMS\FILENAME.PRG
  3722. ..\DICTNARY\PROGRAMS\FILE_BLD.PRG
  3723. PROGRAMS\FINDFILE.PRG
  3724. ..\..\TOOLS\PROGRAMS\GET_HELP.PRG
  3725. ..\..\TOOLS\SCREENS\GET_PATH.PRG
  3726. SCREENS\GET_PROG.SPR
  3727. PROGRAMS\GET_REL.PRG
  3728. MENUS\GET_STRU.MPR
  3729. SCREENS\GET_STRU.PRG
  3730. ..\..\TOOLS\PROGRAMS\GET_TIME.PRG
  3731. ..\DICTNARY\PROGRAMS\GET_TYPE.PRG
  3732. PROGRAMS\IMPORTER.PRG
  3733. PROGRAMS\MAIN_VAL.PRG
  3734. ..\..\TOOLS\PROGRAMS\MAKENAME.PRG
  3735. ..\DICTNARY\PROGRAMS\MAKESTRU.PRG
  3736. ..\..\TOOLS\PROGRAMS\MAKE_CDX.PRG
  3737. ..\..\TOOLS\PROGRAMS\MAKE_DBF.PRG
  3738. ..\..\TOOLS\PROGRAMS\MEMOEDIT.PRG
  3739. ..\..\TOOLS\PROGRAMS\NAME_CHK.PRG
  3740. PROGRAMS\NEW_ID.PRG
  3741. ..\..\TOOLS\PROGRAMS\NEW_REC.PRG
  3742. PROGRAMS\NEW_SET.PRG
  3743. SCREENS\NOT_MADE.SPR
  3744. SCREENS\OBJECTS.PRG
  3745. SCREENS\OBJECTS.PRG
  3746. ..\DICTNARY\PROGRAMS\OBJ_PROC.PRG
  3747. ..\..\TOOLS\SCREENS\OKAY.PRG
  3748. ..\..\TOOLS\SCREENS\OKAY.PRG
  3749. ..\..\TOOLS\PROGRAMS\OPEN_DBF.PRG
  3750. C:\DATABASE\PROJECTS\PROBUILD\DATA\
  3751. ..\..\TOOLS\SCREENS\PICKERV.PRG
  3752. ..\..\TOOLS\PROGRAMS\PICKLVAL.PRG
  3753. ..\DICTNARY\PROGRAMS\REL_PROC.PRG
  3754. SCREENS\REPORTS.SPR
  3755. ..\DICTNARY\PROGRAMS\SAVE_SET.PRG
  3756. SCREENS\SET_REL.SPR
  3757. ..\DICTNARY\PROGRAMS\SET_SET.PRG
  3758. ..\DICTNARY\PROGRAMS\STRUCHCK.PRG
  3759. PROGRAMS\STRUPROC.PRG
  3760. SCREENS\TIMESTMP.SPR
  3761. ..\..\TOOLS\SCREENS\YESNO.PRG
  3762. ..\..\TOOLS\SCREENS\YESNO1.PRG
  3763. C:\DATABASE\PROJECTS\PROBUILD\REPORTS\
  3764. PROGRAMS\DEMO.PRG
  3765. ABOUT.SPX
  3766. BEEPER.FXP
  3767. BUILD_BB.FXP
  3768. CHECKREL.FXP
  3769. CLONER.FXP
  3770. DEL_DBF.FXP
  3771. DICTNARY.MPX
  3772. DICTNARY.SPX
  3773. DUP_CHCK.FXP
  3774. EDITSCMA.FXP
  3775. FILENAME.FXP
  3776. FILE_BLD.FXP
  3777. FINDFILE.FXP
  3778. GET_HELP.FXP
  3779. GET_PATH.FXP
  3780. GET_PROG.SPX
  3781. GET_REL.FXP
  3782. GET_STRU.MPX
  3783. GET_STRU.FXP
  3784. GET_TIME.FXP
  3785. GET_TYPE.FXP
  3786. IMPORTER.FXP
  3787. MAIN_VAL.FXP
  3788. MAKENAME.FXP
  3789. MAKESTRU.FXP
  3790. MAKE_CDX.FXP
  3791. MAKE_DBF.FXP
  3792. MEMOEDIT.FXP
  3793. NAME_CHK.FXP
  3794. NEW_ID.FXP
  3795. NEW_REC.FXP
  3796. NEW_SET.FXP
  3797. NOT_MADE.SPX
  3798. OBJECTS.FXP
  3799. OBJECTS.FXP
  3800. OBJ_PROC.FXP
  3801. OKAY.FXP
  3802. OKAY.FXP
  3803. OPEN_DBF.FXP
  3804. PB_HELP.DBF
  3805. PB_HELP.FPT
  3806. PB_HELP.CDX
  3807. PICKERV.FXP
  3808. PICKLVAL.FXP
  3809. REL_PROC.FXP
  3810. REPORTS.SPX
  3811. SAVE_SET.FXP
  3812. SET_REL.SPX
  3813. SET_SET.FXP
  3814. STRUCHCK.FXP
  3815. STRUPROC.FXP
  3816. TIMESTMP.SPX
  3817. YESNO.FXP
  3818. YESNO1.FXP
  3819. PB_DEFIN.FRX
  3820. PB_DEFIN.FRT
  3821. DEMO.FXP
  3822. DEMOMSG.MEM
  3823.