Category : Miscellaneous Language Source Code
Archive   : VC4ONE.ZIP
Filename : VC4ONE.DOC
º VC4ONE -- PC Based Version Control System: º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º
º V1.9 Þ± Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± º
º Þ± Þ±Þ± Þ±Þ± Þ± Þ± Þ±Þ±± Þ± Þ± º
º Þ±Þ± Þ± Þ±±±±±Þ± Þ±Þ±Þ±Þ± Þ±±±± º
º Þ±Þ± Þ± Þ± Þ± Þ± Þ±Þ± Þ±± Þ± º
º Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± º
º Version Control for One-Programmer Projects º
º ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º º
º ÚÄÄÄÄÄÄÄÄÄÄÄ¿ º
º ÚÄÄÄÄÄÄÄÁÄÄÄ¿ µ º
º ----³ µ ³--------------- º
º ³ ³ O ³ º
º ³ ÚÄÄÄÄÄÄÄÁÄÐÄ¿ ³ º
º ³ ³ µ ³ º
º ³ ³ ÃÄÄÄÙ º
º ÀÄÄÄ´ O ³ º
º --------³ º ³------------------- º
º ³ º ³ º
º ÀÄÄÄÄÄÐÄÄÄÄÄÙ º
º º
º º
ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
º º
º DEVELOPED BY: º
º Tom Frahm º
º (c) 1991 º
º º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±± DISTRIBUTION POLICY ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
The author reserves all rights under the copyright statutes, but VC4ONE may,
at this time, be freely distributed on the condition that it is distributed
intact, with all documentation and appropriate annotation of the author's
copyright notice. No restrictions apply to its use within private business
or governmental agencies. Users must be responsible for the use of the
software's facilities.
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±± THE SOFTWARE IS DISTRIBUTED "AS-IS". The author is not ±±
±± liable for any damage caused by the use of this software.±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
In order to properly distribute this software, please observe the following
conditions:
1) Never change the Copyright statement(s).
2) Distribution must be free of charge (except for reasonable handling fee).
3) The enclosed documents must be distributed as a complete package.
4) As noted above, the author is not liable for any damage caused by the
use of this product.
5) If you distribute this software with other publications or your product,
you must include the copyright statement on the disk or on the package.
6) You cannot distribute this software with copy-protected products.
²²²² SPECIAL NOTE - "PC Magazine Utilities"
Some of the utilities mentioned/used by this system are from PC Magazine,
thus it is important that the user note the following information quoted
from that magazine:
"Please note that 'PC Magazine' utilities available on PC MagNet
can be be copied but are also copyrighted. You may make copies
for others as long as no charge is involved, but making copies
for any commercial purpose is prohibited." (pg. 393, PC Magazine,
October 29, 1991 -- Vol. 10, Number 18; "Utilities" Column)
In light of this, it seems important that I be careful of a couple of points:
1) I feel quite comfortable with passing these utilities on to you for
your use (whether via VC4ONE or directly from DOS).
2) Under no circumstances should the fee for voluntary registration of
VC4ONE be interpreted as a charge associated with these PC Mag. utilities.
They are supplied free of charge, simply as a convenience for those
wishing to evaluate VC4ONE, saving them the trouble of "shopping" for
utilities needed to enable certain functions.
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±± INTRODUCTION ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
VC4ONE is my attempt at the creation of a reliable, effective answer to the
problem faced by virtually every PC user who begins to write nontrivial
quantities of source code - in any language:
±±±± 1. The "Problem": HOW do you manage the source code??
As soon as the number of programs/modules begins to grow, and/or a given
program begins to undergo revision, all manner of problems begin to show
up.....
Even if the editor being used to make modifications creates the ever
popular '.BAK' file for the module being edited, that does no good if,
after two (2) or more edit sessions, you realize that the program has now
been 'munged' beyond hope.
± (Note - 'mung' is a recursive verb - it is defined as "to mung until
it cannot be munged any more" -- also see 'FUBAR').
How do you get back to the version that "worked" before you began to mess
with it? (what if it is 2 versions "back"....3?.....4?.....).
After trying to manually manage the situation with copying a "working"
version to a '.SAV' file... then later maybe creating a '.OLD' and/or ???
you quickly end up with sub directories filled with 'n' versions of multiple
modules/programs.
Worse yet, if you start to save '.xnn' versions manually (as I tried before
VC4ONE), where x is the first character of the module's filename extension,
and nn is a sequential number starting with 00 and going on up thru 99,
since it a MANUAL process, it is error prone... it is only a matter of time
until you "save" the current version into version 'nn', only to remember
that 'nn' had already been used... "ZAP!" you just wiped out one of the
versions you had "saved"....
Even if you manage to make such a manual system "work", you now have 'nn'
copies of all your modules on disk, taking up space and making directory
listings look like the phone book!
±±±± 2. The Proposal:
I propose a "programmers solution" -- be daring and innovative -- let the
computer do it!
That is, in essence the goal of VC4ONE. HOWEVER, at the same time my
goal was to follow the KISS method and 'Keep It Simple' to the greatest
extent possible. This attempt at simplicity stems from two equally strong
motives:
1) Inherent laziness (otherwise stated as an intense desire to
minimize unnecessary expenditure of energy).
2) "Simple" things are almost always far more RELIABLE than
"complicated" ones.
Thus the default for VC4ONE is to make use of LHarc.exe (version 1.13c
(c) Yoshi 1988-89), a copywrited "freeware" creation that is widely
available, and which has worked flawlessly for me and every user I have
spoken to about the product. VC4ONE uses this program to "maintain" the
crucial archival library where all "versions" are stored. In addition to
the reliability, this has a variety of advantages:
1) All members can reside within a single library file and thus do not
clutter up sub directories;
2) LHarc is just about the most effective compression utility around.
It may not be the fastest, but it will compress files smaller than
just about any other competitor. This means that the archive
library will take an average of only 30-40% of the space (or less)
than the versions would require "uncompressed".
3) The latest version of LHarc (now LHA) recently won the PC Magazine's
"Editors Choice" over virtually all "competitors" (PKZIP, ARC Plus,
etc.).
NOTE; One goal for the near future is to allow the user to request
use of LHA.EXE (via the configuration values of the VC4ONE.INI
file (discussed later)), in place of the LHarc.EXE default.
4) It is hard to beat a price of "free".
Of course, the way DOS manages files (always allocating a minimum sector
allocation, regardless of the files actual needs) also strongly rewards the
user of this archive/library approach since the one single file will, at
most "waste" part of the last disk allocation given it, while separate files
will tend to "waste" a similar disk allocation for each file.
For reasons quite similar to those listed above, I have attempted to use
existing utilities, etc. where ever possible. This again, has the effect
of reducing the development burden, while adding reliability and flexibility
by using "tried-and-true" proven products. Examples (in addition to LHarc):
* README.COM (or SHOW.EXE, LIST.EXE, etc.) for "browsing";
* COMPARE.COM, etc. for the comparison of two files;
±±±± 3. The SYSTEM:
As an aid to "maintain-ability" and reliability, VC4ONE was designed and
implemented as a number of separately maintained and compiled modules,
which are then linked into a single executable module. Within this
approach redundancy of code is virtually eliminated (the same function
is executed to accomplish a task, whether the mode of execution is
"command" mode or "menu" mode). At the same time, the modularization
helps to isolate the scope of changes -- effective use of local variables
and the simple fact that a change to one physical module can cause that
module to "break", but cannot "ripple" into other modules.
To make VC4ONE fit the needs of the broadest scope of users, it offers
two (2) basic "modes" of operation:
"COMMAND" Mode - Where the user invokes the program from the DOS
prompt and requests a single service from the system, using a
variety of command line switches (together with file name(s) where
appropriate) to specify the task requested.
"MENU" Mode - When invoked from the DOS prompt with no switches or
parameters, VC4ONE defaults to a "friendly" light-bar menu mode of
operation which allows the user to interactively move back and forth
from one function to another, without needing to remember switches
or to repeatedly invoke the program.
One additional concession to making the program fit the needs of the
widest audience possible -- VC4ONE is designed to allow a choice of
certain options at execution time via '.INI' initialization file(s).
1) If a "local" '.INI' file is found in the "current" sub directory,
VC4ONE will use the options specified in that file. This allows the
user to tailor VC4ONE to fit any "special" needs of modules in that
sub directory.
2) If no "local" '.INI' file is found in the "current" sub directory,
VC4ONE will look for an environment variable of 'VC4ONE', which may
be used to specify a sub directory used to hold a "global" '.INI'
file, making it possible to "customize" the system to fit the user's
requirements "once-and-for-all"
3) If no '.INI' file is "found" by VC4ONE, it will simply function
"normally" via the hard coded defaults in the program's code.
±±±± 4. The "Nuts-n-Bolts":
In its most simple "default" mode, the system expects to find its catalog
and archive files in the '\VC4ONE' sub directory.
±± - VC4ONE.CTG - The "Catalog";
The "catalog" is a rather simple ASCII "text" file (thus it may be directly
browsed, as in the '/i' Inquiry function). This file is created
automatically by the system the first time it is needed. A "header" of
sorts acts as a combination title and column "ruler" to aid the user in
visually reading and interpreting the information. Each entry in the file
represents one "member", and is structured as follows:
col 1 - Line "type" '!' indicates a "comment line" to be ignored
while ' ' (blank) indicates a normal "member" entry.
col 2 - RESERVED
col 3-14 - Base filename of member.
col 15 - First character of member's filename extension -used as
first character "qualifier" for archive "versions".
(i.e.: for a Basic program ('.BAS'), the value would be
'B' -- used to generate "versions" 'B00'-'B99' as
needed.)
col 16, 17 - Two digit version number - actual value is the value
to be used for the NEXT version generated. (i.e.: A
value of '05' indicates that versions 00-04 have been
archived already and that the next '/p' "put" request
will cause version 05 to be stored.)
col 18-37 - The "time stamp" for the moment the member was ADDED
to the VC4ONE catalog.
Format: mmm_dd_hh:mm:ss_yyyy
Where: mmm Represents the abbreviated Month
dd Represents the Day of the month
hh The Hour (24hr clock)
mm The Minute
ss The Second
yyyy The four digit year
col 38-57 - The "time stamp" for the moment the member was last
"updated" ('/u') or "put" ('/p'). (same format as
described above)
±± - VC4ONE.LZH - The "Library"/"Archive" File;
This file is maintained by LHarc.EXE, and is a compressed archive made
up of an essentially unlimited number of members. PLEASE REFER TO THE
LHARC DOCUMENTATION FOR MORE DETAILS ON THIS PROGRAM.
Please note that it is possible to perform "special" maintenance operations
on this file either directly via the LHarc command line parameters, or via
the 'SHEZ' "shell" program.
This represents a classic "two-edged-sword", in that VC4ONE is not "forced"
to automate "ALL" possible archive member maintenance operations, and can
concentrate on making the "most used" ones more "friendly", etc.
-- BUT -- it also means that the user could "damage" the archive library
by overlaying "old" versions, deleting versions, or adding "versions" with
version numbers that the catalog does not "know" about.
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² º
º ² THE USER IS CAUTIONED TO MINIMIZE/AVOID SUCH DIRECT ARCHIVE ² º
º ² MANIPULATION EXCEPT WHEN A B S O L U T E L Y NECESSARY. ² º
º ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²² º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
±± - VC4ONE.INI - The "INItialization" file;
This file is designed to contain configuration entries which allow the user
to "customize" the VC4ONE system to meet his/her specialized needs.
Basic entry structure;
col 1 - Line "type" '!' indicates a "comment line" to be ignored
while ' ' (blank) indicates a normal entry.
col 2-9 - Configuration parameter to be tailored based on user
specified information.
col 10 - MUST contain an equal sign '=' (unless the line is a
comment).
col 11-80 - New configuration parameter value (normal ASCII text).
Valid parameter "keywords";
ARCPRG - The "archival" maintenance program. With one (1) planned
exception, attempted changes to this program are IGNORED,
although the keyword is not treated as an error. (A warning
message is issued to let the user know that the default
program, LHarc.EXE is being retained as the archival program.)
The EXCEPTION? -- 'LHA.EXE' is planned to soon be accepted
as an alternative archival maintenance program.
ARCFILE - The name to be used for the archive file (may include
full path specification, if archive is not in the current
directory, etc.). Note that LHarc.EXE normally expects
the archive file extension to be '.LZH' -- it given a
different value, it will prompt for confirmation that it
should continue, or abort the process.
READPRG - The name of the program to be used for "browse" type
display/review of files -- the default is 'README.COM',
but 'SHOW.EXE' or 'LIST.EXE', should all work fine...
(just make sure the program you specify is either in the
current directory OR the DOS path).
EDITPRG - The name of the program to be used for editing of files.
The default is 'EDIT.EXE', distributed with DOS 5.0, but
such programs as TED.COM (PC Magazine), M.EXE (Microsoft),
or any other editor capable of being invoked to edit a
file from the DOS command line should be compatible.
CMPPRG - This is the parameter which allows the user to specify
a program (other than the default program 'COMPARE.COM')
which is to be used to do file/module comparisons.
PRTPRG - The name of the program to be used by the 'Write' (to
printer) function to produce hard copy listings. the
default is to use the DOS 'PRINT.COM' utility.
VCPATH - The path name for VC4ONE to use for any temporary "work"
files it needs to generate during the course of its operation.
VCCTLG - The file name to be used to access the VC4ONE catalog
(may include full path specification, if catalog is not
in the current directory, etc.).
"Sample" '.INI' File;
!---------------------------------------------------------------------------
! VC4ONE.INI -- Configuration file for testing the use of FCONFIG().
!---------------------------------------------------------------------------
ARCPRG =PKZIP.EXE
ARCFILE =c:\vc4one\VC4ONE.LZH
READPRG =SHOW.EXE
!VCCTLG =C:\TC\MISC\VC4ONE.CTG
!VCCTLG =d:\VC4ONE.CTG
VCCTLG =C:\vc4one\VC4ONE.CTG
±± NOTE - The above example illustrates the following points;
* A "header" of comments can be inserted to allow the user to identify
and/or be reminded of any "key" concepts/information.
* The 'ARCPRG' will be read and accepted by the initialization process,
but as noted earlier, it will be IGNORED at this time...
* The 'ARCFILE' specification shown here is the same as the "default"
value -- no problem with including it here for "documentation", etc..
* The first two (2) 'VCCTLG' entries are commented out, and will be
ignored (no errors or messages will be generated). Their presence
could be a means of documenting "old" catalog file names, or of
facilitating the switching back and forth from one catalog to another
(although such catalog "swapping" is NOT recommended).
* The last 'VCCTLG' is the same path/file specification as the "default"
built into the system.
* When the user wishes to simply let the default parameter values be
used, the corresponding keyword parameter value may simply be left
out of the '.INI' file -- note that 'VCPATH' does not appear in this
example, yet no errors or warnings will appear.
±± NOTE - VC4ONE's Configuration Initialization process STOPs when it finds
the FIRST 'VC4ONE.INI' file... Thus if the user wishes to alter values
globally (and thus creates the appropriate '.INI' file in the path
specified by the 'VC4ONE' environment variable) -- it will be necessary
to include those custom parameters in any "local" '.INI' files or the
system will revert to the hard coded defaults for any keywords not
specified in the "local" file. (The system will stop when it finds the
local file, and will not "look" for the global '.INI' file.
±±±±± Configuration "Confirmation" -- Please note that, as an aid to
confirming that the user's '.INI' values are being "picked up"
correctly, the VC4ONE "help" function (from the DOS command line)
displays a recap of the various parameters AFTER the defaults and/or
any '.INI' file values have been merged, etc..
(Please see the "help" section for example output.)
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
VC4ONE FROM THE DOS COMMAND LINE:
±±±±±±±±±±±±±±±±±±±±"HELP"±±±±±±±±±±±±±±±±±±±±
Entering 'VC4ONE', followed by a question mark ('?') or the word 'help' (in
either lower or upper case) will cause the program to display the "usage"
information for the command line options.........
±±±± EXAMPLE;
C:>VC4ONE ?
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
Mon Sep 16 11:58:48 1991 -- VC4ONE Version 1.4 Usage error --
correct syntax: vc4one /switch pgm.ext [pgm2.ext]
where valid switches are: abcdghilmpru
Current Switch Descriptions:
/a -- [A]dd a program/member to VC Catalog.
/b -- [B]rowse current VC Cat. entry version.
/c -- [C]ompare two files/modules.
*-> /d -- [D]elete a VC Catalog entry.
/e -- [E]dit a program or module
/g -- [G]et (for updt) cur. VC Cat. entry ver.
*-> /h -- [H]istory/delete specific entry version.
/i -- [I]nquire into member VC Catalog info.
/l -- [L]ist archived programs & versions.
/m -- [M]enu mode operation
/p -- [P]ut current (& +1 ver) VC Cat. entry.
/r -- [R]ead only get of cur. VC Cat. entry.
/u -- [U]pdate current VC Catalog entry ver.
/v -- [V]irus self-check of VC4ONE.EXE .
/w -- [W]rite a file/member to printer.
*** Only ONE (1) switch may be used at a time. ***
Current configuration/'.INI' parameter values:
-- ARCPRG: lharc.exe
-- ARCFILE: c:\vc4one\vc4one.lzh
-- READPRG: readme.com
-- EDITPRG: edit.exe
-- CMPPRG: compare.com
-- PRTPRG: print.com
-- VCPATH: c:\vc4one
-- VCCTLG: c:\vc4one\vc4one.ctg
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±± Note that the items marked '*->' are NOT implemented at this time.
±±±±±±±±±±±±±±±±±±±±"ADD"±±±±±±±±±±±±±±±±±±±±
When the user wishes to initiate archival/tracking of versions of a subject
file, the '/a' parameter is used to trigger the "saving" of the first formal
"version" in the archive file. The system will archive the base file name,
as well as version '00' - the "frozen" initial image.
±±±± EXAMPLE;
C:>vc4one /a chmodb.c
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
Entry: CHMODB.C not found. -- Member will be ADDed to Catalog.
Mon Sep 16 12:38:10 1991 -- Program: chmodb.c to be archived.
LHarc 1.13c (c) Yoshi, 1988-89
Updating archive : 'C:\VC4ONE\VC4ONE.LZH'
CHMODB.C Frozen( 48%)
1 file(s) copied
LHarc 1.13c (c) Yoshi, 1988-89
Updating archive : 'C:\VC4ONE\VC4ONE.LZH'
C:\VC4ONE\CHMODB.C00 Frozen( 48%)
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±± Note that at this moment in time, the base member file (CHMODB.C) is
identical to the archived version (CHMODB.C00), the .C00 version is
"frozen", whereas the base .C copy of the member may be "updated" as
needed (via the '/u' option) and/or new archival versions generated
(via the '/p' option) as dictated by the needs of the user.
±±±±±±±±±±±±±±±±±±±±"BROWSE"±±±±±±±±±±±±±±±±±±±±
The '/b' command option will cause VC4ONE to invoke the file browsing
utility program specified in the .INI file -- using it to allow viewing of
the member/version from within the archive file.
±±±± EXAMPLE; (This example shows the use of README.COM to browse the file.)
C:>vc4one /b vc4one.c
±±±± Produces the following screen;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ 09-16-91 12:37 LHARC.TMP ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Extract from 'C:\VC4ONE\VC4ONE.LZH' ³
³<<< VC4ONE.C >>> ³
³/* ³
³ VC4ONE.c ³
³ "Version Control" for (4) ONE person stand alone use ³
³ */ ³
³#include
³#include
³#include
³#include
³#include
³#include
³#include
³#include
³#include"pcmag.h" ³
³#include"vc4one.h" ³
³/* #include"vc4def.h" */ ³
³ ³
³ ³
³/* Version Definition for VC4ONE --- */ ³
³char *vc4one_ver = "1.2"; ³
³char *vc4one_title = "VC4ONE v1.2"; ³
³/* --------------------------------- */ ³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³Command Keys: ^v<> PgUp PgDn ESC=Exit F1=Help ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±± Note that VC4ONE supports the browsing of ANY file in the archive,
without regard to whether it is the base member or an archived version
of the base file.
±±±±±±±±±±±±±±±±±±±"COMPARE"±±±±±±±±±±±±±±±±±±±±
The '/c' compare option, when followed by two (2) file names will cause
VC4ONE to implement a comparison of the two files/modules (using the
PC Magazine utility program 'COMPARE.COM' as the default utility).
The VC4ONE system validates the two file names as follows (the same
procedure is completed for each):
1) Look for the file by treating the user specification as-is.
(This means that if the user specifies a file name containing the
full path specification, the system will verify that the file
exists at that location -- if the user specifies only a file
name and extension, VC4ONE will "look" in the current sub directory
ONLY for the file.)
2) If the file specification does not point to an existing file,
VC4ONE will then extract the 'program.ext' portion of the user's
specified file name and look at the archive file, and attempt to
extract (into a "temporary" file) a member with the file name
extracted from that specified by the user.
NOTE; "Temporary" files are created in the default '\VC4ONE'
sub directory (or the path specified by the 'VC4ONE'
environment variable, if present) in an effort to prevent
any file name conflicts, etc.
If BOTH file names are found to be valid (by either method), VC4ONE
then initiates the comparison of the two files.
Following the completion of the comparison, VC4ONE will "clean up"
after itself by erasing any "temporary" files it may have had to
create.
±±±± EXAMPLE;
C:>VC4ONE /c VC4ONE.h01 vc4one.h02
±±±± After any file extraction activity against the Archive File,
would produce the following screen;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³COMPARE 1.0 (C) 1988 Ziff Communications Co. PC Mag. þ Michael J. Mefford³
³ÍÍÍÍ͵C:\VC4ONE\VC4ONE.H01ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͳ
³void vc_catinq(); ³
³void vc_lzhlist(); ³
³ ³
³extern int getopt(int, char **, char *); ³
³extern int optind, opterr; ³
³extern char *optarg; ³
³ ³
³extern void fatal(char *, char *, int); ³
³char vc_errmsg[80]; ³
³ ³
³ÍÍÍÍ͵C:\VC4ONE\VC4ONE.H02ÆÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͳ
³void vc_catinq(); ³
³void vc_lzhlist(); ³
³ ³
³extern void vcmenfn(); ³
³extern int getopt(int, char **, char *); ³
³extern int optind, opterr; ³
³extern char *optarg; ³
³ ³
³extern void fatal(char *, char *, int); ³
³char vc_errmsg[80]; ³
³ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͳ
³Press any key for next compare Esc to Exit ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±±±±±±±±±±±±±±±±±±"EDIT"±±±±±±±±±±±±±±±±±±±±
The '/e' edit option, when followed by the file name/specification of the
"target" file will cause VC4ONE to invoke the program identified as the
current 'EDITPRG' to edit the subject file:
1) If the file specification (which may include the path specification
in addition to the file name and extension) points to an existing DOS
file, that file will be edited.
2) If no existing file is found, VC4ONE will attempt to find a catalog
entry which matches the 'filename.ext' supplied -- if found, the
member is extracted into the current sub directory, and the edit
program invoked.
3) If both of the above tests fail, VC4ONE prompts the user to confirm
that the file is, indeed, "new?". At the user's option, the system
will either cancel the edit request or proceed to invoke the editor
for the file specification supplied, assuming that the editor can
"handle" such a "new file" condition.
When the edit program returns control to the VC4ONE system, the user will
be prompted to see what action, if any, should be taken in regard to the
VC4ONE Catalog/Archive:
1) For "new" files, the user is given the option to "ADD" the file
as a member in the VC4ONE Catalog/Archive.
2) For "old" files, the user is given the option to either "UPDATE"
the member's entry, or to "PUT" the member and a new version to
the Archive, or to skip the Catalog/Archive update process.
±±±± EXAMPLE; (assuming use of TED.COM as the edit program)
C:>VC4ONE /e VC4ONE.H
±±±± Could produce the following example screen;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³/* VC4ONE.H -- header file for 1 PERSON Version Control System */ ³
³/* ³
³ */ ³
³ ³
³#define DT_STR 26 ³
³#define TBL_MAX 14 /* Max # of config parameters */ ³
³ ³
³extern void fatal(char *, char *, int); ³
³extern void vcgpname(char *, char *, char *); ³
³ ³
³/* char *vc_path = "c:\\vc4one\\"; */ ³
³char ARCPRG[13]; ³
³char ARCFILE[MAXPATH]; ³
³char READPRG[13]; ³
³char EDITPRG[13]; ³
³char CMPPRG[13]; ³
³char PRTPRG[13]; ³
³char VCINI[MAXPATH]; ³
³char VCPATH[MAXPATH]; ³
³char VCCTLG[MAXPATH]; ³
³ ³
³/* --------------------------------------------------------------------- */³
³/* this is the record "format" for the VC Catalog entries */ ³
³char crecfmt[] = {"%c%c%12c%c%2c%20.20s%21.21s"}; ³
³F1ABORT F2UNDO F3PRNT F4MARK F5CUT F6PASTE F7EXIT F8DELEOL F9DELL F10UDELL ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±±±±±±±±±±±±±±±±±±"UPDATE"±±±±±±±±±±±±±±±±±±±±
Use of the '/u' option, OR specifying a file name with NO options will cause
VC4ONE to execute the default function of updating only the current version
of the base file specified.
±±±± EXAMPLE;
C:>VC4ONE VC4ONE.C
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
VC4ONE.C Found in vc4one Catalog.
Mon Sep 16 11:59:24 1991 -- Program: VC4ONE.C to be archived.
LHarc 1.13c (c) Yoshi, 1988-89
Updating archive : 'C:\VC4ONE\VC4ONE.LZH'
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±± Note that the primary source code file VC4ONE.C was updated in the
archive, but no other action is taken by the system.
±±±±±±±±±±±±±±±±±±±±"PUT"±±±±±±±±±±±±±±±±±±±±
When the alterations and/or successful testing of a given version of the
subject file warrant the "saving" of a formal "version" in the archive file,
the '/p' parameter is used...
±±±± EXAMPLE;
C:>vc4one /p vcmenfn.c
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
VCMENFN.C Found in vc4one Catalog.
Mon Sep 16 12:00:08 1991 -- Program: vcmenfn.c to be archived.
LHarc 1.13c (c) Yoshi, 1988-89
Updating archive : 'C:\VC4ONE\VC4ONE.LZH'
1 file(s) copied
LHarc 1.13c (c) Yoshi, 1988-89
Updating archive : 'C:\VC4ONE\VC4ONE.LZH'
C:\VC4ONE\VCMENFN.C05 Frozen( 28%)
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±± Note that in this case, the base file of 'VCMENFN.C' was updated
(similar to the '/u' function), but also the 'VCMENFN.C05' entry
was added to the archive -- this represents the fifth time
this program has been "put" back to the VC4ONE system.
±±±±±±±±±±±±±±±±±±±±Catalog "INQUIRY"±±±±±±±±±±±±±±±±±±±±
The '/i' command option will cause VC4ONE to invoke the file browsing
utility program specified in the .INI file -- using it to allow viewing of
the Catalog:
±±±± EXAMPLE; (This example shows the use of SHOW.EXE to browse the file.)
C:>vc4one /i
±±±± Could produce the following example screen;
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³ Line: 1 File: VC4ONE.CTG Quit: ESC Move: ^ v PGUP PGDN HOME END³
ÃÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´
³!--------------------------------------------------------------------! ³
³!--------------- This is the VC4ONE Catalog File --------------------! ³
³!--------------------------------------------------------------------! ³
³! 1 2 3 4 5 6 7 ³
³!234567890123456789012345678901234567890123456789012345678901234567890 ³
³!--------+---------+---------+---------+---------+---------+---------! ³
³ VC4ONE.C C12Aug 20 14:54:06 1991Sep 16 11:59:24 1991 ³
³ VC4ONE.H H04Aug 20 14:54:33 1991Sep 13 07:56:58 1991 ³
³ RECONFIG.C C02Aug 20 14:55:00 1991Aug 20 14:57:12 1991 ³
³ VCMENFN.C C06Aug 23 11:18:13 1991Sep 16 12:00:08 1991 ³
³ VC4VER.H H01Aug 23 11:19:10 1991Aug 23 11:19:10 1991 ³
³ VCGPNAME.C C03Sep 04 07:43:41 1991Sep 04 10:19:45 1991 ³
³ VCGETOPT.C C01Sep 04 10:20:56 1991Sep 04 10:20:56 1991 ³
³ RCVIDEO.H H01Sep 05 07:21:39 1991Sep 05 09:08:41 1991 ³
³ VC4MSG.H H01Sep 11 07:13:35 1991Sep 11 07:13:35 1991 ³
³ VC4DEF.H H01Sep 11 07:33:43 1991Sep 11 07:33:43 1991 ³
³ VC_GCNF.C C01Sep 11 13:24:51 1991Sep 11 13:42:26 1991 ³
³ FCONFIG.C C01Sep 12 08:16:54 1991Sep 12 08:50:42 1991 ³
³ VC_NUCTG.C C01Sep 13 07:57:36 1991Sep 13 07:57:36 1991 ³
³ TSTVCCFG.C C01Sep 13 09:20:32 1991Sep 13 09:20:32 1991 ³
³ TSTVCGPN.C C01Sep 13 09:21:23 1991Sep 13 09:21:23 1991 ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±±±±±±±±±±±±±±±±±±Archive File "LIST"±±±±±±±±±±±±±±±±±±±±
±±±±EXAMPLE;
C:>vc4one /l
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
LHarc 1.13c (c) Yoshi, 1988-89
Listing of archive : 'C:\VC4ONE\VC4ONE.LZH'
Name Original Packed Ratio Date Time Attr Type CRC
-------------- -------- -------- ------ -------- -------- ---- ----- ----
FCONFIG.C 813 440 54.1% 91-09-09 7:46:30 a--w -lh1- 6F2C
FCONFIG.C00 813 440 54.1% 91-09-09 7:46:30 a--w -lh1- 6F2C
RCVIDEO.H 1187 466 39.3% 90-12-09 23:26:20 a--w -lh1- 59D6
RCVIDEO.H00 1187 466 39.3% 90-12-09 23:26:20 a--w -lh1- 59D6
RECONFIG.C 24639 6584 26.7% 91-08-07 8:04:48 a--w -lh1- F0C5
RECONFIG.C00 24639 6584 26.7% 91-08-07 8:04:48 a--w -lh1- F0C5
RECONFIG.C01 24639 6584 26.7% 91-08-07 8:04:48 a--w -lh1- F0C5
TSTVCCFG.C 1608 721 44.8% 91-09-11 10:01:38 a--w -lh1- 1BB2
TSTVCCFG.C00 1608 721 44.8% 91-09-11 10:01:38 a--w -lh1- 1BB2
TSTVCGPN.C 1064 406 38.2% 91-08-15 13:50:56 a--w -lh1- DBD1
TSTVCGPN.C00 1064 406 38.2% 91-08-15 13:50:56 a--w -lh1- DBD1
VC4DEF.H 311 200 64.3% 91-08-23 13:22:00 a--w -lh1- 3573
VC4DEF.H00 311 200 64.3% 91-08-23 13:22:00 a--w -lh1- 3573
VC4MSG.H 694 298 42.9% 91-09-05 9:57:26 a--w -lh1- 0FB4
VC4MSG.H00 694 298 42.9% 91-09-05 9:57:26 a--w -lh1- 0FB4
VC4ONE.C 13629 4254 31.2% 91-09-13 9:24:56 a--w -lh1- 8390
VC4ONE.C00 9887 3258 33.0% 91-08-20 14:51:52 a--w -lh1- DD7B
VC4ONE.C01 9887 3258 33.0% 91-08-20 14:51:52 a--w -lh1- DD7B
VC4ONE.C02 9887 3258 33.0% 91-08-20 14:51:52 a--w -lh1- DD7B
VC4ONE.C03 9988 3242 32.5% 91-08-21 12:38:36 a--w -lh1- 523B
VC4ONE.C04 10337 3289 31.8% 91-08-21 12:45:56 a--w -lh1- 4FDE
VC4ONE.C05 10339 3287 31.8% 91-08-21 12:49:52 a--w -lh1- 11E2
VC4ONE.C06 11006 3435 31.2% 91-08-21 13:33:46 a--w -lh1- 6D99
VC4ONE.C07 11082 3486 31.5% 91-08-23 10:57:56 a--w -lh1- B0C2
VC4ONE.C08 13201 4079 30.9% 91-09-11 12:32:28 a--w -lh1- BA25
VC4ONE.C09 13281 4099 30.9% 91-09-11 13:43:50 a--w -lh1- E277
VC4ONE.C10 13120 4030 30.7% 91-09-11 13:47:20 a--w -lh1- BA00
VC4ONE.C11 13629 4254 31.2% 91-09-13 9:24:56 a--w -lh1- 8390
VC4ONE.H 1686 737 43.7% 91-09-11 12:38:36 a--w -lh1- 268F
VC4ONE.H00 1468 670 45.6% 91-08-20 14:36:20 a--w -lh1- CE82
VC4ONE.H01 1597 717 44.9% 91-08-21 13:15:24 a--w -lh1- CC84
VC4ONE.H02 1621 722 44.5% 91-08-23 10:08:44 a--w -lh1- D994
VC4ONE.H03 1686 737 43.7% 91-09-11 12:38:36 a--w -lh1- 268F
VC4VER.H 196 101 51.5% 91-08-23 11:15:00 a--w -lh1- 19E1
VC4VER.H00 196 101 51.5% 91-08-23 11:15:00 a--w -lh1- 19E1
VCGETOPT.C 4041 1852 45.8% 91-08-13 7:10:22 a--w -lh1- 3A52
VCGETOPT.C00 4041 1852 45.8% 91-08-13 7:10:22 a--w -lh1- 3A52
VCGPNAME.C 1219 578 47.4% 91-09-03 13:25:18 a--w -lh1- 2EBE
VCGPNAME.C01 1219 578 47.4% 91-09-03 13:25:18 a--w -lh1- 2EBE
VCGPNAME.C02 1219 578 47.4% 91-09-03 13:25:18 a--w -lh1- 2EBE
VCMENFN.C 18373 5280 28.7% 91-09-13 9:14:04 a--w -lh1- 2EFE
VCMENFN.C00 15632 4785 30.6% 91-08-23 11:16:48 a--w -lh1- BF04
VCMENFN.C01 14741 4706 31.9% 91-09-03 13:36:12 a--w -lh1- 1C45
VCMENFN.C02 16288 4976 30.6% 91-09-04 8:17:50 a--w -lh1- A7AD
VCMENFN.C03 16893 4970 29.4% 91-09-04 9:53:04 a--w -lh1- 2925
VCMENFN.C04 18373 5280 28.7% 91-09-13 9:14:04 a--w -lh1- 2EFE
VCMENFN.C05 18373 5280 28.7% 91-09-13 9:14:04 a--w -lh1- 2EFE
VC_GCNF.C 4004 1597 39.9% 91-09-11 13:22:38 a--w -lh1- 5AB7
VC_GCNF.C00 4004 1597 39.9% 91-09-11 13:22:38 a--w -lh1- 5AB7
VC_NUCTG.C 1826 711 38.9% 91-09-13 7:51:26 a--w -lh1- E13D
VC_NUCTG.C00 1826 711 38.9% 91-09-13 7:51:26 a--w -lh1- E13D
-------------- -------- -------- ------ -------- --------
51 files 385066 121159 31.5% 91-09-16 12:00:24
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±± NOTE - is is possible to limit the scope of such an archive file
list. If the '/l' command line switch is accompanied by a file
name or 'file spec' (may include wild cards, etc.) that parameter
will be used to qualify the list.
Thus:
c:>VC4ONE /l *.H
Would cause a list to be produced of all the '.h' header files
in the archive.
And:
c:>VC4ONE /l reconfig.c*
Would cause a list to be produced of the base '.c' module, together
with any/all '.c00'-'.c99' "versions" in the archive.
±±±±±±±±±±±±±±±±±±±±"Virus" Self-Check±±±±±±±±±±±±±±±±±±±±
As an "ounce of prevention", VC4ONE is now (since version 1.6) capable of
doing a self-check of its '.EXE' executable module. This test is done by
means of CYCLIC REDUNDANCY CHECKING (CRC). After compilation and before
distribution, the module is "patched" with CRC values for itself. At any
time after that, the user may use the '/v' switch (only available from the
DOS command line) to have VC4ONE verify the integrity of its own module.
As a means of error detection, cyclic redundancy checking is statistically
more reliable than check sum and/or parity checking methods.
Using a 16-bit CRC value as this program does, only an insignificant
fraction of errors can possibly slip through. Thus, it is virtually
impossible for a virus to alter the program's code or data in such a way
that the CRC check could be fooled.
±± "Credit-Where-Credit-is-Due": The virus self-check function is
implemented using concepts and code fragments originally found
in the August 1989 PC Magazine -"Languages" section. Editors
Tony Rizzo and Jeff Prosise collaborated with Michael Caprio on
PATCH.C and NOVIRUS.C to illustrate the procedures and techniques
for doing this sort of self-check.
±±±±EXAMPLE;
C:>vc4one /v
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
Configuration file: 'vc4one.ini' was found by FCONFIG().
Warning: 'ARCPRG' config. option ignored.
-- VC4ONE will now perform a self-test to check
for possible infection by a virus.
Executable is unaltered
ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ
±±±±±±±±±±±±±±±±±"WRITE"(to Printer)±±±±±±±±±±±
The '/w' command option will cause VC4ONE to invoke the file printing
utility program specified in the .INI file (identified as 'PRTPRG' -- using
it to allow producing hard copy listings of the member/version from within
the archive file. The file specification is evaluated as follows:
1) If the file specification (which may include the path specification
in addition to the file name and extension) points to an existing DOS
file, that file will be printed.
2) If no existing file is found, VC4ONE will attempt to find a catalog
entry which matches the 'filename.ext' supplied -- if found, the
member is extracted, the print utility invoked, and the temporary
extract file is erased.
3) If no catalog entry matches the 'filename.ext' supplied, VC4ONE will
"look" for a matching "version" in the archive file -- if found, the
version is extracted, the print utility invoked, and the temporary
extract file is erased.
±±±± EXAMPLE;
C:>vc4one /w vc4one.c
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±± VC4ONE -- "MENU MODE" ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
Entering 'VC4ONE' at the DOS prompt, either with the '/m' switch, or with
no switches or parameters, will cause the system to enter "menu mode"
operation, where the user may interactively invoke functions without
leaving the system.
±±±±±±±±±±±± CURRENT "MAIN MENU SCREEN & OPTIONS":
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³VC4ONE Ver. Control Sys. ³
³°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°³
³ ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
³ V1.9 Þ± Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Þ± Þ±Þ± Þ±Þ± Þ± Þ± Þ±Þ±± Þ± Þ± ³
³ Þ±Þ± Þ± Þ±±±±±Þ± Þ±Þ±Þ±Þ± Þ±±±± ³
³ Þ±Þ± Þ± Þ± Þ± Þ± Þ±Þ± Þ±± Þ± ³
³ Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Version Control for One-Programmer Projects ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
³ ³
³ ³
³ ³
³ Add_M Browse Comp Edit Get_M Inq_C ListA Put_M Shell Upd_M Write Quit³
³ ³
³ ³
³ [A]dd Program to VC4ONE Catalog ³
³ ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±± Current Functions/Options;
" Add_M "..........."[A]dd Member to VC4ONE Catalog "
" Browse "..........."[B]rowse current Catalog Version "
" Comp "..........."[C]ompare two programs or modules "
" Edit "..........."[E]dit program or module "
" Get_M "..........."[G]et Member from VC4ONE Archive "
" Inq_C "..........."[I]nquire into Catalog Member Info "
" ListA "..........."[L]ist Archived Modules & Versions "
" Put_M "..........."[P]ut Changed Mem back to Catalog "
" Shell "..........."[S]hell out to MS/PC DOS "
" Upd_M "..........."[U]pd VC4ONE Catalog Member "
" Write "..........."[W]rite file or member to printer "
" Quit "..........."[Q]uit VC4ONE Menu Mode Program "
±±±± VC4ONE MENU FUNCTIONS: ±±±±±±±±±±±±±±±±±±±±
Each option available on the menu (except for the 'Exit' function) is
designed to accomplish exactly the same process as that achieved via the
corresponding DOS command line switches, as described under "command
mode" use.
For example, the 'AddMem' option (selected by pressing the 'a'
key on the key board -or- using the left/right arrow keys to
move the highlight block to the option on the light-bar menu
and then pressing
command line '/a' switch.
For any menu option which requires the user to specify a file name, the
right half of the top screen line is used to prompt the user for the
file name and to allow entry of the file name with rudimentary editing
capabilities.
±± Example: (Input area indicated by '²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²')
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³C4ONE Ver. Control Sys. File: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²³
³°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°³
³ ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
For the 'Compare' option, the user will be prompted twice, one for the
file spec of the first file to be used in the compare:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³C4ONE Ver. Control Sys. File1: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²³
³°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°³
³ ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
And then again, for the second file spec:
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³C4ONE Ver. Control Sys. File2: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²³
³°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°³
³ ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
The second line of the screen is displayed in what amounts to "reversed
video" - showing as a white bar across the screen under normal
circumstances).. shown above as a line of '°°°' characters. In the event of
errors, this line will be used to display warning or error messages to the
user.
In some cases, this line is also used to simply display informational or
"status" messages for the user. Below is an example of how this "status"
line is used in conjunction with a menu function -- in this case, the
user selected 'GetMem' from the menu, and then entered 'fconfig.c' when
prompted for the file name. The system uses the status line to remind the
user of the current status -- namely, that a 'GET' request has been made
for 'fconfig.c'. This status line then aids the user in determining which
"pop-up menu" response is appropriate. (In this case, for a 'GET' of the
subject file, does the user with to have the extracted file marked READ
ONLY or left with "normal" attributes.
ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
³VC4ONE Ver. Control Sys. ³
³ About to execute 'GET' function for: fconfig.c ³
³ ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
³ V1.9 Þ± Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Þ± Þ±Þ± Þ±Þ± Þ± Þ± Þ±Þ±± Þ± Þ± ³
³ Þ±Þ± Þ± Þ±±±±±Þ± Þ±Þ±Þ±Þ± Þ±±±± ³
³ Þ±Þ± Þ± Þ± Þ± Þ± Þ±Þ± Þ±± Þ± ³
³ Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Version Control for One-Programmer Projects ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
³ ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» ³
³ ºY - Yes, make file READONLY º ³
³ ºN - No, make file NORMAL º ³
³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ ³
³ Add_M Browse Comp Edit Get_M Inq_C ListA Put_M Shell Upd_M Write Quit³
³ ³
³ ³
³ [G]et Pgm from VC4ONE Catalog ³
ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
±±±± "Quit" Function.... ±±±±±±±±±±±±±±±±±±±±±±±±
This function, which may be invoked by entering the letter 'Q' (or 'q') from
the menu screen ( or by pressing the
simply exits the VC4ONE system, returning the user to the operating system.
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² THE PRIMARY VC4ONE "MENU" -- "HOW-IT-WORKS": ²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
The module which supports the "menu mode" operations is actually a fairly
generic light-bar menu module, with the following functions/processes;
1. Saves the current screen and cursor configuration information.
2. Clears the screen.
3. Loops (until the EXIT function is called) through the
following menu activities:
(1) Displays the menu items (highlights current selection).
(2) Displays the description of the highlighted selection.
(3) Gets a key from the user (adjusts for non-ascii keys).
(4) Takes the appropriate actions for;
(5) Pressing the key which corresponds to the first character
of a menu item will select and invoke that item.
* NOTE: The last menu item is automatically assumed to be the EXIT
item and the menu returns to the operating system when that
is selected/executed.
What this translates into is that, for the user, any item may be selected by
using the
the "block" highlighting one of the options on the menu.....
As the "block" is moved, the appropriate brief description of the item is
displayed just below the menu itself.......
To Recap: An item on the menu may be selected by one of the following;
1. Moving the "block" to highlight the item, then pressing
2. Pressing the key which corresponds to the first letter of the item.
(...press the 'E' key to exit, for example.....)
3. A special key is the
name implies.... from the main menu, this will return the user to the
standard DOS prompt, ending the execution of the program.....
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º GENERAL FUNCTIONS OF THE "POP-UP MENUS": º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
1. Saves the current screen and cursor configuration information.
2. "Pops-UP" to display available selections.
3. Loops (until the EXIT function is called) through the
following menu activities:
(1) Displays the menu items (highlights current selection).
(2) Gets a key from the user (adjusts for non-ascii keys).
(3) Takes the appropriate actions for;
(4) Pressing the key which corresponds to the HIGHLIGHTED character
of a menu item will select and invoke that item.
4. "Disappears" by restoring the portion of the screen "covered" by the
menu when it "popped up".
What this translates into is that, for the user, any item may be selected
by using the
lighting one of the options on the menu.....
To Recap: An item on the menu may be selected by one of the following;
1. Moving the "block" to highlight the item, then pressing
2. Pressing the key which corresponds to the HIGHLIGHTED letter of the item.
(...press the 'E' key to exit, for example.....)
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² INSTALLATION ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
We have developed and tested a process which makes the installation of the
VC4ONE package as "painless" as possible.....
A "Customer Installation" diskette is created for distribution to those
interested in using the VC4ONE package to create their own "custom"
versions of the generic package. This diskette contains 'VC4ONE.EXE' and
a self-extracting version of LHarc version 1.13c...
Assuming the user already has LHarc.EXE on his/her machine, the actual
install will simply involve:
1) Copying 'VC4ONE.EXE' to a sub directory which is included in the DOS
path statement.....
2) Create the VC4ONE sub directory (simply type 'MD\VC4ONE
the DOS prompt).
If necessary, LHarc.EXE may be installed by simply making the desired
sub directory "current" and then executing LH113C.EXE from the "install"
diskette: (C:>a:LH113C
together with its documentation file, etc..
Following the successful installation, the user may immediately begin
to use the modules to create applications.
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² APPENDIX -- BROWSE.COM Documentation: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
BROWSE.COM
Charles Petzold (c) PC Magazine
(from PC Magazine Utilities, Volume 1)
Purpose: Permits scrolling forward and backward throughout a file without
use of a word processing program.
Format: BROWSE [d:][path]filename[.ext] [/W]
Remarks: The DOS TYPE command does not permit you to scroll ahead or go
back to previously displayed material in a file. It also exits at the first
instance of Ctrl-Z (ASCII 26, conventionally used as an End-of-File marker),
making it impossible to scan binary (e.g. .COM) files for error messages,
copyright notices, and the like.
BROWSE.COM overcomes these shortcomings, giving you the chance to go
immediately to the top or to the end of a file (the Home and End keys,
respectively), to the succeeding or previous screen (PgUp and PgDn), or to
move up or down a line at a time (Up Arrow or Down Arrow). To return to
DOS, simply press the Escape key or Ctrl-Break.
Wide displays, e.g. a spreadsheet file, are not broken at 80 columns, as
with TYPE. BROWSE ignores carriage returns (ASCII 13), breaking lines only
on line feeds (ASCII 10). The Right Arrow key scrolls the display to the
right in eight-character increments (see Note 3 below) to view wide
displays; the Left Arrow key returns you immediately to column zero.
BROWSE expands tab characters (ASCII 9) to the next eight-character
boundary, but does no other character processing unless the /W
parameter is specified. Use of the /W option permits using BROWSE \
with WordStar files.
Notes:
1. BROWSE can run under TopView or Windows; specify "writes directly to
screen" in the .PIF and use the default 52K memory requirement.
(The program actually requires only approximately 33K to run.)
For the TopView PIF, specify that the program intercepts Interrupt 23h.
2. BROWSE is compatible with the IBM monochrome, CGA, and EGA displays,
and will even run in the EGA 43-line mod Files prepared with
word-processors that employ a one-line-per-paragraph format (such as
Microsoft Word and XyWrite) but may require excessive right scrolling,
however.
3. BROWSE.COM can be patched with DEBUG so that its right-scroll jumps by
more than the default eight characters. The address to patch is 10F in
the .COM file. After entering DEBUG BROWSE.COM type
E 10F
and the default value (08h) will appear. Type the desired hexadecimal
number (28 for a 40-column increment; 50 for an 80-column increment)
and press
to quit DEBUG.
4. Requires DOS 2.0 or later.
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² APPENDIX -- COMPARE.COM Documentation: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
COMPARE.COM
Michael J. Mefford (c) PC Magazine: 1988 No. 11
(Utilities)
Purpose: Displays the differences between two text or two
binary files. Files need not be the same length, and paragraph reformatting changes introduced by word wrap are ignored.
Format: COMPARE filespec filespec[/B][/W]
Remarks: COMPARE's default assumption is that the filenames designated in
filespec are to be compared as ASCII text files. Formatting commands
embedded by word processing programs are reproduced on screen but are not
acted upon. Files in which the "high bit" is set (such as those produced by
WordStar's document mode) can be made displayable in ASCII by entering the
optional /W on the command line.
Files are displayed in two on-screen windows. Differences are shown
in inverse video, and are preceded by several lines of matching text to
provide a context. When the windows are filled, pressing any key continues
to search for differences; pressing Esc returns the user to DOS. All
character modes, but no graphics modes, are supported.
Files with .COM or .EXE extensions are automatically displayed in
COMPARE's binary mode, which is similar to that produced by DEBUG.COM.
Unlike DEBUG, however, COMPARE uses the IBM/ASCII symbol set rather than
periods to show non-alphanumeric characters, and its segment offset begins
at zero rather than at 100h. Any file can be compared in binary mode by
adding the optional /B switch on the command line.
Note: When COMPARE finds a difference between files it searches ahead up to
400 bytes (the reach value) for a string of 10 (excluding spaces) successive
matching characters (the sequence value). DEBUG.COM can be used to change
the reach and search values on a copy of COMPARE.COM thus:
DEBUG COMPARE.COM
E 6ED cd ab
E 6F5 cd ab
E 6F9 gh ef
W
Q
where abcd is the reach value, in hex (default 0190h) and efgh is the
sequence value (default 000Ah).
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² APPENDIX -- TED.COM Documentation: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
TED.COM
Command
Tom Kihlken (c) PC Magazine: 1988 No. 19
(Utilities)
Purpose: A small, full-screen editor for line-oriented files of up to
64K in length that supports scrolling, cut, copy, paste, and printing
operations, and permits entry of all members of the IBM character set.
Format: TED [filespec]
Remarks: TED will open and read a file whose name (and path, if
required) are supplied initially. If no filespec is provided it will open a
new file and prompt for a filename when the Save and Exit command (F7) is
given. The original of a modified file is saved with a .BAK extension. The
Abort command (F1), when verified, abandons any modifications and leaves the
original file intact.
Lines may be of any length, and each must be terminated by pressing
Enter. Lines longer than the screen width display a diamond in the right
most column. Off screen characters (up to 248 columns) may be viewed by
using the Ctrl-
point, and may be joined by pressing Delete at the line end.
A block of text is defined by toggling on the Mark command (F4) and
moving the cursor with the arrow keys. The Marked area is shown in inverse
video. Pressing F3 prints the blocked text; F5 (Cut) removes it to a buffer
from which it can be Pasted (F6) at any point where the cursor is located.
The paste buffer remains intact until another section is marked and cut.
Pressing F8 deletes to the end of a line; F9 deletes the entire line.
F10 restores the most recent deletion of F8 or F9. The Undo command (F2)
restores letters deleted by the Delete (but not by the Backspace) key if the
cursor has not been moved.
The Home and End keys move the cursor to the beginning and end of the
current screen line; the Tab key moves to the next column evenly divisible by
eight. Text is entered in Insert mode by default; pressing the Insert key
toggles to overstrike mode. TED configures itself to the display in use and
supports EGA and VGA text modes other than the standard 80 columns by 25 rows.
PgUp and PgDn scroll the file by the number of rows displayed, minus 5.
Ctrl-PgUp and Ctrl-PgDn move to the top and bottom of the file.
Any character in the IBM set can be entered by pressing the Alt key,
typing its ASCII value on the numeric key pad, then releasing the Alt key.
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² APPENDIX -- PGLIST.EXE Documentation: ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
PGLIST.DOC
----------------------------------------------------------------------------
This program produces "formatted" listings of ASCII text files, with a
standardized "header" at the top of the page, showing the file name,
date and time of last update (as reported by DOS), and the sequential page
number.
Usage Format:
PGLIST [d:][path\]filename.ext [/C] [/M] [/S] [/L] [/Tn]
(Items in square brackets are OPTIONAL)
Switches: '/c' -- [C]ompressed Print
'/m' -- Create a 3-position Left [M]argin
'/s' -- Direct Print to [S]erial Port (COM1)
'/l' -- Print "[L]ong" Pages (8 lines/inch)
'/Tn' -- Expand [T]abs to 'n' spaces
NOTE: [/C] "switch" assumes "EPSON" Compatible device.
NOTE: [/S] and [/L] "switches" assume HP LaserJet as target device.
----------------------------------------------------------------------------
"Credit-Where-Credit-Is-Due": This program is "mine", yet I hesitate to
claim any "copyrights".... As anyone who is involved with programming
knows, unless you are what the industry terms a "virgin programmer" (such
as those used to create "clone" BIOS software, etc.), you tend to be
influenced by code others have written.
In this case - a relatively simple ASCII text printing program - there
are, after all, only so many ways to code such a program. Having worked
with, and "seen" source code for a number of similar programs written by
others, I wish to simply note the key programs which may have influenced
THIS program's concepts:
** LIST.ASM -- By Ray Duncan ("Advanced MS-Dos")
** QPRINT.ASM -- By Debra L Cooper ("Soft Sector Magazine", August 1987)
** LASERLST.ASM -- By Michael Holmes and Bob Flanders ("PC Magazine",
"Utilities" column, April 11, 1989)
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²² APPENDIX -- LHarc User's Manual Information: ²²²²²²²²²²²²²²²²²²²²²²²²²²
²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
"CURRENT" "official" LHarc Manual:
------------------------------------------------------------------------
User's Manual for High-Performance File-Compression Program
LHarc Version 1.13c
05/31/89
Copyright (c) Haruyasu Yoshizaki (Yoshi), 1988-89
Nifty Serve PFF00253
ASCII PCS pcs02846
------------------------------------------------------------------------
ÉÍÍÍ END of VC4ONE.DOC ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º º
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
³ V1.2 Þ± Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Þ± Þ±Þ± Þ±Þ± Þ± Þ± Þ±Þ±± Þ± Þ± ³
³ Þ±Þ± Þ± Þ±±±±±Þ± Þ±Þ±Þ±Þ± Þ±±±± ³
³ Þ±Þ± Þ± Þ± Þ± Þ± Þ±Þ± Þ±± Þ± ³
³ Þ± Þ±±± Þ± Þ±±± Þ± Þ± Þ±±±±± ³
³ Version Control for One-Programmer Projects ³
³ ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ³
º º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/