Dec 212017
 
Menu generation system for creating FoxBase menus.
File FOXMENU.ZIP from The Programmer’s Corner in
Category Dbase Source Code
Menu generation system for creating FoxBase menus.
File Name File Size Zip Size Zip Type
FBOX.FOX 693 693 stored
FX_MN_GN.FOX 2685 2685 stored
ORDERFRM.DOC 1575 484 deflated
POPBAR.FOX 2925 2925 stored
POPMENU.FOX 1185 1185 stored
PROMPT.FOX 2162 2162 stored
README.DOC 7143 2531 deflated

Download File FOXMENU.ZIP Here

Contents of the README.DOC file







Fred C. Wampler
Custom Programming Applications
Rt 3 Box 272
Church Hill TN 37642
(615)247-6674

Copyright (c) 1988 CPA
All Rights Reserved


License

This version of FX_MN_GN is being distributed as
"shareware".

Non-registered users of this software are granted a limited
license to make an evaluation copy for trial use on a
private, non-commercial basis, to determine whether FX_MN_GN
is suitable for your needs. At the end of this trial period,
you should either register your copy or quit using it [wink].
If you regularly use this program to build menus, then you
should pay for your copy. That way I'll be encouraged to
provide additional shareware products [wink].

Disclaimer

Use of this program acknowledges this disclaimer of
warranty: "This program is supplied as-is. CPA disclaims
all warranties, expressed or implied, including, without
limitation, the warranties of merchantability and of fitness
of this program for any purpose. CPA assumes no liability
for damages direct or consequential, which may result from
the use of this program."

Trademark
FoxBASE+ is a registered trademark of Fox Software

-------------------------------------------------------------------



FX_MN_GN.FOX

This is the main menu for calling each of the following programs.
FoxBASE+ ver 2.0 or higher is required to use these programs.

Usage: DO FX_MN_GN

-------------------------------------------------------------------
(1) FBOX.FOX (any version of FoxBASE+)
Utility that draws single, or double line boxes with a
centered header. Called by the other programs or from
the command line.

Example:
DO fbox with 3,50,10,75,2,[help screen]

3 = row 3 First line of box just beneath the header
50 = col 50 Upper left col just beneath the header
10 = row 10 Bottom line of box
75 = col 75 Bottom right col of box
2 = double lined 1 = singled lined 0 = clear box
[help screen] will be centered and in upper case on row 2

Top of the box will be on row 1

-------------------------------------------------------------------
(2) PROMPT.FOX (Requires ver 2.0 or higher of FoxBASE+)
Utility that generates code in a file TPROMPT.POP for a simulated
pop-up menu. The pop-up box can be made wider and longer than
necessary and PROMPT.FOX will adjust to an appropriate width and
length. FBOX.FOX is called by this program for the box handling.




Example:

DO PROMPT WITH 3,50,10,60,2,[test prompt],[pcho]

A screen is presented and asks for prompts and messages to be displayed.
The following code was generated based on screen input.

* TPROMPT.POP
* This code generated by above procedure (prompt.fox)
* Substitute .t. below to restore screen.
r0E20182E = .F. &&.t. saves and restores screen
IF r0E20182E
SAVE SCREEN TO x0E201849
ENDIF
DO fbox with 3,50,7,65,2, ' TEST PROMPT'
@ 3+1,50+2 PROMPT 'Next ' MESSAGE [This displays the next screen.]
@ 3+2,50+2 PROMPT 'Previous ' MESSAGE ;
[This displays the previous screen. Notice how the line wraps.]
@ 3+3,50+2 PROMPT 'Quit ' MESSAGE [Exit module.]
pcho=0
?? SYS(2002) &&turns cursor off (ver 2.1 and higher)
MENU TO pcho
?? SYS(2002,1)
@ 24,0




DO CASE
CASE READKEY()<>15
* Escape key pressed.
CASE pcho= 1
* Next
CASE pcho= 2
* Previous
CASE pcho= 3
* Quit
ENDCASE
IF r0E20182E
RESTORE SCREEN FROM x0E201849
RELEASE x0E201849
ENDIF

