home *** CD-ROM | disk | FTP | other *** search
- VXFORM1
- 4vxBase Sample Application: Aircraft Brokerage System
- Form1%
- Picture1
- DDDK0
- DKDK0
- DKDK0
- Label1
- vxBase Sample Application
- MS SerifgffA1
- FileMenu
- &File
- OpenTypes
- &Types
- OpenCust
- &Customers
- OpenAircraft
- &Aircraft
- BuyBrowse
- &Buyers
- SepBar
- ExitCode
- LinkMenu
- &Link
- LinkBuyToSell
- &Buyer to Sellers
- LinkSellToBuy
- &Seller to Buyers
- PicMenu
- Show &Pictures
- MaintMenu
- &Maintenance
- PackFiles
- &Pack
- TestMenu
- &Test
- TestCreate
- &Create
- TestCopy
- Copy &Structure
- TestDataCopy
- Copy &Data
- FileStruc
- &File Structure
- RecStruc
- &Record Structure
- UMenu
- &User Browse Menus
- TextForm
- &Text Formatting
- RelStart
- &Alias && Relations
- PrintItem
- &Printer Stuff
- 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^
- StartRecL
- EndRecQ
- vxDeleteRanges
- vxUnlock
- NtxName
- vxNtxName
- FileStruc_Click
- VXFORM7+
- Form_Paint
- vxFormFrame7
- Form_Click
- OpenAircraft
- RecStruc_Click
- VXFORM8
- UMenu_Click
- vxMenuDeclare:
- vxMenuItem
- VX_MENUHEAD
- VX_RETURN
- VX_SEPBAR
- vxBrowsePos
- TypeReturn
- UMenus
- vxCtlGraySet
- LinkMenu_Click
- TestMenu_Clickc
- TextForm_Click
- VXFORM9
- vxZap
- RelStart_Click
- VYFORM0
- BuyBrowse_Click%
- vxTopG
- vxSetAlias0
- ErrCode
- vxSetRelation
- VYForm0DisplayR
- BuyerRec
- CustKey
- BROWSE_ERROR
- VXFORM3
- BROWSE_CLOSED
- vxTableReset
- vxSeek
- CustReturn
- BROWSE_EDIT
- VXFORM4
- vxTabbeField
- vxTableFieldExt
- vxRecNum
- vxRecNo
- TrueOrFalseA
- vxSetMeters
- Form_Resize
- PrintItem_ClickU
- VYFORM1
- PicMenu_Click
- VYFORM2
- vxEof
- vxSkip
- BuyBrowse_Click
- example of using vxSetRelationt
- and vxTableFieldExt to produced
- a browse table with fields from
- multiple databases included on each row
- open child files first-
- \vb\vxbtest\aircust.dbf
- \vb\vxbtest\aircust1.ntx
- put something in record buffer-
- \vb\vxbtest\airtypes.dbf
- \vb\vxbtest\airtypes.ntx
- open parent file (has many records)
- \vb\vxbtest\airbuyer.dbf
- \vb\vxbtest\airbuy1.ntx
- define alias names so we can use field
- qualifiers when extracting data
- buyer
- customer
- define relationship to current selection
- the 1st param defines the file we setting
- up the relationship to (the child file)
- and the second param tells vxbase how to
- construct a key to be used on the current
- index in use on the child filet
- b_code
- 1st relation failed
- b_cat
- 2nd relation failed
- now when we issue vxTop(), the two related
- file pointers will move to match the values
- in the parent file key fields
- define the browse table with the extended
- vxTableFieldExt functionw
- b_code
- a_name
- b_cat
- Description
- catname
- b_low
- b_high
- Execute the browse routine
- Buyer Records
- ExitCode_Click
- The master form VXFORM1 is unloaded.-
- The Form_Unload procedure does thed
- final cleanup.d
- FileStruc_Click
- disable items that would be affected by
- closing of aircust file
- 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.
- Form_Paint
- Form_Resize
- 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
- reset system disabled color
- 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-
- OpenAircraft_Click
- both routines in 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
- OpenTypes_Click
- in VXBMOD.BAS
- start browse tableS
- in module file VXBMOD.BAS
- PackFiles_Click
- removes logically deleted records
- and reindexes
- test pack with bitmaps
- j% = vxUseDbf("\vb\vxbtest\airpics.dbf")
- j% = vxPack(VXFORM1.hWnd)
- j% = vxClose()F
- set meter bar off for this file
- \vb\vxbtest\airtypes.dbf
- airtypes in use!
- \vb\vxbtest\airtypes.dbf
- \vb\vxbtest\airtypes.ntx
- set meter bars back on for the rest
- \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
- PicMenu_Click
- PrintItem_Click
- RecStruc_Click
- \vb\vxbtest\airtypes.dbf
- Error Opening airtypes.dbf. Aborting.
- \vb\vxbtest\airtypes.ntx
- Error Opening airtypes.ntx. Aborting.
- RelStart_Click
- 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
- Zap successful
- Zap Failed
- \vb\vxbtest\testcopy.dbf
- \vb\vxbtest\testcopy.ntx
- 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
- 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
- TextForm_Click
- 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
-