PPWIZARD is a free preprocessor for HTML, REXX, Visual Basic or any text files.
Change History
Please note that my version numbers are of the format "YY.DDD" where "YY" represents the year and "DDD" is the day of the year (1-366).
While this format does not let you know of the magnitude of any changes (my change history shows this) it does make it simple to know the "age" of a release.
Please let me know of any bugs or issues and do not assume that someone else has reported it.
I have fixed all known bugs/issues.
The very fact that you are having a problem means that I probably
do not know of it!
In rare cases I do get snowed under and forget things, in this case
remind me!
- Version "Next Release"
- You tell me, feedback please!
Have you ever looked at a product and said
"Wouldn't it be nice if ...", well get on your backside
and send an email, make it so!
I'm not always right and believe it or not I don't mind being told so.
- Your idea here :-).
- Version 01.152
- Fixed bug in
Multi line
import record filter where a EOF "command" to ignore the
rest of the database was being ignored.
- Version 01.135
- The "*expires" dependancy cmd
has been much improved.
- New TimeStamp() routine.
- Improved PPWIZARD Command line
so that you can now use a number of characters to quote filenames
or switches that may contain spaces (not just double quotes
which for example don't always work under Windows/Regina).
- Oops, accidentally disabled custom installs under Windows.
- The "right click" build options would fail in Windows NT/2000
if the directory or filename contained spaces (this was not an
issue under Windows 95/98/ME).
- Version 01.129
- A new dependancy type of "TODAY" added to "#DependsOn"
command.
- The #{ command would fail if used within a
macro which expanded during #OnExit
processing (could not locate end of loop).
- Version 01.120
- Fixed call to "OptionSetValue" around line 9930 which would
fail under OS/2 using OREXX.
- Version 01.112
- Major improvement to "#OnExit" command.
- Windows Install updated.
- Version 01.102
- Version 01.091
- New #( &
#) commands.
These are replacements for #OneLine & #OneLineEnd (although these
will continue to exist - at least for a while).
- New MakeWebLinks() routine to simplify
processing of http & ftp addresses.
- New QueryExists() routine to
simplify checking file existence (getting full path).
- Default of previous error file being deleted was
not working correctly.
- Minor change to UrlEncode().
- Version 01.083
- New $$RXEXEC "$$" macro command
which allows rexx code to be directly executed without requiring
the usual annoying "linking" #evaluate command.
- New BD2DATE() routine and the
BaseDate() routine was rewritten
(no bug just better code).
- New AddTempFileToDependancyList() routine
which allows you to indicate temporary files which should be ignored
by PPWIZARD.
The #DependsOn command also updated.
- New "<?PpwizardAuthorBaseWebDir>"
- In "quiet" mode PPWIZARD no longer displays overall summary when
no files were made.
- You may need to modify your source, see following issues:
- The change above for the $$RXEXEC command required me to
alter how "$$" macro commands
are handled.
The exact mechanism was not documented before so if you
were relying on the action taking place BEFORE parameter
subtitution then you should note that it now occurs AFTER!
It is probably more "right" now.
If you think it might be wise to allow for both let me know.
- Version 01.072
- New "GetDependancyInfo()" routine allows
you to access input and output file dependancy information.
- "#NextId" command tweeked so that value is
only incremented if it was actually used.
- New /Making switch.
- You can now comment out items on the command line to aid in
testing.
- Minor change to fix ppwizard name in Copyright banner on non
OS/2 systems.
- Version 01.059
- Fixed a bug preventing ppwizard running on OS/2 (native rexx).
OS/2 problem probably introduced in the 01.036 version.
Root cause probably earlier, self corrected but code now
modified so can't happen again.
- Changed "$trace" code generation so that it should now never
produce invalid rexx or ppwizard code.
This mainly affects blocks of rexx code that also expanded other
macros or complex parameters.
- Version 01.049
- By default PPWIZARD now deletes generated files if an error occurs.
You can control this via the new /DeleteOnError
switch.
- Command line switches can now start
with either '-' or '/' in all operating systems.
- When '-' used on /DependsOn switch, the copyright
will not display unless there is work to do (ie ppwizard is quiet).
- New option to not strip leading spaces from the value in
a Multi Line import.
- Added option which allows you to disable PASS2 processing on
#import.
- Version 01.036
- Fixed bug in "_SysFileDelete()", it would
not correctly delete a file containing spaces in all operating
systems except OS/2.
This would sometimes have prevented an output file being built
where the directory or file components contained spaces.
- New "MustDeleteFile()" routine.
- New "#option" of ParmVal.
- New "OptionGet()" and
"OptionSet()" routines.
- Version 01.029
- Fixed up glitch with OS/2 install batch file.
- Updated doco for #import SQL
to show how you can access Excel Spreadsheets and text based
databases such as command seperated value files.
- Added an example of how
bar or pie charts can be
automatically created under Windows and saved as "GIF" or "JPG".
- You may need to modify your source, see following issues:
- The "Die When Unused Parms"
validation had a minor bug and has now been enhanced,
a number is no longer accepted.
- Version 01.022
- 01.013
- While you could always perform SQL imports
directly with rexx code,
I have now simplified the process by updating the
#import
command making it very simple to perform imports of SQL data
from MS Access etc.
Other minor import tweeks.
- New ErrorSQL() routine to
dump information on SQL errors.
- New SetXCode() routine makes it easier
to make a large number of definitions.
- 01.007
- New "Die When Unused Parms"
macro validation.
- The "Expand All Unused Parameters"
tag no longer marks parameters as being used.
Also note there is now also a tag which will reset "used" state.
- Fixed and enhanced "expand all macro parameters as rexx code".
- More tweeking of Windows install package.
The "PPWW32.ZIP" download now simply wraps the "EXE", the ZIP file
exists only to cater for the many sites that point to it.
There is now a simple debug option as well as a "no setup" option.
- 01.002
- Added a Wise Installer OLE automation
example which allows you to generate MSI (Windows Installer) packages
via a simple "user friendly" script.
VbScript (no knowledge of this language is required) is generated
which is then executed from the command line or make files to
generate the MSI (and WSI) files.
- Fixed bug in /ConsoleFile switch and improved
logic a bit.
- Changed FindFileInPath() routine to allow you
to specify directory trees to be searched.
- The "FILEINFO.H" header was changed so that not only can you
specify a path but you can also specify a search path
(as per FindFileInPath()).
This should not effect any existing use of the header.
- Changed the FindFile() routine to always search
relative to current directory first
(while slightly less flexible, this makes it more efficient).
- New "expand all macro parameters as rexx code"
facility.
- New "Expand Macro Name"
facility.
- Changed GetEnv() routine to log use when
debug is on.
This makes it easier to understand ppwizard's use of environment
variables as well as your own.
- Fixed minor bug in handling of
"$$" macro commands.
- Added "rexx stem" like example to
"Macros With Optional Parameters".
- Better trap output is written to console/error files.
- More tweeking of Windows install package.
- 2K.352
- Fixed problem with all right click options for both Windows
and OS/2 GUI shells (oops).
- No longer pauses or asks questions during Windows setup.
I will make configurable later but for now if you don't like
the way it installs you will need to download the zip package.
- 2K.351
- New windows installer used which removes all known 95/98/ME install
issues, does a self check for corruption and has an uninstaller.
Not only that but the download is smaller!
- If PPWIZARD had been previously installed OS2SETUP would not
install correctly.
- Modified /Exec and /Validate
routines.
- 2K.350
- Reoganised how ppwizard is packaged (process and contents).
There is now an OS/2 specific download which enables use from
WPS in a similar manner to the way it currently works in
windows explorer (right click on files etc).
- You can now have extension based project files, turn off or modify
project filenames with /@Extn switch.
- The FindFile() routine is now used to search
for project files.
- The "#NextId" command now uses base 36 numbers
to minimise prefix length.
- Default quote debug characters
are now empty strings.
- Extra command type on _filespec() routine.
- New <?CmdLineTotal> variable.
- New <?PpwizardPgm> variable.
- New /Validate switch.
- Tweeked /Sleep switch and processing a bit.
- While you have many choices of how to handle PHP markup with
ppwizard, I have made it much more PHP friendly by ignoring
any "<?" or "<?php" sequences which are either at
the end of a line or followed by a space.
- Major reorganisation of command line processing code.
- Version 2K.344
- Command line switches can now use either ':' or '=' to
specify a parameter.
- New /IncludePath switch.
- New /HideCmd switch would allow you to hide
ppwizard commands or macro references if required (for example
from a html editor or browser).
- Updated GenerateFileName() routine to be
more forgiving in case of user errors.
- New FindFileInPath() routine.
The "_SysSearchPath()" routine is now
simply a stub to this more powerful call.
- New /DebugChars switch to allow you to modify
some of debugs 'marker' characters.
- Minor change to "#NextId" inner workings, now
adds underscore to end of any user supplied mask (for safety).
- Note that there is now a new "SSI.IH" extension which helps
you have mixed ppwizard / SSI commands during migration from
SSI.
- You may need to modify your source, see following issues:
- FindFile() modified.
In the unlikely event you rely on the
changes made to this routine in the 2K.331
release you should double check the doco.
- Version 2K.337
- BeOS should now work.
As the shell is unix based, the operating system looks like
unix to ppwizard.
- The OL_DOC.DH header can now
create ".CHM" (windows compiled help files).
It builds the project, contents and index files required by the free
Microsoft compiler.
No doco, need to look in header.
I can provide an example if required.
Tell me if you don't like things as hardcode but note lots of stuff
is already configurable.
- PPWIZARD documentation now also available in CHM format.
Please let me know if you notice anything wrong...
- New /OnOk and /OnError switches
make it possible to completely work in a GUI environment.
- New /Exec routine to allow you to run a
command as ppwizard processes the command line.
- New /DropFiles allows you to reset input masks.
- Install for windows should now work for NT.
For NT/2000 the unpacker also automatically starts the
install (I've just about given up on the DOS based versions
95/98).
Major changes all round to how ppwizard installs.
- The "#require" command now takes a maximum
version number if this is required.
- If head tags need inserting for generator tag this is now in
lower case (so OK in XHTML).
- Fixed bug in handling of project files (says list file does
not exist).
- Version 2K.331
- PPWIZARD now looks for a default project file called
"ppwizard.ppw" in the current directory or the ppwizard directory.
If found this is processed via the existing
/List mechanism.
- PPWIZARD now allows
much simpler specification of options
via project files, for example use "@debug" to use the "debug.ppw"
configuration.
Very handy if you don't like using the command prompt and
very handy if you do!
- PPWIZARD install for windows now also registers ".PRJ" files.
- Enhanced the FindFile() routine.
Had to work around regina bug (reported) please let me know of
any issues.
- Version 2k.327
- Worked out why Windows 95 install of filetypes etc would
not work, now require users to download a free Microsoft
download (from my site).
Also at least with regina version 2.0 it can/does mistake WIN98
as WIN95, this would in the past have meant that it did not
completely install either, it should now.
- Fixed an OS/2 (native rexx only) bug in the
GetImageHeightWidth() routine.
It could not cache values for files that began with some
characters (bug introduced v2K.156).
- New CRC-32 routine of UpdateCrc32().
- New switch of /DebugCols.
- Version 2k.325
- To make ppwizard easier to use by people who would rather not
use the command prompt (as well as those who do) I have created
new switches of
/ConsoleFile and /ErrorFile.
The default is that an error file will be generated in the
current directory on error.
Updated ppwizard install for windows to generate PPWIZARD error
and console files in the "out" directory.
- New $$Rx' transformation
for macro replacement (better than "$$SQx2").
- New /DependsOnWarnings switch.
Warnings are considered abnormal items which should not exist
so the default is that dependancy files are not generated for
files that generate them.
Also found that certain errors could occur after a dependancy
file was built, this bug is now fixed.
- The GetImageHeightWidth() routine did not
understand the ".jpeg" extension (only ".jpg").
- Version 2k.316
- New "<?/>" code to allow HTML you generate
to use the information set by the /XSLASH switch.
- New command of "#NextId".
This command is handy when generating code such as rexx where you
wish the ensure that global variable names won't clash at runtime.
- New version of regina (v2.0) is packaged with the windows download,
this corrects a major memory leak when rexx stems are used.
It also appears to perform better.
I am currently recommending the use of this version.
- Version 2k.313
- New RandomString() routine which could help
if you wish to create random variable names etc.
- Have made the slash on the end of the default ppwizard
generator meta tag optional (off by default).
New /XSLASH switch to control.
Older Entries Than Those Above
If you need to see older entries then please have a look at
my older change history page.
PPWIZARD Manual

Friday June 01 2001 at 5:58pm