-------------------------------------------------------------------
(3) POPBAR.FOX (Requires ver 2.1 or higher of FoxBASE+)
Generates code for a complete pull-down menuing system and
stores it in the file TPOPBAR.POP. Can be called by the file
FX_MN_GN for prompting or by command line. Follow on-line
instructions for entering bar items and pull-down items. The
following example took only a few seconds to generate.

Example: (command line) && Note the protection of KEY words
DO popbar with [account]

RELEASE xaccount
DIMEN xaccount(5,2)
xaccount(1,1)= 'Reports'
xaccount(1,2)= 'Reporting Module.'
xaccount(2,1)= 'Payable'
xaccount(2,2)= 'Accounts payable'
xaccount(3,1)= 'Receivable'
xaccount(3,2)= 'Accounts receivable module'
xaccount(4,1)= 'Payroll'
xaccount(4,2)= ''
xaccount(5,1)= 'Quit'
xaccount(5,2)= ''
RELEASE mreports
DIMEN mreports(11)
mreports(1)= 'report 1'
mreports(2)= 'report 2'
mreports(3)= 'spare 1'
RELEASE mpayable
DIMEN mpayable(11)
mpayable(1)= 'Payable 1'
mpayable(2)= 'Pay 2'
mpayable(3)= 'Pay 3'
RELEASE mreceivabl
DIMEN mreceivabl(11)
mreceivabl(1)= 'Rec 1'
mreceivabl(2)= 'Rec 2'
mreceivabl(3)= 'Spare rec 3'
RELEASE mpayroll
DIMEN mpayroll(11)
mpayroll(1)= 'Pay 1'
mpayroll(2)= 'Pay 2'

RELEASE mquit
DIMEN mquit(11)
mquit(1)= 'Quit'
MENU BAR xaccount, 5
MENU 1, mreports, 3
MENU 2, mpayable, 3
MENU 3, mreceivabl, 3
MENU 4, mpayroll, 2
MENU 5, mquit, 1
STORE 1 TO row,col
DO WHILE (.t.)
READ MENU BAR TO row,col SAVE
DO CASE
CASE row = 1 .AND. col = 1
* mreports, report 1
CASE row = 1 .AND. col = 2
* mreports, report 2
CASE row = 1 .AND. col = 3
* mreports, spare 1
CASE row = 2 .AND. col = 1
* mpayable, Payable 1
CASE row = 2 .AND. col = 2
* mpayable, Pay 2
CASE row = 2 .AND. col = 3
* mpayable, Pay 3
CASE row = 3 .AND. col = 1
* mreceivabl, Rec 1
CASE row = 3 .AND. col = 2
* mreceivabl, Rec 2
CASE row = 3 .AND. col = 3
* mreceivabl, Spare rec 3
CASE row = 4 .AND. col = 1
* mpayroll, Pay 1
CASE row = 4 .AND. col = 2
* mpayroll, Pay 2
CASE row = 5 .AND. col = 1
* mquit, Quit
CASE READKEY()<>15
EXIT
ENDCASE
ENDDO

-------------------------------------------------------------------
(4) POPMENU.FOX (Requires ver 2.1 or higher of FoxBASE+)
Generates code necessary for a pop-up menu and stores it
in the file tpopmenu.pop.

Example:
DO popmenu with 50,[test],[temp],[pcho]

50 = col 50 (row 3 by default)
test = pop-up header (displayed at top of menu)
temp = name of array holding prompts
pcho = memory variable for CASE evaluations

RELEASE mtemp
DIMEN mtemp(3)
mtemp(1)= 'next'
mtemp(2)= 'previous'
mtemp(3)= 'quit'
@ 3, 50 MENU mtemp,3,3 TITLE 'TEST'
pcho=0
@ 24,0 SAY SPACE(13)+'Highlight AND press Enter TO ACCEPT - OTHERWISE Esc'
READ MENU TO pcho
@ 24,0
DO CASE
CASE pcho= 1
* next
CASE pcho= 2
* previous
CASE pcho= 3
* quit
ENDCASE



 December 21, 2017  Add comments

Leave a Reply