HTML Writer Version History --------------------------- Version Notes ------- --------------------- 0.8c Changed the hotkey for adding a HTML paragraph tag to the end of a section of highlighted and tagged (with some tag other than the paragraph tag "

") text from the Control (Ctrl) key to the Shift key. Since I have added a number of new hotkeys in the 0.8 version of HTML Writer which use the Control key (i.e. Ctrl+B for bold), these functions were getting a paragraph tag added to them. Using the Shift key should resolve this conflict with other hotkeys while still providing an easy way to add a paragraph tag to other tagging operations. 0.8b I still didn't like the Remote hyperlinks and Inline image functions were building proper and intuitive URLs. So I redid these functions again. I *hope* I've gotten it right this time! Now HTML Writer will assume that when you specify a Resource, you wish to construct an absolute URL (i.e. "http://some.host/some/path/some_file.html"). When no Resource is specified, a relative URL is assumed (i.e. "some/path/some_file.html"). This should be somewhat intuitive. I also updated the on-line help with respect to these functions. 0.8a I had a few bugs reported right after I released 0.8. I *think* I've got them all fixed now: The Remote hyperlink and Inline image dialogs were sometimes generating erroneous URLs. I had changed the logic for generating the URLs in the 0.8 version to try and make it better, but it turned out to be worse. (It was late at night and I must have not been thinking clearly :-() I redid the URL logic and it should be much better. Here's the basic logic: If you specify a resource, a valid URL will be generated. If you don't specify a resource but DO enter a Target name, only a jump to the local target (named anchor) will be generated. I hope this makes sense! I deleted the Maximize Windows option (Option|Maximize Windows). This seemed redundant with the maximize button that is standard for all Windows windows. I did add some code to save the last status of the child MDI windows before HTML Writer was terminated in the HTMLWRIT.INI file so the next time HTML Writer is launched and a document is opened, the window will be either normal or maximized based on what state the window(s) were in at the conclusion of the last session of HTML Writer. 0.8 Got an updated version of the add-on module for doing the toolbar (and statusbar). There are now more buttons (24!) and the statusbar displays a short, descriptive phrase whenever the mouse is over a button on the toolbar. I had to delete the definition list toolbar button so that I could fit all of the header level buttons on the toolbar. It seemed to me that this is one of the lesser used list tags and I hope this isn't a problem. I have designed this toolbar so that when HTML Writer is maximized (fills the whole screen), all of the toolbar buttons will be visible on a VGA display. In future versions I may add the option of displaying a longer toolbar for those with higher resolution displays. This new toolbar control should give me much more design flexibilty with respect to the toolbar (and statusbar). Added a statusbar. The statusbar provides info about the toolbar buttons, the Caps and Num lock status, and the current time. I also added a menu item in the "Options" menu to show or hide the statusbar (Options|Statusbar). Added a "Document" menu item to the HTML main menu. This is where the html, head, title and body tags are located. Many users asked for these tags so I have added them to HTML Writer. Added some more "hotkeys" to some of the most common menu items. Here is the list of the current hotkeys for HTML Writer: Undo (Ctrl-Z), Cut (Ctrl+X or Ctrl+Del), Copy (Ctrl+C or Ctrl+Ins), Paste (Ctrl+V or Shift+ins), Find Next (F3), Bold (Ctrl+B), Italic (Ctrl+I), Paragraph (Ctrl+P), Line Break (Ctrl+L), Horizontal Rule (Ctrl+H), List Item (Ctrl+A). Added an option for saving HTML documents as Unix style text (Options| Save as Unix Text). DOS and Windows expects text files to have each line terminated with a carriage return and a line feed. Each line in Unix style text is terminated with only a line feed. HTML Writer will already allow you to convert a Unix style text file when it is loaded so that it will display properly (see under version 0.6 below). Once this text has been converted for editing in HTML Writer, some users may wish to write the text back out in the Unix style. Enabling the "Save as Unix Text" option will do this. Note that it doesn't matter to HTML readers, such as Mosaic, which style of text line termination you use. Added an undo feature (Edit|Undo). This "one level" undo should undo most changes made to the text of the active document including deletions, remove codes operations and all HTML tagging operations. Added an option for including Alternate text for inlined images. The alternate text is displayed by some browsers that either cannot display images (text based browsers like lynx) or are set to not display inlined images. Added the middle option for the alignment of inline images. I don't know if this is a new option or just one I overlooked. In any case, it's now available. Now whether it is actually supported by any browsers remains to be seen ;-) Moved the inline image function from the Other submenu to the Hyperlinks submenu (HTML|Hyperlinks|Inline Image...). Since inlined images are a form of hyperlink I made this change. I think it makes more sense this way and I hope this doesn't bother those who are used to it's old location. Added an option for determining whether the windows are maximized (fill the entire open area in the main HTML Writer window) or normal (cascading, small windows). This applies to all opened windows (documents) and any subsequently opened windows. This option is saved in the HTMLWRIT.INI file so it is preserved from session-to-session. Some users always work in maximized windows and this option makes life easier for them. The menu hierarchy is: Options|Maximize Windows. 0.7a (Internal release only) Fixed little bug that caused the "://" URL symbols to be inserted even when there was no resource type specified. About the only time you would notice this is if you just entered some text for the name (i.e. #myanchorname). Note that the "HTML|Hyperlinks|Local..." menu selection is a better way to do these kinds of hypertext links anyway. But I fixed this bug just in case anyone wanted to define a local link using the URL dialog box. Added a function to insert a file into the current document. Works just like opening a file except the text is inserted into the currently active document at the position of the text cursor instead of opening a new window. This function is under the "File|Insert..." menu selection. Added many more buttons to the Toolbar! Unfortunately I had to delete some less-used buttons to make room for some of these new buttons that I feel are used more often. The buttons I deleted are: New file and Open file. The new buttons are: Test, Preformatted, List item, and Remote links. I'm working with the author of the Toolbar add-on module I'm using to see if it is possible to get more than 20 buttons. If this is possible, then I'll add even more buttons! If there are some functions (i.e. HTML tags) you'd like to see on the buttonbar, please write me and let me know! I'll add the buttons that people tell me they want and would use. Added some additional error handling to prevent HTML Writer from quiting unexpectedly (without giving an opportunity to save any files) when opening a new document caused the System Resources being exhausted. The System Resources (as reported in the Program Manager's Help|About dialog box) includes more than just main memory. The System Resources also include a memory structure called the heap and another called the stack. Every time another document (MDI child window) is opened, some heap and stack space is used (allocated). Eventually, with enough windows opened, the heap or stack space is exahausted and Windows reports an "Out of memory" error. The error handling I added prevents this out of memory error from crashing HTML Writer. Instead, you will receive a warning and will not be able to open any more new documents. Be aware that this warning means you are critically low on one of the System Resources and using some other functions of HTML Writer may still cause it to crash unexpectedly! When you receive the low system resources warning, it would be wise to close down any HTML Writer documents that you don't need in order to free up more system resources. For reference, on my system with no other applications running except HTML Writer, I was able to open 16 documents before I received the low system resources warning. Fixed some bugs in the Search-and-Replace code. Doing a search and replace on a similar word (i.e. search for "you", replace with "your") going up the document only found the first instance of the search word and then just proceded to conituously replace that first instance. This has been fixed by making sure that I move off the replaced word before searching. I also cleaned up the tab index of the Find and Search and Replace dialog box. Now you will move in a logical order when using the tab key to move through the controls. Made all of the dialog boxes modal. This means that you must now click on the OK button (or press the Enter key) or the Cancel button (or press the Escape key) before you can return to the main HTML Writer window. This is more in line with how you would expect a Windows application to perform. Before this change (when all the dialog boxes were non-modal), you could click on the main HTML Writer window and "loose" the dialog box behind it (the main window was brought to the forefront - covering the dialog box). With the change to modal dialog boxes you shouldn't have to play any more window hide-and-seek! 0.7 Fixed bug that caused 'Untitled' documents to generate an error and not save the document when exiting HTML Writer. To fix this I just added a test on exit to see if the document was named 'Untitled'. If it was named 'Untitled' then the SaveFileAs routine is called. Added the List Item tag

  • to the "HTML|List menu". This function will insert the
  • tag at the current text cursor position or at the BEGINNING of a block of highlighted text. Added support for testing HTML documents in Cello from within HTML Writer. To select which program (Mosaic or Cello) you'd like to test your documents in, select either the "Options|Test in Mosaic" or "Options|Test in Cello" menu item. The currently selected program for testing will have a check mark by it. The selected test program, as well as the paths to Mosaic and/or Cello (if applicable), are saved in the HTMLWRIT.INI file. Now when you you select "File|Test...", the program that is checked will be used for testing the currently active document. I also fixed a small bug that may have caused HTML Writer to not find Mosaic if Mosaic was moved to another directory after HTML Writer had first "learned" Mosaic's path. Added a Paste button to the inlined image and remote link URL dialog box. Now, when selecting a URL for remote links or inlined images, clicking on the Paste button takes the text from the Clipboard and inserts it as the URL for the "href=" or "src=" commands. The Clipboard is checked to make sure that there is text in the Clipboard, but the Clipboard text is NOT checked to assure that it is a valid URL (that's your job for now). This can be VERY handy for grabbing URLs that you find in other HTML documents, Usenet newsgroup posts, etc. Added text search-and-replace. Selecting the "Search|Replace..." menu entry brings up a dialog box similar to the one for "Search|Find..." but with some additional controls. After filling in the "Find What" and the "Replace With" text, clicking on the Verify button brings up a message box which allows you to: replace the text that is found (Yes), skip this instance (no), or cancel the search-and-replace altogether (cancel). Clicking on the All button will cause all instances of the given text to be replaced. All search-and-replace actions are sensitive to the current position of the text cursor in the document and the direction and case sensitive options in the Replace dialog box. 0.6a FIXED the "really weird bug..." mentioned above! It was the Windows API call to GetPrivateProfileString in the MDIFrom_Load subroutine. Since most of the initialization file reading is done in the ReadINI subroutine, I missed a key setting that I needed for the code which gets the main window position and size data from HTMLWRIT.INI. Most of the calls are GetPrivateProfileInt, but I had one GetPrivateProfileString (for the Maximize status) call which was the problem. The problem was the nSize parameter in the GetPrivateProfileString call. It tells this function how long the string is in memory so that it knows how many characters it can write to this memory location. I had used Len(IniString) to set this, but had neglected to initialize the length of this string with the IniString = String(255, 0) command. All the strange problems cleared up once I added this command to the beginning of the MDI_Load subroutine. NOTICE: This is pretty serious bug that may affect other operations of HTML Writer! If your HTMLWRIT.EXE file is dated 4/26/94, get a new copy as soon as possible! Oops! Forgot to change the version number in 0.6. The version number in the Help|About box should now be correct (0.6a). Updated the on-line help to reflect some of the changes made since version 0.5. The on-line help is still not complete, but I'll get to that as soon as I can. 0.6 Added the most used (in my estimation) HTML tags as buttons on the toolbar. looks nifty and works great! Holding down the Control key while clicking on a toolbar button adds a paragraph tag to the end of the tag being inserted. In fact, if you hold down the Control key and click on the paragraph button (looks like a backwards P with two lines) you will get 2 paragraph tags! The status of the toolbar is now saved to the HTMLWRIT.INI file so that if the toolbar was hidden the last time HTML Writer was used, HTML Writer will come up with the toolbar hidden. This toolbar status is shown by the "Options|Toolbar" menu entry (if Toolbar is checked, the toolbar is visible). Added an option to allow uppercase HTML tags. Some people prefer to use uppercase tags (i.e. ). This option is also saved in the HTMLWRIT.INI file so it is preserved from session to session. If the "Options|Uppercase" menu entry is checked, all HTML tags will be in uppercase. Added a "Save on Test" option so that the HTML document in the active window will be saved whenever the "File|Test" menu entry is selected. In other words, your active document is saved before you go to test it in Mosaic (from within HTML Writer, of course). This option is also saved to the HTMLWRIT.INI file. Fixed a bug that would cause the list of recent files (in the File drop-down menu) to disapear after selecting either the "File|New" menu entry or the New File toolbar button. FIX: Added a call to GetRecentFiles in the Filenew subroutine. The size and position of the main HTML Writer window is now saved to the HTMLWRIT.INI file. Now the main window comes up in the same place and the same size as it was the last time HTML Writer was run. I am also saving the Maximized status so that when the main window is maximized (full screen) and saved, the next time you run HTML Writer and want to un-maximize the main window it will shirnk down instead of stil filling the screen. Kind of hard to explain, but trust me, it works best this way. Added a routine that looks at all files being opened to see if the lines of text are terminated with a Carriage Return (CR) AND Line Feed (LF). If they are only terminated with LFs, then it converts them to CR-LF. It seems some systems (i.e. Unix) generate text that only ends a line with a LF. When brought into a standard Windows text box, the LF shows up as a small, solid box character and does not induce a new line (try this with NotePad if you don't believe me). This routine lets you convert these types of text files so they are easier to read in HTML Writer. Changed the "Options|Fonts|Font Name" menu to just "Options|Display Font..." with the display font selection being made from the Font common dialog box instead of from the control arrayed menu. One user who has a lot of fonts installed said that the list got chopped off at the bottom of the screen. The move to the Font common dialog box should fix this. Also, the Display Font information is saved to the HTMLWRIT.INI file so that the font settings (FontName, FontSize, FontBold, and FontItalic) are saved from session to session. Be aware that the display font selection ONLY determines the font that is used for the text of the documents in HTML Writer! Setting this font does NOT not set the font used when printing! (see the "Possible Future Features" section below for more on this.) Changed the logic dealing with bringing up the on-line help (calling WINHELP.EXE with the reference to HTMLWRIT.HLP). One user reported that he couldn't get the on-line help to come up. The changes made were very similar to those made to fix the "File|Test" bug listed above. I hope this fixes the problem, although I've only had one report of this so far. Really wierd bug found in the Remove Codes function! Basically, whenever I tried to set a string to null (i.e. RightSide=""), the string would get filled up with garbage characters which would cause the resulting string (SText = LeftSide & RightSide) to be too big and result in an error. I was able to come up with a work-around (it's better than the way I was doing it), but I still want to know what caused this problem. Strange! Fixed a bug in the "HTML|Paragraph|Listing" code. It was inserting the code <lu>...</lu> when it should have been <listing>...</listing>. When exiting HTML Writer, if the on-line help window (WinHelp application) is still active, it will be terminated. (Got to clean up after yourself ;-) Added a new pull-down menu item and toolbar button for the line break tag <br>. It is in the pull-down menu under "HTML|Paragraph". The new toolbar button looks like a bent, right-to-left pointing arrow. Added the Code tag <code> to the "HTML|Style" pull-down menu. Rearranged some of the menu items in the HTML menu. I changed the Interactive menu entry to Lists and moved the Bulleted, Numbered and Definition Lists to this entry (deleting them from the Paragraph submenu). I also moved the Horizontal Rule menu entry from Other to Paragraph. (Seemed to fit better under Paragraph than orphaned out in Other.) Cleaned up a few quirks in the user interface and made a few other changes to "tighten up" the code. 0.5a Limited release (mostly bug fixes). Fixed the bug which displayed the wrong title in the Save As dialog box. After the user selected the path to Mosaic (File|Test), the Save As dialog box still had the title "Location of Mosaic". FIX: Added this line to the mnuFTest Subroutine: frmMDI.CMDialog1.DialogTitle = "" Changed the logic dealing with executing or activating Mosaic for testing a document. One user reported that even after giving the path to Mosaic, HTML Writer kept asking him for the location of Mosaic. I revised the decision logic in the mnuFTest sub to hopefully fix this. Needs more testing. 4/24/94 - Got some feedback from one user and it looks like the fix worked. Added the Horizontal Rule (<hr>) tag to the "HTML|Other" menu as Horizontal rule. Oops! I guess I missed one! I only found this because I came across it in several HTML documents. It seems all the documentation I had seen didn't mention this tag (strange). 0.5 First release to the "general public". All bug fixes and new features done by the author. Possible Future Features ------------------------ Add spell checking. This is easily possible since I have found a nice spell checking Dynamic Link Library (DLL) that can easily interface with HTML Writer. The problem is that it costs 35 pounds (around $50). I have already invested a lot of time and some money to put this program together and feel it would be unwise for me to spend more of my money on additional add-ons for HTML Writer if not enough people like or use HTML Writer. Therefore, if I receive enough donations to cover the cost of the spell checking DLL, I'll buy it and have this feature available in the next release. If not, then I won't add spell checking to HTML Writer. For you information, this spell checking DLL supports U.S. and British dictionaries, "private" user-defined dictionaries and many other features that make it a commercial-quality spell checker. Since it looks like more and more people are using forms and other HTML feedback methods, I may add the functions to support these "extended" HTML codes. Better printing. Getting good printed output from Windows applications can be tricky. I'll work on this as I have time, but since the main use for HTML documents is for hypertext applications, I don't see much need to hurry on this. The File|Print menu option will provide a decent print out, and you can always bring your HTML document into a word processor (even good old Write!) to get better printing control. Add support for a small and large toolbar. The small toolbar would be best for VGA (640 x 480) displays, while the large toolbar would have more buttons for SVGA (800 x 600) and higher displays. Perhaps I need to add more "intelligence" to the list functions so that they are better at adding new list items and multiple levels. I'll see what I can come up with.