home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Overload
/
ShartewareOverload.cdr
/
database
/
tech86.zip
/
TECH86.TXT
Wrap
Text File
|
1987-04-27
|
59KB
|
1,459 lines
*** HANDLES.ASM
Handles.ASM (December p. 26, dBASE III PLUS)
Handles.ASM is an assembly language program that you LOAD and CALL
allowing you to check the number of DOS file handles available at any
given time from within dBASE III PLUS. It assumes your FILES setting in
CONFIG.SYS is 20. If your "Too many files are open" error condition is
caused by a problem with CONFIG.SYS, this utility is not useful.
Additionally, if you have LOADed and CALLed ADDFILES.BIN from the dBASE
Programmer's Utilities to extend the total number of file handles
available under DOS 3.0 and above to over 20, you need to add five to the
result of Handles.
Files Needed: Handles.ASM or Handles.BIN
Handles.BIN is an assembled and linked version of Handles.ASM. You can
LOAD and CALL this file from within dBASE III PLUS. Handles.ASM is the
assembler code that you can study and change if you like.
*** SETPRINT.ASM
Setprint.ASM (December p. 17, dBASE III, dBASE III PLUS)
This program allows you to store up to ten sets of printer control codes
in a data table and send these codes to your printer from dBASE III, dBASE
III PLUS, or DOS. There are three files: Setprint.BIN, Setprint.ASM, and
Patchprt.PRG. Setprint.ASM is the assembly language program that stores
the printer codes in a data table and sends them to your printer. If you
want to execute this program from DOS or RUN it from dBASE, assemble it to
a .COM file format. Setprint.BIN is the same program assembled as a .BIN
file so that you can LOAD and CALL it from within dBASE III PLUS.
Patchprt.PRG is a dBASE III PLUS program that provides a way for you to
add, edit, and change codes stored in the data table without having to
reassemble and link Setprint.ASM.
Setprint (.COM or .BIN)
Setprint accepts one parameter, either a ? or a number between 0 and 9
inclusive. The number you enter (0 - 9) sends the control codes
corresponding to that table position to the printer. If you are executing
it as a .BIN file, the parameter is a character string. If you are
executing it as a .COM file from DOS or dBASE, the parameter is a literal.
For example,
LOAD Setprint
CALL Setprint WITH "3"
or
RUN Setprint 3
You can use the ? symbol as a parameter to display a list of the
codes stored in the table.
Patchprt.PRG
When using Patchprt, enter the printer control codes as literal characters
or as ASCII decimal values. ASCII decimal values must be entered as
three-digit numbers delimited with braces, such as {027} for Esc. Enter
each code from left to right without separating them with spaces or
commas. For non-printable characters, such as Esc, always use the ASCII
decimal value. For example, on an Epson printer, the code sequence for
double-strike is Esc G. You can enter this in either of the following
ways:
{027}G or {027}{071}
Each sequence is limited to 26 codes. This limitation refers to the
actual number of ASCII codes sent, not to the number of characters used to
send the control codes. For example, the letter "A" and its ASCII decimal
equivalent {065} are both considered a single code.
Files Needed: Patchprt.PRG, Setprint.ASM or Setprint.BIN
-- SetPrint.ASM
To use Setprint.ASM from within dBASE III or dBASE III PLUS, your computer
must have at least 320K of RAM. To assemble Setprint.ASM as a .COM file,
the following files must be available, either in the same subdirectory as
SetPrint.ASM or through the DOS PATH command: MASM.EXE (the IBM Micorsoft
Macro Assembler, version 2.0 or higher), LINK.EXE and EXE2BIN.EXE
(included on the DOS Supplemental Programs disk with verison 2.0 and
higher). From the DOS prompt, type:
MASM Setprint.ASM;
LINK Setprint;
EXE2BIN Setprint.EXE Setprint.COM
-- Patchprt.PRG
When using Patchprt, Setprint (.BIN or .COM) must be in the same
subdirectory. The DOS file DEBUG.COM must also be available. To execute
the program, type DO Patchprt from within dBASE III PLUS.
*** MEDIT.BAT
Medit.BAT (November p. 18, dBASE III PLUS)
This program is a DOS batch file that allows you to use MultiMate
Advantage as the dBASE III PLUS text editor. The program makes three
assumptions:
1. MultiMate Advantage is not in the dBASE III PLUS directory.
2. The conversion program, UTIL, is installed correctly and is in the same
directory as MultiMate Advantage.
3. Your computer has enough RAM (320K) to run MultiMate Advantage within
dBASE III PLUS.
Files Needed: Medit.BAT
To set up the program, copy Medit.BAT to the dBASE III PLUS directory.
Then add one or both of the following command lines to your CONFIG.DB file:
TEDIT = MEDIT
WP = MEDIT
and
MEMOWIDTH = 65
In addition, install the MultiMate conversion utility, UTIL, with the
following parameters:
Edit ASCII Defaults
To ASCII:
Use Document Summary Screen for Page One ? NO
Accept Extended Characters ? NO
Line End Sequence ? CR/LF
Page End Sequence ? No Page End
Replace Tabs with Spaces No
Remove Underlining ? Yes
From ASCII:
Remove Page One ? NO
Remove Extended Characters ? YES
Line End Sequence ? CR/LF
Remove Returns Where Possible ? YES
Lines per Page (1-150) ? 055
F9 to Edit Format Line
*** MENU.BAT
Menu.BAT (March p. 29, dBASE III PLUS)
This program allows you to set up a front-end menu system using DOS batch
files. The following three files are used: Menu.BAT, Menu.DAT, and
Choose.COM. Menu.BAT is the controlling program that calls Menu.DAT and
Choose.COM. Menu.DAT contains the menu screen and is TYPEd to the screen
by Menu.BAT. Choose.COM waits for keyboard input before returning a DOS
ERRORLEVEL back to Menu.BAT.
Files Needed: Menu.BAT, Menu.DAT, Choose.COM
To set up this program, modify Menu.DAT to reflect the menu options that
you want. In addition, modify Menu.BAT to change the messages that
display and the program paths stated.
To use the program, copy Menu.BAT, Menu.DAT, and Choose.COM to the root
directory of your hard disk. Then, either type MENU from the DOS prompt
or include MENU as the last line in your AUTOEXEC.BAT file.
*** FW.DEF
FW.DEF (December p. 7, Framework II)
This program allows you to interface the Microsoft Mouse with Framework II.
You can, for example, navigate and select options through the Framework II
pull-down menus, execute macros, and redefine the function of each mouse
button. Fw.DEF is the driver program written in the Microsoft
Mouse language, and Mouse.BAT is a batch file that installs the
mouse driver each time you execute Framework II.
Files Needed: FW.DEF, MOUSE.BAT
Before using the Microsoft Mouse with Framework II, install a text mode
driver (such as the IBM Color Text driver). The mouse does not work wll
with a graphics screen driver.
To install the Microsoft Mouse driver, follow these steps:
1. Copy the following files from the Microsoft Mouse disk to
your Framework II subdirectory: MOUSE.COM, MENU.COM, and
MAKEMENU.EXE.
2. Copy FW.DEF and Mouse.BAT to your Framework II subdirectory.
3. From the DOS prompt, execute MAKEMENU and convert FW.DEF to
FW.MNU.
*** HELP.COM
Help.COM
Files Needed: Help.COM, Help.REC
This menu-driven help facility includes information on all the files on
the TechNotes Disk. The arrow keys can be used to navigate through the
menu on-screen, and pressing the RETURN key chooses a help file to
display. The Home key takes the highlight to the first file, and the End
key takes it to the last. The PgUp and PgDn keys take the cursor to the
top and bottom of the current column.
All the help files can be printed at once from the main menu, and a single
file can be printed once its contents are displayed. In either case, the
printing is started by pressing 'P'. Printing can be halted by pressing
the F10 key.
The help facility can also be started by typing HELP FILENAME from the DOS
prompt. If the file is found, its help will be displayed. If not, the
main menu will be displayed.
Press F10 twice to return to DOS.
*** PROTEAN.FW
Protean.FW (February p. 38, Framework)
Protean 1: This routine allows you to validate a filename and to prompt
the user if the filename selected is not valid.
Protean 2: This routine ensures that an existing file is not
overwritten without verification.
Protean 3: This routine can be used to test for the boundary of a
frame (end-of-file). Any attempt to advance to a nonexistent character,
frame, spreadsheet cell, or database record sets @isabend to #TRUE.
Files Needed: Protean.FW
Protean.FW includes three separate @isabend routines. Each routine can be
incorporated in one of your programs.
*** ADD.FW2
Add.FW2 (November p. 34, Framework II)
This program automates the data-entry process by navigating the cursor
through the fields and records for you. Once you press Return in one
field, the program automatically moves the cursor to the next field or
record, (depending on which field the cursor is on at the time). Esc
terminates the program.
Files Needed: Add.FW2
Set this up as a macro with @setmacro({Alt-A},Add.Getfields). To execute
this data-entry program, create a spreadsheet with the following column
headings: Date, Check No, Payee, Amount. Then, move the cursor to the
first column of a blank record, press Alt-A, and follow the screen prompts
to enter records. Press Esc to exit the program.
*** ADDLIB.FW2
Addlib.FW2 (Framework II)
Addition to the Framework II Library.
To setup this addition to your Framework II Library, load ADDLIB.FW2 on
the desktop, and COPY it into the Library frame. Make sure that the Alt
keys defined are not already used in the Library frame.
--Bold (Alt-A)
Label Style: Bold
Highlight a frame label and press Alt-A to style it in bold text. This
macro can be used with the Ctrl-<n> repeat key.
-- Box (Alt-B)
Box-drawing macro.
Press Alt-B from inside a word frame. The word frame must be alligned left
in order to use this macro. You'll be prompted for the width and height
of the box to be drawn. Be sure to create the box before entering the
text. Otherwise, the box will overwrite any text in its path. If the width
chosen is greater than the right margin, the right side of the box is not
drawn.
-- @LString
Extracts the left portion of a character string.
@LString( ref , chr , logical )
ref is the character string.
chr is the specified character.
logical, when #TRUE, retains chr in the extracted substring and
omits it when #FALSE.
See also, Alt-L.
-- @MString
Extracts the middle portion of a character string.
@MString( Ref , chr1 , chr2 , logical1 , logical2 )
ref is the full-length character string.
chr1 is the character where the extraction begins.
chr2 is the character where the extractions ends.
logical1 and logical2 are parameters that determine whether chr1
and chr2 are retained (#TRUE) or ignored (#FALSE) in the extracted
string.
If "312/555-1212" resides in a Framework II database field named
Phone, the line
@MString( Phone , "/" , "-" , #TRUE , #FALSE )
extracts "/555" (retains chr1, ignores chr2) and the line
@MString( Phone , "/" , "-" , #FALSE , #TRUE )
extracts "555-" (ignores chr1, retains chr2).
See also, Alt-M.
-- Normal (Alt-F)
Label Style: Normal.
Highlight a frame label and press Alt-? to style it in normal text. This
macro can be used with the Ctrl-<n> repeat key.
-- @RString
Extracts the right portion of a character string.
@RString( ref , chr , logical )
ref is the character string.
chr is the specified character.
logical, when #TRUE, retains chr in the extracted substring and
omits it when #FALSE.
See also, Alt-R.
-- Italic (Alt-I)
Label Style: Italic.
Highlight a frame label and press Alt-? to style it in italic text. This
macro can be used with the Ctrl-<n> repeat key.
-- Autotype.FW2 (Alt-K)
Automates the typing of keynames when using @performkeys.
When programming, press Alt-K to enter a keyname. When prompted, press the
key to be named and then Ctrl-Break. The macro will type the keyname for
you.
--Alt-L
Extracts left portion of a character string in a word frame.
Highlight the character string and press Alt-L. You'll be prompted to
specify the rightmost character (that is, where the macro should end in
selecting characters for the new string) for use in the substring and
whether you want this character included in the new string. The old string
will be deleted and the new string will replace it.
See also, @LString.
-- Alt-M
Macro to extract middle portion of a character string in a word frame.
Highlight the character string and press Alt-M. You'll be prompted for the
rightmost character (seg2) and the leftmost character (seg1). The
resulting character string will be the characters between seg1 and seg2.
You'll also be prompted on whether you wish to retain the characters
selected as seg1 and seg2.
See also, @MString.
-- Alt-N
Converts a text number into a numeric value.
Highlight the offending text number and press Alt-N.
-- Alt-R
Extracts right portion of a character string in a word frame.
Highlight the character string and press Alt-R. You'll be prompted for the
leftmost character (that is, where the macro should start in selecting
characters for the new string) for use in the substring and whether you
want this character included in the new string. The old string will be
deleted and the new string will replace it.
See also, @RString.
-- Alt-T
Converts numeric value to text.
Highlight the offending numeric data and press Alt-T.
See also, Alt-N.
-- Underline (Alt-U)
Label Style: Underline.
Highlight a frame label and press Alt-U to style it in underlined text.
This macro can be used with the Ctrl-<n> repeat key.
-- Alt-W
Macro to widen a c h a r a c t e r s t r i n g.
Highlight the character string and press Alt-W. The old string will be
deleted and the new w i d e string will replace it.
-- Trace.FW2 (Alt-Y)
Automates the selection of @trace.
Press Alt-Y from the desktop. From the menu, select ON or OFF. If you
select ON, a frame called "trace" is created, which will hold the results
of the trace operation, and trace is turned on. If such a trace frame
already exists, the trace operation will use it. Press Alt-S again to
select OFF.
*** BACKUP.FW2
Backup.FW2 (Alt-V) (September p. 40, Framework II)
Macro to back up a frame as a text file or frame file.
Highlight the frame to be backed up. Press Alt-V and you'll be prompted
for the new file type (T for text file, F for frame file) and the file
extension. When the back-up file is written, you'll be returned to your
work.
*** CALCSIZE.FW2
Calcsize.FW2 (Alt-O) (July p. 47, Framework II)
Macro to calculate the width of a spreadsheet for printing.
Load the spreadsheet frame to be sized to the desktop. Press Alt-O and
supply beginning and ending columns at the prompts. The width will be
displayed at the bottom of the screen.
*** COPYPROG.FW2
Copyprog.FW2 (Alt-C) (August p. 53,Framework II)
Macro to copy highlighted frames to floppy disk from hard disk.
Press Alt-C from anywhere on the desktop. You'll be prompted to highlight
the frames to be copied. You can highlight a whole subdirectory. Press
Return and the highlighted files will be copied to drive A:.
*** ELAPSED.FW2
Elapsed.FW2 (@Elapsed_Time) (July p. 46, Framework II)
Determines the elapsed time between start/end dates.
@Elapsed_Time( starttime , endtime )
starttime and endtime must be date-type values created with @datetime, and
can be located in a spreadsheet cell or a database record.
The returned value is a character string consisting of the elapsed hours,
minutes, seconds, milliseconds in the format HH:MM:SS.mm
*** ENGLDATE.FW2
Engldate.FW2 (@Engldate) (August p. 52, Framework II)
Compares English dates.
@Engldate( ref )
where ref is the English-type date field (created with @date1 or @date4).
*** ENGSCI.FW2
Engsci.FW2 (@Engsci) (October p. 39, Framework II)
Formats in scientific notation with a mantissa less than one.
@Engsci( <numeric expression>, <decimal places>)
Because Engsci (like @scientific) returns a character-type data, use
@value to convert the formatted string to a numeric value.
*** FILLCHAR.FW2
Fillchar.FW2 (@Fillchar) (December p. 31, Framework II)
Program to fill a region with a range of ASCII characters.
To call Fillchar, use the following general syntax:
@Fillchar(asc_code, inc, region)
The parameter asc_code is the ASCII decimal code that you want to start
with, inc (increment) is numeric, and region is standard region reference.
For example,
@Fillchar(65, 1, Test.Cabinet)
^------- ASCII code for letter A
See also, Filldate.
*** FILLDATE.FW2
Filldate.FW2 (@Filldate) (December p. 29, Framework II)
Program to fill a region with a range of dates.
To call Filldate, use the following general syntax:
@Filldate(month, day, year, inc, region)
Pass the parameters month, day, year, and inc (increment) as numerics.
Pass the region parameter as a standard region reference. For example,
@Filldate(12, 1, 1986, 1, Test.A1:Test.A31)
See also, @Fillchar.
*** FW_2_DIF.FW2
Fw_2_dif.FW2 (September p. 16, Framework II)
This program converts a Framework II spreadsheet into a DIF file format.
It is to be included as an Add-in to the Disk:Export submenu.
Files Needed: Fw_2_dif.FW2
Through the Framework II Setup program, add this routine to the
Dis:Export:Add-in submenu. For instructions on how to do this, refer to
"Add-ins for Converting Other Formats," on page 10-19 of the Using
Framework II manual. Once the program is included as an Export Add-in,
highlight the spreadsheet frame to export, and execute the program from
the Disk:Export submenu. The resultant file will have a .DIF extension.
*** GO_RECNO.FW2
Go_recno.FW2 (Alt-G) (October p. 40, Framework II)
Simulates a "GOTO Record Number" command.
From inside a database frame, press Alt-G. You'll be prompted for the
record number/row number. The macro will calculate the shortest route to
the specified row and will move the cursor to that position.
*** HEX.FW2
Hex.FW2 (@Hex) (April p. 37, Framework II)
Calculates the hexadecimal value of a decimal number.
@Hex( n ) where n is a decimal number.
The formula will return the hexadecimal value of n.
*** KEYSET.FW2
Keyset.FW2 (Alt-J) (October p. 38, Framework II)
This macro allows you to define the length of an input string and a set of
acceptable keys. Keyset uses two variables:
key_count ::= length of input string
key_mask ::= acceptable characters
From within a frame, press Alt-J to execute and Esc to exit.
*** LABELPGM.FW2
Labelpgm.FW2 (March p. 14, Framework II)
This program automates the process of selecting a label-printing template
and of printing mailing labels.
Files Needed: Labelpgm.FW2
Load Labelpgm and your database frame to the desktop. Highlight Labelpgm
and press RECALC (F5) to initialize the macros. Press Alt-L to begin. You
will be asked to supply:
* Height of label in lines (# should be at least 1 more than
the actual # of lines you wish to print)
* Width of label in characters
* Number of labels across
* Name of database frame
After the label frame is created, the cursor is placed in the frame so
that you can enter the field names within <>. When you finish, press
Alt-C. The frame will be copied across, all the print attributes set, and
the labels printed.
*** NAMED_RA.FW2
Named_Ra.FW2 (Alt-P) (July p. 45, Framework II)
Macro to name of range of cells in a spreadsheet for referencing.
Within a spreadsheet frame, press Alt-P. Use cursor pointing to select the
range of cells to be named. Supply the name for this range when prompted.
Use the name in place of a region reference in formulas in your
spreadsheet.
*** PFS2FW2.FW2
Pfs2fw2.FW2 (March p. 36, Framework II)
This program transfers data from a pfs:file to Framework II. However,
because Framework II cannot import a pfs:file directly, you need to create
a pfs print file. And, a pfs print file places all blank fields at the end
of the file; so, you'll need to place data in all the blank fields so that
they are placed correctly in the print file.
From pfs:file: Make sure each field is no longer than one line. Add a
dummy value to all blank fields (a lowercase x, for example). Select print
from the pfs:file main menu, enter a "NO" for printing item names, and
enter a filename for the print file. Make the number of lines per page
equal to the number of fields in the file and set the number of copies to
one. On the print spec menu, enter an x for every field.
From Framework II: Import the pfs print file as an ASCII text file.
Create a database frame with the same number of fields and records (or
more). Label the database frame Db, name the first field First and the
last field Last. Load Pfs to the desktop and press RECALC (F5). When
prompted, highlight the ASCII text file, press Dnlevel, and then Alt-T.
Make any changes and save the new database file.
*** PICTURE.FW2
Picture.FW2 (@Picture) (October p. 21, Framework II)
Simulates the dBASE PICTURE clause.
@Picture( <format>, <lower limit>, <upper limit> )
The format parameter defines the maximum length and data type of the
spreadsheet or database cell input. The number of characters in the format
determines the number of input digits accepted. Use "9" for numeric data
amd "X" for character data. Any other character you use in the format
parameter displays as a literal and is considered part of the data. The
lower limit and upper limit parameters are used with numeric data to
define a continuous range.
Picture is called by your data-entry program. It assumes that the cursor
is in a cell into which you wish to enter data. (If it is numeric data, it
assumes you are in EDIT FORMULA.) Execute Picture to accept and format the
data. Navigate to the next cell and call Picture again. The sample
programs, Database.FW2 and Sheet.FW2, demonstrate how to use Picture with
databases and spreadsheets.
*** PROMPTCE.FW2
Promptce.FW2 (@Promptcenter) (September p. 39, Framework II)
Erases the prompt area and places centered message.
@Promptcenter( "Message goes here..." )
When executed, the prompt area erases and the specified character string
is placed as a centered message. It includes an error-checking routine so
that you'll see an error message if you fail to include the parameter
("message"), if the message is not a character string, or if the message
is longer than 80 characters. You can style the message with bold or
italics if it is a literal string.
*** REPLACE.FW2
Replace.FW2 (November p. 43, Framework II)
This macro was developed because sometimes you may want to search and
replace data only within highlighted text in a word frame. Framework II
supports search and replace of selected regions in spreadsheets and
databases frames but not in word frames. When you execute Replace, it
prompts you for the search string and the replacement string.
Files Needed: Replace.FW2
To set up the program move Replace.FW2 to the Macros section of your
Library and name it with the appropriate Alt-<key> combination. To
execute Replace, highlight the block of text you want to search and
replace within and press Alt-<key>.
*** RUNDBASE.FW2
Rundbase.FW2 (March p. 27, Framework II)
This program allows Framework II users with hard-disk systems to run dBASE
from the APPS menu even though dBASE resides in a subdirectory. It also
eliminates the need for the output frame, which is created by the Rundbase
provided with Framework II. Instead, a local variable is created for use
with the @run command.
Note: If you wish to run dBASE from within Framework II, we recommend that
you have at least 640K of RAM in your machine.
Files Needed: Rundbase.FW2
Copy this program to your Framework II subdirectory. This program assumes
that your copy of dBASE resides in a \DBASE subdirectory of your root
directory on the C: drive. If it resides elsewhere or the directory has a
different name or drive specifier, modify this program appropriately. When
you exit dBASE, you will be returned to your desktop and current
directory.
*** SPACING.FW2
Spacing.FW2 (Alt-S) (October p. 43, Framework II)
Allows user-defined variable line spacing within a document.
The program uses a spacing flag within your document so you'll need to set
up your word frame with spacing flags before you invoke the macro. The
spacing flag used by the program is .SP followed by the number of the
desired lined spacing (that is, .SP 1, .SP 2, or .SP 3). This flag should
be placed in the left margin before each line where you wish the spacing
to change.
Press Alt-S to reformat the document. You can reformat the frame manually
or reset the spacing flags and re-invoke the macro.
*** SYM2FW2.FW2
Sym2fw2.FW2 (July p. 26, Framework II)
This program allows you to transfer data from Symphony to Framework II.
You'll need to be familiar with the differences between FRED and Symphony
formulas. You'll have to edit some of the formulas after the data is
transferred because some of the functions are different and some work
differently. And, all formatting, column widths, and label alignment will
be lost in the translation process and will have to be set up again in
Framework II. Any repeat key cells (\) in Symphony will not repeat in
Framework II; use @rept or type in the repeated information.
Files Needed: Sym2fw2.FW2
From Symphony: Create a print file from your Symphony spreadsheet with
these settings:
F10 Range Name Reset Yes
F10 Range Name Create Translate <Return>
(highlight range to be transferred) <Return>
F10 Range Label-Alignment Left Translate <Return>
F10 Format Reset Translate <Return>
F9 Print Settings
Source Range Translate <Return>
Destination File Tempfile <Return>
Other Attributes No
Page Breaks No
Margins No-margins
Other Format Cell-formulas
Quit
Align
Go
From Framework II: Load Sym2fw2 to the desktop. Load Tempfile to the
desktop and rename it Symphony. Create a spreadsheet frame with as many
rows and columns as in the Symphony (Tempfile) file and name it Frame.
SIZE (F4) and DRAG (F3) both frames, Symphony and Frame, so that they are
visible on the desktop. Highlight the Sym_to_F frame and press RECALC
(F5). Press Alt-G. Check the data and formulas and edit them if necessary.
*** TABSTOP.FW2
Tabstop.FW2 (March p. 18, Framework II)
This program allows you to create variable tab stops in a word frame by
redefining the Tab key with @keyfilter.
Files Needed: Tabstop.FW2
Load Tabstop onto the desktop and press RECALC (F5). Press Alt-S and enter
your new tab stop values (up to ten different tabs) by specifying the
column numbers. To redefine your tab stops, press Alt-S. To return to
normal Framework II tab operation, press Alt-Q.
Note: Resetting the line width may require manual reformatting.
*** TABSTRIP.FW2
Tabstrip.FW2 (January p. 34, Framework II)
This program removes tab characters from word frames by retrieving the
current tab size and replacing the tab characters with the same number of
spaces.
Files Needed: Tabstrip.FW2
Load Tabstrip onto the desktop and press RECALC (F5). You are prompted to
highlight a word frame (you can load one onto the desktop at this time).
Then, press Alt-S. When the tabs are stripped, you'll be returned to the
desktop.
*** TCMBUILD.FW2
Tcmbuild.FW2 (November p. 28, Framework II)
This program creates and formats a spreadsheet called TCM Report that
contains your .TCM file definitions. This program allows to view your
.TCM file settings without having to navigate through the various
Telecommunications menus. Once this TCM Report spreadsheet is built, you
can print it with a simple print macro called Prtrepo.FW2.
Files Needed: Tcmbuild.FW2, Prtrepo.FW2
To set up this program, move the file Prtrepo.FW2 to the Library, naming
it with an Alt-<key> combination. Then, load Tcmbuild.FW2 to the desktop.
To build the TCM Report spreadsheet, highlight Tcmbuild.FW2 and press F5.
To print the report, press Alt-<key>.
*** TCM_DIAL.FW2
Tcm_dial.FW2 (December p. 32, Framework II)
This program can help you keep track of all your bulletin board listings
and provide you with the same kind of fast-and-easy access available
through Framework II's Telecommunications menu. There are two programs:
Tcm_dial.FW2 and Update.FW2. Tcm_dial.FW2 automates the dialup process
and Update.FW2 records the access date and time. It uses a macro already
furnished by Framework II, Alt-F4 (time). Use this macro after you have
logged off a bulletin board.
Files Needed: Tcm_dial.FW2, Update.FW2
To use this program, first create a Framework II database named RBBS with
the following fields:
Field Description
Bulletin Board RBBS/Information service
City City where RBBS is located
State State where RBBS is located
Phone Access phone number
Sysop System operator's name
Board RBBS Software
TCM File .TCM filename
Last Access Date of last logoff
Log Off Time of logoff
Days Since Number of days since last logoff
In the formula area of Days Since, enter the following code:
@set(Days Since,
@list(
@if(@iserr(@sumdate(Last Access,1)),
"No access",
@diffdate(@datetime(@date,@time),Last Access)
)
)
)
To use this program, assign the Tcm_dial.FW2 and Update.FW2 any Alt-<key>
you want. Then, position the cursor on the row (in the database) that
corresponds to the name of the service you want to access and press
Alt-<key>. Once you have logged off the bulletin board, press Alt-<key>
to initiate the Update macro.
*** WORDCHEC.FW2
Wordchec.FW2 (Alt-X) (July p. 48, Framework II)
Macro to check spelling of single or phrase from edit line.
From the desktop, press Alt-X. You'll be prompted to type a word or phrase
on the edit line. The program will execute Ctrl-A S B to begin the normal
Framework II spelling check. You can use all the Framework II spelling
check features to get suggestions or to edit the text. After the spelling
check, press a key to return to your work.
*** WORDTRAP.FW2
Wordtrap.FW2 (Alt-Z) (December p. 45, Framework II)
This macro was developed to work around the limitations of the @t command,
which only traps for one character. It can be called from your telecomm
macro to wait for a given string before proceeding, such as "tion:".
To use the macro, change the value of target to equal the string you want
to trap. Currently, trap := "tion".
*** WRAPCELL.FW2
Wrapcell.FW2 (November p. 44, Framework II)
This macro word wraps long spreadsheet labels within the column width. It
works much like 1-2-3's /Range Justify command, which word wraps long
spreadsheet cell labels.
To set up Wrap_cell.FW2, move it to the Macros section of your Library and
name it with the appropriate Alt-<key> combination.
Before executing Wrap_cell, follow these guidelines:
1. Select Locate:Allow Editing from the frame border of the spreadsheet to
make sure that there are no protected cells in the spreadsheet.
2. Construct your spreadsheet from the left to right and top to bottom.
This will prevent overwriting existing labels and formulas.
3. As you work on each column for the first time, size it appropriately so
that when you wrap long labels you will get the correct wrapping margin.
To execute the macro, highlight the spreadsheet cell that has the long
label and press the Alt-<key> for Wrap_cell.
*** AGE.PRG
Age.PRG (November p. 8, dBASE III PLUS)
Age.PRG accepts a date passed to it and calculates and displays the
person's age from the current date in the format: "x years old" where x is
the calculated age.
Files Needed: Age.PRG
To execute the program, use the following general syntax:
DO Age WITH <birth date>
*** AMORTIZE.PRG
Amortize.PRG (December p. 36, dBASE III PLUS)
This program (Amortize.PRG and Schedule.PRG) uses dBASE Tools for C to
calculate and print an amortization schedule based on the following input
values:
* principal (initial amount of loan)
* rate of interest per year
* periods (number of payments per year)
* payment made already
* years of loan (from start)
Files Needed: Amortize.PRG, Schedule.PRG
Before running these programs, be sure to read your dBASE Tools for C
documention. To execute the program, type DO Amortize.
*** AMPM.PRG
Ampm.PRG (November p. 6, dBASE III PLUS)
The program displays the time in the more familiar twelve-hour format.
Ampm.PRG uses the SUBSTR() function to separate the hours and minutes from
the time string you pass. These elements are then converted to the
twelve-hour format.
Files Needed: Ampm.PRG
To execute Ampm, use the following general syntax after initializing a
return variable.
ret_val = ""
DO Ampm WITH <time string>, ret_val
*** AUTOLOCK.PRG
Autolock.PRG (August p. 25, dBASE III PLUS Administrator)
This program provides a mechanism for automatic record locking when
EDITing records. It uses two command files: Autolock.PRG and Autoerr.PRG.
When invoked, it places the record pointer at the beginning-of-file or the
first record matching the search key, and then allows you to EDIT it.
When in the EDIT mode, you can page between screen pages and records as
you would normally. If a record is locked, Autoerr displays an
appropriate message.
Files Needed: Autolock.PRG, Autoerr.PRG
To run the program, use the following syntax:
DO Autolock WITH "<database file>", "<index file list>",;
"[<format file>]", "[<filter condition>]",;
"[<search key>]"
All PARAMETERS except for the database and index files are optional as
indicate by the square brackets, []. If you omit a PARAMETER, send a null
string in its place. For example, the following syntax is typical for a
database and format file:
DO Autolock WITH "Clients", "Cl-1", "Invoice","",""
Additionally, Autolock assumes that index keys are character type. To
exit the program, press Esc or Ctrl-End.
*** CLONER.PRG
Cloner.PRG (December p. 41, dBASE III PLUS)
Cloner.PRG is a program that speeds up the process of COPYing REPORT FORM
files several times. Each new REPORT FORM is given a unique filename.
Once the file is copied, you are placed in MODIFY REPORT so that you can
make changes to the copy.
Files Needed: Cloner.PRG
To use the program, type DO Cloner.
*** COLOR.PRG
Color.PRG (March p. 12, dBASE III PLUS)
Color.PRG is a menu-driven program that allows you to define color for
the screen border, SAYs, and GETs. You can use Color.PRG as a stand-alone
program or you can integrate it into applications, either for interactive
color definitions or installations. When you run it, a menu of color
choices displays followed by three input boxes that define the colors for
SAYs, GETs and the screen border.
Files Needed: Color.PRG
From the dot prompt or from a command file type, DO Color.
*** CPDELIM.PRG
Cpdelim.PRG (May p. 28, dBASE III PLUS)
This program creates a comma separated file without delimiters. The
resultant text file is in the following form:
Field1,Field2,12,.T.
Cpdelim.PRG accepts four parameters: a database filename ("dbf"), an index
filename ("ndx"), a filter condition ("condition"), and an output filename
("txtfile").
Files Needed: Cpdelim.PRG
To run this program, type the following command line in a program file or
at the dot prompt:
DO Cpdelim WITH "<database filename>", "<index filename>", ;
"<filter condition>", "<output filename>"
The output file will have a .TXT extension.
*** DATEAVG.PRG
Dateavg.PRG (November p. 7, dBASE III PLUS)
This program returns the average date from a specified date field that you
pass as a parameter.
Files Needed: Dateavg.PRG
To execute the program, use the following syntax:
ret_val = CTOD("01/01/01")
DO Dateavg WITH "<date field to average>", ret_val
*** DAY.PRG
Day.PRG (November p. 7, dBASE III PLUS)
This program converts a date variable to a character string in the
following format: "Friday, November 1st, 1986."
Files Needed: Day.PRG
To execute the program, use the following general syntax after initializing
a return variable.
ret_val = ""
DO Day WITH <date>, ret_val
*** ENCRYPT.PRG
Encrypt.PRG (February p. 31, dBASE III)
Encrypt.PRG encrypts either character or numeric data in a database by
adding the ASCII value of the first character to the ASCII values of the
second and succeeding characters. Once the encryption process is done,
you can REPLACE the original field with its new encrypted value. The
program accepts four parameters: "mvar," "width," "decimal," and "outvar."
"mvar" is the data to encrypt, "width" is the length of "mvar," "decimals"
is the number of decimals (0 decimals for character data), and "outvar" is
the variable that will receive the encrypted data.
To interpret the encrypted data, use the companion program, Decrypt.PRG.
Decrypt subtracts the ASCII value of the first character from the second
and succeeding characters. The program accepts three parameters: "mvar,"
"mtype," and "outvar." "mvar" is the character string to decrypt,
"mtype" defines whether the "mvar" is character or numeric, and "outvar"
contains the decrypted data string.
Files Needed: Encrypt.PRG, Decrypt.PRG
To use Encrypt.PRG, first store the field contents to "mvar" and define
the two variables "width" and "decimals." When the program is finished,
"outvar" contains the encrypted data.
Similarly, to use Decrypt.PRG, first store the encrypted data to "mvar"
and the data type (N for numeric and C for character) to "mtype."
*** FDATE.PRG
Fdate.PRG (November p. 3, dBASE III PLUS)
This program is a general date-formatting procedure. It accepts two
parameters: a date variable to format and a numeric code designating the
format desired. Fdate returns a character variable containing the
formatted date string. The following is a list of format options. Use
the position in the list as the format-code parameter when you DO Fdate.
1. Mon DD, YYY
2. Mon YYYY
3. Mon DD, YYYY
4. Month DD, YYYY
5. DD-Mon-YYYY
Files Needed: Fdate.PRG
To run the program, use the following syntax:
<return variable> = ""
DO Fdate WITH <date variable>, <format code>, <return variable>
*** LIST.PRG
List.PRG (May p. 24, dBASE III PLUS)
List.PRG is a sample program that demonstrates how you can use the
assembly language program, Screen.BIN, to execute a Shift-PrtSc. It does
not disable the normal use of Shift-PrtSc, but rather allows you to
include the function of Shift-PrtSc as a menu option within your dBASE III
PLUS application.
Files Needed: List.PRG, Screen.BIN
To use Screen.BIN as a stand-alone program, first LOAD it into dBASE III
PLUS, then CALL it as necessary. To run List.PRG, copy Tours.DBF and
Tours.DBT from the Sample Programs and Utilities Disk to the directory
that contains Screen.BIN and List.PRG. Then, from the dot prompt type,
DO List
*** LISTFORM.PRG
Listform.PRG (April p. 22, dBASE III PLUS)
Listform prints a vertical list of a database file; that is, fields print
underneath one another. The program keeps track of the line count and
ejects to a new page when appropriate. The default page length is 64,
though you can change this value by changing the variable, pglength. It
also prints a heading at the top of each page. Listform calls two other
programs: Wrap.PRG which performs word-wrapping for long character fields
and Newpage.PRG which prints a heading at the top of each page.
If you use the SET FIELDS command or use a view, Listform still prints all
the fields from the current database file because the FIELDS() function
(which is used in Listform.PRG) does not support the fields list specified
by SET FIELDS or SET VIEW TO.
Files Needed: Listform.PRG, Wrap.PRG, Newpage.PRG
Open a database file and type,
DO Listform
*** LISTHIST.PRG
Listhist.PRG (February p. 8, dBASE III PLUS)
Listhist.PRG will LIST HISTORY to a .PRG file that can be edited into a
workable command file. This allows you to use LIST HISTORY as a
prototyping tool to develop and test dBASE III PLUS commands. Once the
commands are working from the dot prompt, you can send them to a command
file using Listhist.
Files Needed: Listhist.PRG
From the dot prompt type, DO Listhist. Listhist will prompt you to enter
a name for the HISTORY file.
*** MAILMERG.PRG
Mailmerg.PRG (September p. 6, dBASE III PLUS)
This program merges data from a database file into a one-page form letter.
Multi-paged form letters are not supported. You embed the field names
within the form letter and the mailmerge program inserts the data into the
letter, trimming trailing blanks and formatting the text according to the
margins specified. Mailmerg.PRG is the main program and it calls a
procedure file that contains three procedures: Merge.PRG, Wordwrap.PRG,
and Checker.PRG. Merge merges one record from the database file with the
text of the form letter. Wordwrap does word-wrapping on long character
strings, and Checker verifies that the field names cited in your form
letter are spelled and delimited correctly.
Files Needed: Mailmerg.PRG, Mergproc.PRG
To use the program, modify Mailmerg.PRG and replace <YourDatabase> with
the name of your database file and <YourLetter> with the name of the form
letter. The form letter is a standard ASCII text file with the field
names embedded within the text. To create this form letter, use the
following parameters:
1. Use the backslash symbol (\) in column 1 of each line in a list of
items, such as an address. The backslash symbol tells the program to
print on a new line, thus, preventing word-wrap. For example:
\John Doe
\123 Anywhere Dr.
\Culver City, CA 90230
2. Field names must be delimited with either of the accepted field
delimiters: angle <> or square [] brackets. Use the angle brackets to
delimit field names that always print, such as the city or state in an
address. Use the square brackets to indicate the field is optional;
that is, the field may or may not have data in it. If an optional
field contains no data, a blank line does not print. For example:
\<Company>
\<Address1>
\[Address2] <----------this field is optional
\<City>, <State> <Zip>
These symbols, [] and <>, are reserved as field delimiters only and cannot
be used within the text of your letter.
3. If you want blank spaces to follow a field marked as optional, embed
the blank spaces within the brackets instead of outside of the
brackets:
[Name ]xxx instead of
[Name] xxx
For fields delimited with angle brackets, place the blank spaces outside
the delimiters:
<Name> xxx instead of
<Name >xxx
*** MAINRANG.PRG
Mainrang.PRG (August p. 30, dBASE III PLUS)
Datefind moves the record pointer to the first date in a range (specified
by the starting and ending dates provided by Mainrang.PRG), if the date
exists. If the date range is outside the boundaries of the dates stored in
the database file, the program stops.
Files Needed: Datefind.PRG, Mainrang.PRG
To use Mainrang.PRG and Datefind.PRG, first create an index file by
INDEXing ON the character conversion of the date field in the format
"YYYYMMDD." For example,
INDEX ON STR(YEAR(<Date_field>),4) + SUBSTR(DTOC(<Date_field>),1,2) +;
SUBSTR(DTOC(<Date_field>),4,2) TO <Yourindx>
where <Date_field> is the name of the date field in your database file.
Edit Mainrang.PRG and replace Yourfile with the filename of the database
file to be searched, Yourindx with the index filename, and Date_field with
the name of the date field to be searched. To start the program, type DO
Mainrang.
*** MEMOSLIM.PRG
Memoslim.PRG (September p. 32, dBASE III PLUS)
This program reduces the size of memo files (.DBT). It uses two command
files: Memoslim.PRG and Memotrim.PRG. Memoslim is a front-end program
that prompts you for the name of your database, checks for the existence
of the .DBF and .DBT file, and then executes Memotrim, which actually
reduces the size of the memo file. When the program is finished, it
displays the total number of bytes recovered and prompts you for the name
of another database file.
Files Needed: Memoslim.PRG, Memotrim.PRG, Getfile.DBF
To set up the program, first CREATE a database file called Getfile.DBF with
the following structure:
Structure of Getfile.DBF
Field Field Name Type Width Dec
1 Line Character 80
To run, type DO Memoslim.
You can run the reduction routine, Memotrim.PRG, as a stand-alone program
or procedure. To do this, use the following command line in your command
files or from the dot prompt:
DO Memotrim WITH "< database filename>"
*** MODSTRUC.PRG
Modstruc.PRG (January p. 10, dBASE II)
Modstruc.PRG uses the COPY STRUCTURE EXTENDED and CREATE FROM commands
with the COPY TO <filename> DELIMITED and APPEND FROM <filename> DELIMITED
commands to allow you to modify the structure of your database file
without losing the data stored there.
Files Needed: Modstruc.PRG
To use Modstruc.PRG you need approximately as much free space on your disk
as the size of the file your are modifying. To execute the program, type
DO Modstruc.
*** MULTIRPT.PRG
Multirpt.PRG (August p. 27, dBASE III PLUS)
This custom report form uses the LABEL FORM command to print multiple
records in columns across the page. Before DOing this program, replace all
items delimited with <> with the appropriate filename or value. When you
create the LABEL FORM, be sure to include the number of labels across
because that value determines the number of columns in the report.
Files Needed: Multirpt.PRG
Edit Multirpt.PRG to supply the filenames of your database and LABEL FORM.
Replace "This is a header" with the text of your header. You also need to
supply <number per page> which selects the number of records to be printed
on each page. To start the program, type DO Multirpt.
*** PRGPRINT.PRG
Prgprint.PRG (March p. 22, dBASE III)
This program prints program listings of all the command files in the
current subdirectory. There are three basic parts: Prgprint, which is a
front-end menu and Fileproc, which is a procedure file that contains two
procedures: Makefile and Fileprt. Makefile creates a new database file
from an existing one (Shape.DBF) and then APPENDs the command filenames
(.PRG) into this new database. Fileproc is a procedure that extracts the
filenames from the database and prints the command files to the screen or
printer.
Files Needed: Prgprint.PRG, Fileproc.PRG, Shape.DBF
To set up Prgprint.PRG, first CREATE a database file called Shape.DBF with
the following structure:
Structure of Shape.DBF
Field Field Name Type Width Dec
1 File Character 8
To begin the program, from dBASE III type: DO Prgprint
*** RANDOM2.PRG
Random2.PRG (January p. 18, dBASE II)
Random2.PRG generates a random number from the seed value returned by
Cseed2.PRG. It accepts two parameters: "seed" and "limit." "seed" is the
value generated by Cseed.PRG; and "limit" is the highest random number
possibility. Two variables are returned: "random," which contains the
random number and "seed," which contains a new seed value that can be used
again.
In addition to these two main programs, you can also use Winners.PRG to
select a specified number of winners from a database file, and Eval2.PRG
to evaluate how reasonable the results from Random2.PRG are. The program
Winners.PRG executes the programs Cseed.PRG and Random2.PRG. Once a
random number is chosen, it copies the record that corresponds to that
number to a new file, Winners.DBF. The evaluation program, Eval2.PRG,
calls Cseed.PRG once and Random2.PRG 48 times. For the set of 48 random
numbers, it calculates the mean and standard deviation. This process is
repeated 15 times. The expected values are displayed; then, the average
value and the corresponding standard deviation are displayed for each
cycle.
Files Needed: Cseed2.PRG, Random2.PRG
Eval2.PRG (optional), Winners.PRG (optional)
Before running Random2.PRG, first store the upper limit of random number
possibilities to a numeric memory variable called "limit" and execute the
program Cseed2.PRG to create a seed value. You only need to run Cseed.PRG
once because Random2 returns a new seed value at the end of the program
that can be used again.
To use Eval2.PRG, make sure that Random2.PRG and Cseed2.PRG are available.
Before using Winners.PRG, COPY the STRUCTURE of your database file to
Test.DBF. Add one logical field called Used to Test.DBF, then APPEND the
data FROM your database file. The winners are stored to a database called
Winner.DBF.
*** RANDOM3.PRG
Random3.PRG (January p. 20, dBASE III)
Random3.PRG uses the seed value returned by Cseed3.PRG to generate a
random number. It accepts two parameters: "seed" and "limit." "seed" is
the value generated by Cseed3.PRG; and "limit" is the highest value
required. Two variables are returned: "random," which contains the random
number and "seed," which contains a new seed value that can be used again.
In addition to the these two main programs, you can also use Eval3.PRG to
evaluate the results from Random3.PRG. Eval3.PRG calls Cseed3.PRG once
and Random3.PRG 48 times. For the set of 48 random numbers, it calculates
the mean and standard deviation. This process is repeated 15 times. The
expected values are displayed; then, the average value and the
corresponding standard deviation are displayed for each cycle.
Files Needed: Cseed3.PRG, Random3.PRG
Eval3.PRG (optional)
Before running Random3.PRG, first store the upper limit of random number
possibilities to the numeric memory variable "limit" and execute
Cseed3.PRG to create the variable "seed." You only need to run Cseed3.PRG
once because Random3 returns a new seed value at the end of the program.
This value can be used again in Random3.
To use Eval3.PRG, make sure that Random3 and Cseed3 are available.
*** REMOVE.PRG
Remove.PRG (June p. 34, dBASE III PLUS)
Use Remove.PRG to eliminate specific characters from a field or memory
variable. One of the most useful ways you can apply this program is to
remove a set of characters from a series of records in a database file.
Remove.PRG accepts three parameters: the source string ("string"); the
characters to remove ("remove"); and the return memory variable
("result"), which is a blank variable that will contain the new string.
To run the program, use the following syntax:
DO Remove WITH <source string>, <characters to remove>, ;
<return memory variable>
For example,
return = ""
source = "***HELLO"
DO Remove WITH source, "*", return
? return
Hello
*** SALES.PRG
Sales.PRG (July p. 7, dBASE III PLUS)
This program demonstrates how to create a custom report to print a two-
leveled grouped report, with subtotals and a grand totals. The report
includes a report heading, page heading, group headings, group footings,
page footings and report footings. The supporting file, Pagetop.PRG,
prints the page and column headings. You can expand this program to print
three or more levels, as well as to include statistical functions such as
means, averages, and standard deviations.
Files Needed: Sales.PRG, Pagetop.PRG, Sales.DBF, Sales.NDX
To use Sales.PRG, first create a database file named Sales.DBF with the
following structure:
Structure of Sales.DBF
Field Field Name Type Width Dec
1 Branch Character 3
2 Salesman Character 4
3 Customer Character 4
4 Product Character 25
5 Amount Numeric 8 2
Then, execute the following command to index the file:
INDEX ON Branch + Salesman + Customer TO Sales.NDX
*** SAVESTRU.PRG
Savestru.PRG (June p. 23, dBASE III PLUS)
This program will save the structures of all the database files from the
current directory to a library file called, Strufile.DBF. Like a
STRUCTURE EXTENDED file, Strufile.DBF contains the detailed information
about each field, such as Field_name, Field_type, Field_len, Field_dec,
and an extra field, File_name. From this database you can create other
files with the same structure. This program is especially useful if you
have problems with a file and need to create a new structure.
Files Needed: Savestru.PRG, Strufile.DBF, Dbfile.DBF
To use the program, first create two database files with the following
names and structures:
Structure of Strufile.DBF
Field Field Name Type Width Dec
1 Field_name Character 10
2 Field_type Character 1
3 Field_len Numeric 3
4 Field_dec Numeric 3
5 File_name Character 12
Structure of Dbfile.DBF
Field Field name Type Width Dec
1 Dbfilename Character 12
Then, from the dot prompt type,
DO Savestru
*** SCROLL1.PRG
Scroll1.PRG (November p. 11, dBASE III PLUS)
Scroll1.PRG allows you to scroll through time periods beginning with the
closest period to the system date. The period begins on the closest
Monday to the current date and ends on the Friday of the next week. To
change the length and the last day of the period, change the initial
values of the memory variables "period" and "per_end."
Pressing Esc returns a blank date. Pressing Return, returns the beginning
date of the time period you have selected.
Files Needed: Scroll1.PRG
To execute Scroll1.PRG, use the following commands:
ret_val = CTOD(" / / ")
DO Scroll WITH <row>, <col>, ret_val
*** SCROLL2.PRG
Scroll2.PRG (November p. 12, dBASE III PLUS)
This program allows you to scroll through consecutive days beginning with
the date you pass in the memory variable, "ret_val." Pressing Return
returns the date you selected in the variable "ret_val." Pressing Esc
returns the seed date. Subsequent runs of the program uses the last value
stored in "ret_val" for the seed date. This allows you to carry forward
selected dates.
Files Needed: Scroll2.PRG
To execute the program, use the following syntax:
ret_val = DATE()
DO Scroll2 WITH <row>, <col>, ret_val
*** VIEW.PRG
View.PRG (February p. 12, dBASE III PLUS)
View.PRG is a program that allows you to press F9 to toggle between the
BROWSE and EDIT modes. When you are in EDIT, you can use PgUp and PgDn to
move within or between records. In addition, if you have SET FORMAT TO a
format file, your format screen will appear in place of the standard
screen. From either mode, press Esc to exit.
View.PRG accepts a view filename (.VUE) as its PARAMETER.
Files Needed: View.PRG
To setup View.PRG, first CREATE a VIEW file. The view can contain a
number of database and index files, a format file, and a filter. To
execute the program, use the following syntax:
DO View WITH <filename.VUE>
*** WEEKDAY1.PRG
Weekday1.PRG (November p. 4, dBASE III PLUS)
This program allows you to select a start date and a number of days and
will provide the number of working days inclusive.
To setup the program, first CREATE Holiday.DBF with the following
structure:
Structure for database: Holiday.DBF
Field Field name Type Width
1 Holiday Date 8
Then, APPEND all the holidays that span the range of dates in which you
will be working. This means that if you are working with a span of two
years, you must APPEND two records for each holiday, one for each year.
To execute Weekday1, use the following general syntax after initializing a
return variable for the number of weekdays:
ret_val = 0
DO Weekday1 WITH <start date>, <number of days>, ret_val
*** WEEKDAY2.PRG
Weekday2.PRG (November p. 5, dBASE III PLUS)
Weekday2 allows you to specify a starting and ending date and returns the
number of working days between them.
To setup Weekday2, first CREATE Holiday.DBF with the following structure:
Structure for database: Holiday.DBF
Field Field name Type Width
1 Holiday Date 8
Then, APPEND all the holidays that span the range of dates in which you
will be working. This means that if you are working with a span of two
years, you must APPEND two records for each holiday, one for each year.
To execute the program, use the following general syntax after
initializing a return variable that will store the number of working days
returned from the routine.
ret_val = 0
DO Weekday2 WITH <start date>, <end date>, ret_val