Virtual Pascal

Classic Object Pascal for free

Hello to all! Allen (new member) here,

I am a long time (OMG, when did I become so old!) Pascal (DOS) programmer - I "cut my teeth" on Turbo Pascal v3, and migrated to v5.5 and finally to Borland Pascal. I am extremely intrigued by Virtual Pascal - I discovered links to Virtual Pascal some years ago and have been "chasing them" off and on since. In the course of getting into V.P., I have prepared a CHM (compiled HTML help) file of EVERYTHING! The PDF documentation (and program's online docs) are good, but finding anything is somewhat troublesome to me.

I read with interest Marco van de Voort's posting of Dec. 15/08 re: CHM support. Hope I haven't stolen your fire, Marco! Also, I would like to respond to Robert AH Prins' comments about CHM...
- yes, CHM is proprietary, but Microsoft releases the compiler (old) for free!
- yes, there can be security risks, but no more than ordinary HTML (this is just compiled)
Microsoft has more-or-less adopted the CHM (and various new spinoff formats) method of delivering documentation. I think the biggest advantages to CHM over conventional HTML are:
- smaller "footprint"
- full text search (and index, if desired)

Gentlemen, I have attached a zip file containing the CHM documentation; I hope that you will critique it and offer any comments or suggestions as you see fit. I am looking forward to using V.P. and the contact this forum should provide. Perhaps I may even provide you with a picture... (hmmmm)

Note: documentation file updated (minor fixups, new image in User's Guide 8.9.11) Aug 4/09

Note: Nov 14/2011 - documentation file updated, with the following changes:

  • fixed (overcame) a bug in the settings/Help compiler which prevented the Search/"Match similar words" from actually doing anything!  It works now.  Microsoft's Help Workshop (compiler) actually has some bad bugs, but most can be overcome.  Who knew...!
  • enhanced the "Using Search" page (tips on usage)
  • fixed bad tags in Tips/Tip # 10 (they were there in the original Wayback Machine page)
  • added a "Font" button to the toolbar (5 font sizes, for those with 'bad vision') and modified the style sheet accordingly.  This feature also added to control files in the embedded file "".  Default is size "3" of 5 sizes.  Note: changing font size affects all (future) pages viewed with Internet Explorer, but you can change back easily in IE by using Ctrl+scroll (mouse) or View/Text size.

Note: April 4/2012 - documentation file updated, with the following changes:

  • removed separate compilation files (embedded zip file)
  • removed navigation buttons at bottom of pages, now a link to top of page instead (buttons there)
  • added many new cross-links to Language Reference and User's Guide books
  • miscellaneous minor additions, fixes


Views: 1899


Reply to This

Replies to This Discussion

I'm not parsing css or js atm, so in that I'm compatible:-)

Thanks for the hints about what is scanned. This is exactly the kind of information that is not that known about the CHM format (at least not in most format descriptions like IOW there is a description of the structures, but not how the information is transformed from source into those structures.

The most pressing question I have at the moment is related to alinks. The application of alinks I have in mind is for the ref manuals.

The ref manuals consist out of several CHMs (which could get merge attributes), and we are planning to mark e.g. all string with a alink target, and e.g. all filename handling routines etc.

Then hopefully using alink we can somehow show an overview of these over all CHMs.

However, and now comes the question, the examples I've seen, show this in a popup (like a properties menu), while I rather open in a window that is scrollable. (since the number might be high).

Any idea how to do this ? In an emergency we can fake this in our own viewer, but if there was a hhctrl.ocx available....

Just for fun, here is an image of the textmode IDE loading the RTL chm:


I think I see what you want to do, but I'm not sure ALINKS are the way to go. One thing you could do is to embed a table of contents (collabsible!) into an HTML page using the HTML Help ActiveX control, rather than a group of ALINKs in a popup. I'm not sure whether the popup could be scrollable, but rather than talk about this, here is a link to a project (part of it, anyway) I work on from time to time. Download the zip, extract the CHM - you may need to unblock the file from Properties (in Windows, anyway) - and have a look. The Contents button on the CHM toolbar opens an HTML file (contents.htm - root folder) which embeds the contents file into a page, complete with icons, folders, links, etc. The interesting thing about this is that you could embed ANY contents (HHC) file into the control, not just the main one.
The project is an EXCELLENT text editor - the programmer is something else (very smart!) and the product is constantly under development. I volunteered a couple of years ago to do the documentation and have been maintaining it since.

Anyway, the embedded Contents (and Index, accessible from the Contents page) is just an example of how you might put more links into one place. Your project looks impressive - I probably couldn't stick with it!

- Allen
P.S. The link you posted re: CHM format is one I already had, probably the best, although I have found bits and pieces elsewhere.
Thanks for the example, I only played with it in the help browser yet, but seems to do contents tricks new to me.

The reason why I went for the alinks angle is mostly because of the multi-chm aspect. IOW it must be possible to add CHM n+1 that CHM 0..n don't know about.

I probably posted it in earlier threads, but my links and notes are at
btw tip10.htm seems to have some funky tags:

I'm making progress, but the html scanning still is missing files, and I need to find out why.
Btw, today a new version of FPC was released, the first version that comes with a compiler for CHM files. It should be included in all releases (on all platforms)



I have uploaded a revised copy of the compiled Help file today (Nov 14, 2011) with some "bug fixes" and enhancements.  See the first message in this thread for a download.  Don't forget, the help file also contains all control files necessary to re-compile as separate files using Microsoft's free Help Workshop (compiler).



Just a quick note to say that I am actively editing the CHM help file - Marco's note in this thread, re: links from one book to another will be implemented.  This involves quite a bit of work, but I think that most people (?) will be using the complete help file rather than the individual ones.  I may also add some cute (but efficient) graphic links to topics using screen captures from the text mode IDE - I think this will aid in actually finding things quickly.

The more I work on the help file, the more I appreciate the amount of work that has gone into Virtual Pascal!

I will post the revised help file here - first topic in this thread - in the (near?) future, when the work is completed.

I have replaced the documentation file (first post in this thread) with an updated version.  I still would like to do more - really appreciate the compiler! - but for now I guess this will have to do.


© 2022   Created by Allan Mertner.   Powered by

Report an Issue  |  Terms of Service