home *** CD-ROM | disk | FTP | other *** search
- BRUCEINI.DOC 1 Mar 26, 1998
-
- This text file describes using an *.INI file or environmental variables to
- override the system defaults for this and other programs by the same
- author. Both of these are always optional but they can be very useful.
-
- ---------------------------------------------------------------------------
- INI files
- ---------------------------------------------------------------------------
-
- 1.1 What is an INI file?
-
- An INI file is a way of specifying parameters for a program that you
- don't want to have to respecify from the command line each time. This
- allows you to override any program defaults you want to change.
-
- This is very useful if you disagree with the defaults I've established
- for the routines. It is also useful in cases where you typically use
- the command one way but in fairly regular cases you need to run the
- command using a whole bunch of different parameters. You can set up
- one INI file for your standard usage and then provide a different INI
- file when it's time to run the lesser used versions.
-
- 1.2 What's the default INI file name for each program?
-
- Each of the programs reads an INI file if it can find one. By
- default, the INI file that is searched for is based on the
- executable's name but not always. This is shown below (block
- declarations are described in 1.3(c) below; environmental variables
- are described in section 2.1 below):
-
- Routine INI file Block Environmental
- Variable
-
- AV.EXE AV.INI [AV] AV
- BFIND.EXE BFIND.INI [BFIND] BFIND
- CHANGE.EXE CHANGE.INI [CHANGE] CHANGE
- CONVERT.EXE CONVERT.INI [CONVERT] CONVERT
- COPSINCE.EXE COPSINCE.INI [COPSINCE] COPSINCE
- DATES.EXE DATES.INI [DATES] DATES
- DIRCOMP.EXE DIRCOMP.INI [DIRCOMP] DIRCOMP
- DIRTOTAL.EXE DIRTOTAL.INI [DIRTOTAL] DIRTOTAL
- EUMAIL.EXE EUMAIL.INI [EUMAIL] EUMAIL
- FILL.EXE FILL.INI [FILL] FILL
- FILUPDAT.EXE FILUPDAT.INI [FILUPDAT] FILUPDAT
- FIXTEXT.EXE FIXTEXT.INI [FIXTEXT] FIXTEXT
- FORTUNE.EXE FORTUNE.INI [FORTUNE] FORTUNE
- HTMSTRIP.EXE HTMSTRIP.INI [HTMSTRIP] HTMSTRIP
- ISAMFIND.EXE &
- ISAMMAKE.EXE ISAMFIND.INI [ISAMFIND] ISAMFIND
- MOZ.EXE MOZ.INI [MOZ] MOZ
- PAGINATE.EXE PAGINATE.INI [PAGINATE] PAGINATE
- READ.EXE &
- READINIT.EXE &
- READMAKE.EXE &
- READY.EXE READ.INI [READ] READ
- TXTABLE.EXE TXTABLE.INI [TXTABLE] TXTABLE
-
-
- BRUCEINI.DOC 2 Mar 26, 1998
-
- 1.3 What does an INI file look like?
-
- The INI file is an ASCII text file that can be created maintained by
- hand. The commands in the INI file should begin in column 1. It can
- consist of:
-
- (a) Command-line parameters
- (b) Comments
- (c) Block declarations
- (d) Special items (vary by routine)
-
- (a) Command-line parameters: The INI file can consist or one or more
- command line parameters. In most cases, it can *only* include
- command line parameters that begin with a slash ("/"). These
- will vary by routine of course but, in READ for example, your INI
- file might appear like this:
-
- /MONO
- /-DOS
- /COLOR=123 134 145 156
-
- (b) Comments: The INI file can also contain comment lines. These
- are defined as any lines that are blank or begin with a
- semi-colon.
-
- Comments can also begin after a statement. Precede them with at least
- two spaces and a semi-color or one or more space and "/*" like
- the following:
-
- /MONO ; Need to override color setting since upsets monitor
- /-DOS /* Don't want them being able to jump to DOS
-
- (c) Block declarations: You can combine INI files if you'd like.
- This saves some disk space. Typically, this is done in
- connection with the SET BG=inifile environmental parameter
- (described below). Blocks are declared by using the name of
- searched-for routine in brackets. (See the table above to see
- what blocks are searched for for each routine.) Any statements
- between one block and the next are assumed to be associated with
- the first routine. For example:
-
- ; ALL.INI -- contains all of the INI statements
- [DATES]
- /SORT
- [FILL]
- /ON
- /SPLIT
- [READ]
- /MONO
-
-
- BRUCEINI.DOC 3 Mar 26, 1998
-
- (d) Special items: Some routines allow the INI file to include
- statements that cannot be specified from the command line. These
- special statements are described in the specific routine's
- documentation.
-
- A fairly complicated example might be an INI file used for the
- HTMSTRIP program. In this case, you might find all of the following
- types of lines:
-
- (blank line) ignored as comment
- ;xxxxx ignored as comment
- [xxxxx] beginning of program block (e.g. "[HTMSTRIP]")
- /xxxxx command-line parameters
- \xxx = \xxx character-translation entry
- &xxx;= xxx entity references (HTML translations)
- <xxx> = xxx how to show certain blocks
-
- 1.4 Where does each program look for the INI file?
-
- Each program here looks for an INI file unless instructed otherwise.
- The logic used is as follows. Note that the first "hit" wins:
-
- (a) No INI file is checked for if any of the following is true:
-
- - /-I or /INULL is passed in from the command line
- - /-I or /INULL is passed in from the routine's environmental
- parameter (for example, SET READ=/-I)
- - the environmental variable BG is set to the value of /-I or
- /INULL (for example, SET BG=/-I)
-
- Most programs accept either /-I or /INULL. However, several
- routines (BFIND and CHANGE) accept /-I to mean do a
- case-insensitive search. For these programs, you *have* to use
- /INULL instead.
-
- (b) If a /Iinitfile setting is passed in, the routine uses this to
- determine the name of the INI file to look for. Note that the
- file name must include a period (for example, "/ICHANGE.INI") or
- the program will skip it.
-
- (c) The routine looks for an environmental variable BG. If this
- variable is defined (and it's not set to /-I), then the routine
- takes this to be the name of the INI file to look for.
-
- (d) The routine looks for the INI file under the "INI file" name
- shown in the table at the start of this documentation.
-
-
- BRUCEINI.DOC 4 Mar 26, 1998
-
- 1.5 What's the search path sequence for the INI file?
-
- If the INI file name does not include either a drive or path
- specification (for example, you don't pass in something like
- /IC:\ALL.INI), the routine will search for the named file. It will
- check for it in the following places in the following order. The
- first place that it finds it wins:
-
- - Your default subdirectory (where you were when you executed the
- command)
- - The subdirectory that contains the EXE that you're executing
- - Your regular DOS path
-
- If you do not have an INI file, this searching can take awhile
- especially if you have any networked drives in your path. In this
- case, specifying "/-I" will save some time. Passing in a fully
- qualified filename also helps.
-
- 1.6 I'm lost. What does your INI file look like?
-
- Personally, I have a common INI file named WAYNE.INI in the root of my
- C: drive. I put it there so I don't run out of environmental space by
- specifying some huge path. I have the following statement in my
- AUTOEXEC.BAT:
-
- SET BG=C:\WAYNE.INI
-
- Currently, my C:\WAYNE.INI file looks like this:
-
- [AV]
- /on
- [bfind]
- /-empty
- [COPSINCE]
- /def text=*.bas *.bi *.c *.diz *.doc *.h *.ref *.sas *.sc *.txt
- /def prg=*.bas *.bat *.bi *.c *.h *.sas
- /to c:\temp
- /replace
- /text
- /copy -0
- [DATES]
- /cc:\mine\datemine.txt
- /sort
- /day
- /-i
- [FILL]
- /letter
- [htmstrip]
- /lc:\vbdos\htmstrip.ini
- /-symbols
- /warnings
- [paginate]
- /overwrite
- /cc:\bat\brucedoc.ctl
-
- If I ever need to override the WAYNE.INI settings, it's easy to do by
- passing them in from the command line or by specifying /-I from the
- command line.
-
- BRUCEINI.DOC 5 Mar 26, 1998
-
- ---------------------------------------------------------------------------
- Using Environmental variables
- ---------------------------------------------------------------------------
-
- 2.1 Introduction
-
- The programs all allow you to pass in regular DOS environmental
- variables, either from the command line or from the INI file. These
- variables will be resolved by the program. Under Windows 95 and 4DOS,
- the variables are resolved by the operating system instead.
-
- 2.2 What are environmental variables?
-
- The DOS environment is a shared area of memory that is used for
- setting certain values that one or more program might need. These
- values are retrieved by examining a given environmental variable which
- has specific information that a program might want.
-
- To see you environmental variables, type "SET" from the DOS prompt and
- press <ENTER>. This will return a listing of the environmental
- variables and their values. For example:
-
- C:\>SET<ENTER>
- CONFIG=NORMAL
- BG=C:\WAYNE.INI
- BLASTER=A220 I5 D1 H5 P320 Q2 T4
- COMSPEC=C:\COMMAND.COM
- CPAV=D:\PCT\DATA\CPAV.INI
- CPBACKUP=D:\PCT\DATA
- LINK=/SE:256
- PATH=C:\DOS;C:\BAT;C:\;C:\UTIL;C:\UTIL\COPY;C:\UTIL\80386;C:\VBDOS;C:\UTIL\GRAPHICS;D:\PCT;E:\WINDOWS
- PCTOOLS=D:\PCT\DATA
- PROMPT=$p$g
- TEMP=E:\TEMP
- C:\>
-
- Environmental variables can be set by saying "SET variable=value" such
- as:
-
- SET PROMPT=$p$g
-
-
- 2.3 Aren't there special environmental variables for these routines?
-
- (a) Each routine has a default environmental variable that is checked
- when the program runs. See the table in section 1.2 above for
- more information about this.
- (b) Each routine also checks an environmental variable BG for it's
- value.
-
-
- BRUCEINI.DOC 6 Mar 26, 1998
-
- 2.4 Other than the special ones above, how would you use an environmental
- variable in these routines?
-
- Pass in the variable as "%variable%" as part of the regular parameter
- list (or in the INI file or whatever) and the programs will resolve
- the variable to its assigned value for you. For example:
-
- C:\>SET USER=BGuthrie
- C:\>BFIND %USER% SYSTEM.INI
-
- Will cause the BFIND program to search for the string "BGuthrie" when
- it is run. The routine leaves intact any variables that are not
- defined.
-
- If you wish to turn off resolution of the environmental variables,
- pass in the parameter /-ENV.
-
- 2.5 Can I assign something with an equal sign in the value?
-
- Environmental variables can't contain equal signs since these are used
- for the assignment itself. If you need to use an equal sign, put a
- comma in instead and my programs will translate it as an equal sign
- for you. This will not affect any comma within a quoted string. Note
- that this convention is not standard within DOS so it's only going to
- work in these specific programs.
-
- ---------------------------------------------------------------------------
- Author
- ---------------------------------------------------------------------------
-
- Bruce Guthrie
- Wayne Software
- 113 Sheffield St.
- Silver Spring, MD 20910
-
- e-mail: WayneSof@erols.com fax: (301) 588-8986
- http://www.geocities.com/SiliconValley/Lakes/2414
- or find through http://www.erols.com/waynesof
-
-