HTML Writer Version History --------------------------- Version Notes ------- --------------------- 0.9 NOW USING THE EARLY MORING EDITOR IN PLACE OF THE STANDARD beta 1 EDIT CONTROL! This will eliminate the limit of only being able to load text files under 64Kbytes in size (this new control supports file sizes greater than 4Mbytes). This new control also makes it possible to have a multi-level undo, better search and replace, etc. The Undo function ("Edit|Undo") now will undo 20 "levels" of operations. This means you can undo the last 20 things you've done in HTML Writer. Added a Redo function ("Edit|Redo"). Redo undoes and undo. In other words, if you undo the last five operations but you only wanted to undo the last four, selecting Redo will "redo" the last undo operation. Play with this function and you'll see how it works. HTML Writer will now load files given in the command line. This means you can load files into HTML Writer at the command line. Here's an example: "HTMLWRIT.EXE FILE1.TXT FILE2.TXT". In this example, the files FILE1.TXT and FILE2.TXT will be loaded into HTML Writer. This also means you can associate HTML Writer with files having a certain extension (i.e. "*.HTM") in the File Manager. Along with the nicer options for search and replace provided by the new editor control, I have also added the "Search|Find Previous" menu item (you can also use the Shift-F3 hot keys). This works the same as Find Next except it searches up the document from the current cursor position intead of down. Added support for the HTML forms tags. These are found under the "HTML|Forms" menu. Dialog boxes and other convenient input methods are employed to make adding the form tags easy. These are the supported form tags: Form, input, select, option, and text area. Added the ability to seperately enter the term "
" and definition "
" tags as used in a definition list. These can be found under the "HTML|List" menu as "Term Item" and "Def. Item". Added a function for repeating the last HTML tagging operation. It can be activated by selecting the "HTML|Repeat Last Tag" pull- down menu or by using the Ctrl-T hot keys. This should repeat all of the HTML tags, but I may have missed a few of the less common ones. Removed the "Options|Save as Unix Text" option. I don't think this option is very useful and wasn't used by many people. Plus, the new editor won't let me do the carriage return and linefeed to linefeed code conversion. Your file transfers to unix systems should do this conversion for you anyway (i.e. FTP). The only way I could see the Save as Unix Text option being used is if the user had a direct link from his PC running Windows to a unix system (i.e. you could write the files out of HTML Writer directly to teh unix system). And since I don't think too many people have this arrangement, this option has been removed for now. I have spoken to the author of the editor module I'm using about this and he may add support for linefeed terminated text (unix and Macintosh systems use this) in his next release. If he adds it, then the Save as Unix Text option will be reinstated. I changed the "Windows|Tile" function to "Windows|Tile Horizontally" and added the "Windows|Tile Vertically" function. These functions are very similar. Tile Horizontally fits all the open windows into the main window by scaling down the height of the windows but maximizing the windows so they are all full width. Tile Vertically works just the opposite - it scales down the width of the windows but maximizes the windows so they are full height. Try it, you'll see what I mean. 0.8d Made selecting local files easier by adding a "" item to the drop-down Host list (when defining URLs for Inline Images and Remote hyperlinks). Selecting the "" item will bring up a file selection dialog box for selecting a local file. Once the file is selected, the path info is put into the Path field and the filename is put into the Filename field. Duplicate host names or paths will now not be added to the drop-down list. Before this change, every time you typed in a host name or path it was added to the list even if was a duplicate entry. Deleted the 6 Header buttons on the Toolbar and replaced them with a drop-down list. Now header tags are inserted by selecting the desired header level from the drop-down list. I needed the space more buttons. I added a button for the Definition List HTML tagging function. (Made possible by replacing the 6 header buttons with the drop- down list.) Fixed a small a bug in the Undo function. When a HTML tagging or remove codes operation was done, and then some text was deleted, using the Undo function would undo the HTML tagging or remove codes function instead of the deletion. This has been fixed. Corrected a good number of small asthetic and functional anomolies. 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. Add support for the full Latin 1 character set. 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.