home *** CD-ROM | disk | FTP | other *** search
- VXFORM1
- 4vxBase Sample Application: Aircraft Brokerage System
- Form1
- Picture1
- DDDK0
- DKDK0
- DKDK0
- Label1
- vxBase Sample Application
- Tms Rmn
- FileMenu
- &File
- OpenTypes
- &Types
- OpenCust
- &Customers
- OpenAircraft
- &Aircraft
- SepBar
- ExitCode
- LinkMenu
- &Link
- LinkBuyToSell
- &Buyer to Sellers
- LinkSellToBuy
- &Seller to Buyers
- MaintMenu
- &Maintenance
- PackFiles
- &Pack
- TestMenu
- &Test
- TestCreate
- &Create
- TestCopy
- Copy &Structure
- TestDataCopy
- Copy &Data
- FileStruc
- &File Structure
- RecStruc
- &Record Structure
- UMenu
- &User Browse Menus
- ExitCode_Click
- VXFORM1
- Form_Unload
- Cancel
- CanClose
- Form2Activew
- FALSE
- Form3Active
- Form4Active
- Form5Active
- Form6Active
- Form7ActiveL
- AircraftDbfo
- vxUseDbf=
- Aircraf1Ntx~
- vxUseNtx[
- Aircraf2Ntx
- AirbuyerDbfi
- Airbuy1Ntx
- Airbuy2Ntx
- vxCloseAll
- vxCtlGrayReset#
- vxDeallocate
- OpenTypes_Click
- TypesOpenb
- BrowseTypes
- OpenCust_Click
- AircustDbf
- Aircust1Ntx
- Aircust2Ntx
- Aircust3Ntx5
- vxTableDeclare
- VX_BLUEP
- vxTableFieldj
- VX_FIELD&
- StatesOpen
- vxSelectDbfS
- vxSelectNtx
- BrowseCust
- OpenAircraft_Click
- AircraftOpenH
- BrowseAirx
- LinkBuyToSell_Click7
- VX_EXPR
- vxClose
- VX_RED
- vxJoinU
- OpenCust
- Enabled
- LinkBuyToSell
- LinkSellToBuy
- PackFiles=
- vxBrowse
- hWndq
- BuyerReturn
- LinkSellToBuy_Click
- AircraftReturnr
- TestCreate_Click
- TypeFile
- FileStruc
- NumFieldsF
- NewRet
- OpenTypes
- TestCreate
- TestCopy.
- TestDataCopy
- Fld01
- Fld02
- vxCreateDbf)
- TypeDbf
- TypeNtx
- vxCreateNtx
- vxAppendFrom
- PackFiles_Click
- vxAreaDbfa
- AirtypesDbf
- AirtypesNtx:
- vxPack
- TestCopy_Click
- NtxExpr
- vxNtxExprH
- vxCopyStrucQ
- TestDataCopy_Click
- vxCopy^
- StartRec
- EndRecQ
- vxDeleteRange
- vxUnlock
- NtxName
- vxNtxName
- FileStruc_Click
- VXFORM7+
- Form_Paint
- vxFormFrame
- Form_Click
- OpenAircraft
- RecStruc_Click
- VXFORM8
- UMenu_Click
- vxMenuDeclare:
- vxMenuItem
- VX_MENUHEAD
- VX_RETURN
- VX_SEPBAR
- vxBrowsePos
- TypeReturn
- UMenu
- vxCtlGraySet
- LinkMenu_Click
- ExitCode_Click
- The master form VXFORM1 is unloaded.-
- The Form_Unload procedure does thed
- final cleanup.d
- Form_Unload
- This routine is activated from either the
- Exit menu item on VXFORM1 or by selecting
- the Close item from the system menu.c
- We MUST test the vxCloseAll result in
- case there are any active browse windowsg
- that require closure before we cani
- terminate the application
- If the close operation is successful, any
- open databases FOR THIS TASK are closed
- (which updates the database header information)
- and all attached memory objects (Tables and Joins)-
- are released.
- if any of our other forms are active, we-
- cannot close this form and exit the app
- Sub forms must be closed first
- redraw top level form
- NOTE: we cannot use the FORM.Visible property to-
- check if any forms are active because as soon as-
- we reference a form, it gets loaded - and our app
- will stall with No Database messages because as soon
- as the form is loaded, the database attached to that
- form is referencedd
- test vxcloseall with some files open-
- \vb\vxbtest\aircraft.dbf
- \vb\vxbtest\aircraf1.ntx
- \vb\vxbtest\aircraf2.ntx
- \vb\vxbtest\airbuyer.dbf
- \vb\vxbtest\airbuy1.ntx"
- \vb\vxbtest\airbuy2.ntx"
- redraw top level form
- if this is master vxbase task and other
- vxbase tasks are active then we can't exite
- Exit Sub
- reset system disabled color
- OpenTypes_Click
- in VXBMOD.BAS
- start browse tableS
- in module file VXBMOD.BAS
- OpenCust_Click
- open brokerage customers file
- \vb\vxbtest\aircust.dbf"
- Error Opening aircust.dbf. Aborting.
- \vb\vxbtest\aircust1.ntx
- \vb\vxbtest\aircust2.ntx
- \vb\vxbtest\aircust3.ntx
- Declare Customer Tablen
- a_code
- a_name
- a_city
- State"
- a_state"
- Res Phone"
- a_phoneres
- Bus Phone"
- a_phonebus
- open state abbreviations file
- in VXBMOD.BAS
- start browse tableS
- in module VXMOD.BAS
- OpenAircraft_Click
- both routines in VXBMOD.BAS
- LinkBuyToSell_Click
- Demonstration of setting up visual relationships-
- with the vxJoin command. What we have is a file of buyers
- categorized by type of aircraft they are interested in.
- What we are going to do is display a browse table ofi
- these buyer records and link any buyer record toe
- another browse table of aircraft that match the the
- buyer aircraft type field.r
- Conversely, the LinkSellToBuy proc does the opposite. It
- links the aircraft with all prospective buyers.
- open file that will control the join-
- \vb\vxbtest\airbuyer.dbf
- \vb\vxbtest\airbuy2.ntx"
- this index is on aircraft type
- define table to show data we are interested in-
- b_cat"
- Description"
- left(b_desc,20)"
- b_low"
- b_high
- Customer
- b_code
- now open secondary file and define its table
- \vb\vxbtest\aircraft.dbf
- Error Opening aircraft.dbf. Aborting."
- \vb\vxbtest\aircraf2.ntx
- on type
- c_cat"
- c_code
- Price"
- c_price"
- c_year
- c_ttsn
- reselect the master file and set up the join
- b_cat"
- Possible Sales#
- this joins the Aircraft file using the index selected for
- it to the buyer file. The "b_cat" param is the field we
- will use as a key into the aircraft file and the VX_FIELD
- item tells vxBase that it is a field and not an expression.
- The last item in the call is a title for the join window.
- disable menu items that might affect our display-
- now set up and execute the browse. The JOIN menu item is-
- automatically enabled.
- Buyer Details"
- when we return from the browse we can ignore anything
- vxBase sent back to us in the BuyerReturn param
- we could get fancy and get the customer record if the
- use hit enter and then display or edit it. Do
- whatever you like.t
- re-enable menu items-
- LinkSellToBuy_Click
- Browse the aircraft for sale file and join to
- potential buyers. See a more detailed explanantion of
- visual relationships in the LinkBuyToSell Proct
- open file that will control the join-
- \vb\vxbtest\aircraft.dbf
- Error Opening aircraft.dbf. Aborting."
- \vb\vxbtest\aircraf2.ntx
- on type
- define table to show data we are interested iny
- c_cat"
- Description"
- left(c_desc,20)"
- c_code
- Price"
- c_price"
- c_year
- c_ttsn
- now open secondary file and define its table
- \vb\vxbtest\airbuyer.dbf
- Error Opening airbuyer.dbf. Aborting."
- \vb\vxbtest\airbuy2.ntx"
- b_cat"
- b_low"
- b_high
- Customer
- b_code
- reselect the master file and set up the join
- c_cat"
- Possible Buyers"#
- this joins the buyer file using the index selected for
- it to the aircraft file. The "c_cat" param is the field we
- will use as a key into the buyer file and the VX_FIELDd
- item tells vxBase that it is a field and not an expression.
- The last item in the call is a title for the join window.
- disable menu items-
- now set up and execute the browse. The JOIN menu item is-
- automatically enabled.
- Aircraft Record Display"
- when we return from the browse we can ignore anything
- vxBase sent back to us in the BuyerReturn param
- re-enable menu items-
- TestCreate_Click
- 1234567890123456 (ruler to help alignment)
- CATEGORY C 3 0
- CATNAME C 15 0
- our field length for the second field is shorter-
- than the original file so when we appendfrom below
- this field should be truncated and will show as
- such in the browseb
- \vb\vxbtest\typefile.dbf
- Error in database creation
- \vb\vxbtest\typefile.dbf
- index create opens and selects new index and
- returns the index select area. Zero (FALSE)
- is returned if there was an error
- \vb\vxbtest\typefile.ntx
- category
- Error in index create"
- \vb\vxbtest\airtypes.dbf
- Error in append from
- New File
- \vb\vxbtest\typefile.dbf
- \vb\vxbtest\typefile.ntx
- PackFiles_Click
- removes logically deleted records
- and reindexes
- \vb\vxbtest\airtypes.dbf
- airtypes in use!
- \vb\vxbtest\airtypes.dbf
- \vb\vxbtest\airtypes.ntx
- \vb\vxbtest\aircust.dbf"
- aircust in use!"
- \vb\vxbtest\aircust.dbf"
- \vb\vxbtest\aircust1.ntx
- \vb\vxbtest\aircust2.ntx
- \vb\vxbtest\aircust3.ntx
- \vb\vxbtest\airbuyer.dbf
- airbuyer in use!
- \vb\vxbtest\airbuyer.dbf
- \vb\vxbtest\airbuy1.ntx"
- \vb\vxbtest\airbuy2.ntx"
- \vb\vxbtest\aircraft.dbf
- aircraft in use!
- \vb\vxbtest\aircraft.dbf
- \vb\vxbtest\aircraf1.ntx
- \vb\vxbtest\aircraf2.ntx
- TestCopy_Click
- disable items that would be affected by
- closure of airtypes file
- \vb\vxbtest\airtypes.dbf
- \vb\vxbtest\airtypes.ntx
- \vb\vxbtest\testcopy.dbf
- Error in database copy struc
- \vb\vxbtest\testcopy.dbf
- index create opens and selects new index and-
- returns the index select area. Zero (FALSE)
- is returned if there was an error
- \vb\vxbtest\testcopy.ntx
- Error in index create"
- \vb\vxbtest\airtypes.dbf
- Error in append from
- New File
- \vb\vxbtest\testcopy.dbf
- \vb\vxbtest\testcopy.ntx
- TestDataCopy_Click
- \vb\vxbtest\airtypes.dbf
- \vb\vxbtest\airtypes.ntx
- \vb\vxbtest\testdata.dbf
- Error in database copy
- \vb\vxbtest\testdata.dbf
- Test delete range
- Error in DeleteRange
- index create opens and selects new index and
- returns the index select area. Zero (FALSE)
- is returned if there was an error
- \vb\vxbtest\testdata.ntx
- Error in index create"
- test ntx name function"
- \vb\vxbtest\testdata.dbf
- \vb\vxbtest\testdata.ntx
- FileStruc_Click
- disable items that would be affected by
- closing of aircust file
- Form_Paint
- Form_Click
- test for active forms and set
- menu items accordingly. We do this here
- as well as when we start up our forms
- because some functions allow otherr
- functions to be active and when one or
- the other is closed and menu items are
- re-enabled, then we mess up our menur
- disabling for the ones left open.
- RecStruc_Click
- \vb\vxbtest\airtypes.dbf
- Error Opening airtypes.dbf. Aborting."
- \vb\vxbtest\airtypes.ntx
- Error Opening airtypes.ntx. Aborting."
- UMenu_Click
- this proc shows how to set up user defined
- menus on a browse window and also how toe
- define the browse window initial position
- Open aircraft types file-
- \vb\vxbtest\airtypes.dbf
- Error Opening airtypes.dbf. Aborting."
- \vb\vxbtest\airtypes.ntx
- Error Opening airtypes.ntx. Aborting."
- Declare types table
- category
- Description"
- catname"
- Declare and build a user menu
- 19 items in the menu
- the menu item params are:
- (1) menu index number (from 1 to whatever was declared)
- (2) attach this item to submenu number where 0 is the
- top level browse menu and any other number must
- refer to a menu index that was defined as VX_MENUHEAD
- (3) the menu string. An ampersand in front of a character
- will make that character the mnemonic. If a VX_SEPBAR
- is being defined, pass a space " "n
- (4) the menu item type as defined in the global module
- where VX_MENUHEAD is a submenu header,h
- VX_SEPBAR is a separator bar, and
- VX_RETURN is a returnable itema
- If any item is selected from the browse that is defined
- as VX_RETURN, the RetVal parameter passed to vxBrowse
- will contain the value of the menu index number plus 100
- and negated (e.g., menu item 6 below will return -106).
- The record pointer will be positioned at the record that
- was highlighted when the return was made. If the user
- presses the ENTER key in the browse, the RetVal willr
- contain the record number that was highlighted when ENTER
- was pressed.r
- the first menu item will set up a submenu on theh
- browse table top level menu (Attach to item 0)h
- &File"
- the item above is attached to the submenu defined as item 1
- &Open"
- &Save"
- the item above creates another submenu within the File menu
- &New Name"
- the items above are under the sub menu defined as item 4)
- &Print
- E&xit"
- now we'll set up another menu on the top level browse menu
- &Edit"
- and attach items to menu number 11 below it
- &Copy"
- &Paste
- Cl&ear
- &Delete"
- The proc below will set up an initial position
- for the browse window
- the coordinates are in familiar character and linew
- units. The first param is x (characters in from left),m
- the second param is y (lines down from top), the thirdm
- param is the width of the window in characters, and the
- last param is the window height in linesa
- if the user movers or sizes the window, and subsequente
- vxBrowse calls are made with an intervening close of the
- file, the window will retain its last position and size.
- now we set up the browset
- Aircraft Types
- Note that the EDIT menu parameter should be FALSE if you
- are defining your own menus.m
- Value returned from browse was "
-