What's New in Version 4.6
=========================
(Released on March 22, 1999)

Introduction
------------
Since version 4.5, NoteTab introduced some very significant enhancements to the Clipbook tool. It is now programmable and supports features such as variables, functions, commands, conditional statements, events, etc.! Furthermore, NoteTab also integrates support for Perl and Gawk interpreters; scripts can be stored in NoteTab and applied directly to highlighted text or a whole document. Non-programmers also benefit much from these new capabilities as experienced users provide Clipbook libraries to extend the capabilities of NoteTab. These libraries can be downloaded for free from the Clipbook repository on the following web page:

   http://www.notetab.com/libraries.htm

Another change since version 4.5 is the name of "Super NoteTab." The Freeware version is now called "NoteTab Light" and the commercial version "NoteTab Standard" (or NoteTab Std). It is hoped that this change of name will make it less confusing to users since many felt the prefix "Super" made the program sound better than the more sophisticated "Pro" version.


Major Changes in Latest Versions
--------------------------------
Only the most significant feature changes are listed under this topic. See the next topics for a more comprehensive explanation of the changes.

NoteTab v4.6 (released: 22 March 1999)
............
* Text drag-and-drop editing added to NoteTab Pro
* AutoCorrect/AutoReplace mode similar to Microsoft WinWord
* Support MS-Office sound events
* Icons in menus
* Option to show nonprinting characters in NoteTab Pro
* Option for incremental backups
* Read and write EBCDIC files
* Improved response to the Intellimouse wheel
* Improved Find/Replace dialog boxes
* Programmable templates
* Powerful new Clip commands and functions

NoteTab v4.52 (released: 16 November 1998)
.............
* Menu command to insert HTML links and images
* Disk Search command supports regular expressions
* Support for WordStar key mapping in NoteTab Pro

NoteTab v4.51 (released: 14 October 1998)
.............
* Improved Favorites menu
* Improved "Strip HTML Tags" command
* Search Disk accepts multiple file masks
* Added support for regular expressions

NoteTab v4.5 (released: 31 August 1998)
............
* Justify command
* Reformat Lines command
* Count command to count the frequency of a text criteria
* HTML-Color picker to insert color codes in web page
* Programmable Clipbook tool
* Many enhancements to the Clipbook syntax
* Improved Clip Assistant
* Integrated support for Perl and Gawk scripts
* Improved HTML-tag highlighting in NoteTab Pro
* Left-margin ruler to display line numbers in NoteTab Pro
* Hyperlinks in documents can now launch other programs
* New NoteTab subdirectory structure
* Super NoteTab renamed NoteTab Light/Std

NoteTab v4.011 (released: 04 April 1998)
..............
* NoteTab Pro:
  + winner of the 1998 PC Magazine Shareware Awards (Applications category)
  + winner of the 1998 People's Choice Award
  + nominated in the 1998 Shareware Industry Awards
* Super NoteTab:
  + nominated in the 1998 PC User (Australia) Shareware Awards



Changes in Version 4.6
----------------------
* Previous versions of NoteTab were compiled with Delphi 3.02. This new release is compiled with Delphi 4.02. According to Inprise (the company that produces Delphi), support for new features in Windows 98 have been added, including multiple screen setups, the Intellimouse wheel, etc. Many bugs have been fixed too, though it is not clear whether they affected NoteTab or not.

* NoteTab uses a new release of the spell-checker component (a third-party product). According to the company, bugs have been fixed and performance improved.

* The NoteTab program file is now much smaller (reduced by nearly 1 MB). As a result, it will load faster and you can even put NoteTab on a diskette for use on other computers without installing it. NoteTab only requires two files to run (though you will probably also want to use some of the Clipbook libraries); these are NotePro.exe (NoteTab Pro) or NoteTab.exe (NoteTab Std/Light), and EfoMacro.dll.

* Updated and reorganized the Clipbook libraries. Most Clips now contain explanatory comments. The following libraries duplicate Clips added to the new libraries and have been removed from the NoteTab package: Acronyms.clb, CaptureLinks2.clb, Convert.clb, HTML-Chr.clb, Launch.clb, Maths.clb, Samples.clb, and VarDemo.clb.

* Added an AutoCorrect/Code Completion feature (similar to WinWord) based on the Clipbook. This mode can be enabled through the "Tools|Auto-replace Mode" menu, or by using a Clipbook library with the AUTOREPLACE keyword in the header. When auto-replace mode is enabled, NoteTab will check for a matching item in the active library whenever you press any of the following characters (Clip activation keys):
   TAB SPACE RETURN ! " , . : ; = > ? ] }
If a matching Clip is found, the typed item in the document is automatically replaced according to the Clip instructions.

Note that if the Clip contains "^&" (without the quotes), the Clip activating key is discarded. You can also use the activating key in Clip code through the new predefined variable ^%AR_KEY%.

Try, for example, the libraries AutoCorrect.clb and HTML-ar.clb.

* Icons in main menu and editor shortcut menu. You can show/hide these menu icons by changing the setting "Show Menu Icons" in the Options dialog box on the View tab.

* New option "MS-Office Sounds" on View tab of Options dialog box. This feature is only enabled if MS-Office sounds have been installed. When set, NoteTab will play the sound assigned to the corresponding MS-Office events. Note that NoteTab sound events (Toolbar button and tabbar sounds) overrule the MS-Office events.

* NoteTab window now animated when minimized or restored from the task bar.

* NoteTab template files now accept Clip commands and functions embedded in the text. When such a file is opened, the text contained in it is interpreted and the resulting text is displayed in the document. To enable this feature, you will have to include the keyword "ClipCode" in the header line of the template file. See the template file HTML.tpl for an example of embedded functions. Example of header:
= DocTemplate ClipCode "Home%0.3d.htm"

* The Find and Replace dialog boxes have been improved. Note that the "All" option (in the combobox) means the search is done from the beginning of the document. However, with an outline file, the search will only start from the beginning of the current topic and span through the next topics if the searched text is not found. If you double-click on the Replace label, the content of the Find field is automatically copied to the Replace field.

* NoteTab Pro: now supports text drag-and-drop editing.

* NoteTab Pro: HTML-syntax highlighting now ignores <%...%> tags used to embed scripts in web pages.

* NoteTab Pro: New option "Highlight Clip Code" on Advanced tab of Options dialog box. When set, instruction, label, and comment lines in Clip code are highlighted.

* NoteTab Pro: Pressing the backspace key when in overwrite mode now replaces text with blank characters instead of deleting them. This is useful when editing formatted tables that should preserve their layout.

* NoteTab Pro: new option to show paragraph marks, tab and spacebar characters, and page breaks. This option can be set through the "Show Nonprinting Text" checkbox in Options dialog box on the View tab, or from the menu under View|Show Nonprinting Text, or from the toolbar if the button is enabled.

* NoteTab Pro: new keyboard command to scroll the text without changing the cursor's position. Press Shift+Ctrl+Up arrow to move the text downwards, and Shift+Ctrl+Down arrow to move it upwards.

* NoteTab Light/Std: improved method for left margin line selection area.

* Added option for incremental backups (Options|Files|Backup Type). For example, with a file called "NoName.txt", the following backup formats are produced depending on the chosen setting:
   ".bak extension"  ->  NoName.bak
   "Tilde after dot" ->  NoName.~txt
   "Incremental"     ->  NoName.~001.txt, NoName.~002.txt, etc.

* Two new menu commands for adding Clips to a library. These are available under the Tools|Clipbook submenu:
   Add New Clip (Ctrl+F2)
   Add from Clipboard (Shift+Ctrl+F2)

* The "Insert HTML Link" feature now inserts the filename automatically as the name of the link or ALT description.

* By default, NoteTab inserts links in lowercase. However, users creating web pages for servers that use case-sensitive links may want to keep the original case of the URLs they insert from the "Insert HTML Link" command or by drag-and-drop from the Quick List. NoteTab provides an option to preserve the original case of the file name. Currently, this option cannot be set from the Options dialog box. You will have to edit the NoteTab INI file. Look for the key "LowercaseUrls" under the [Options] section. If you find it, change its value from 1 to 0, otherwise add the following line under the [Options] section:
LowercaseUrls=0
If you edit the INI file in NoteTab, you must rename it by adding an exclamation mark in front of the name (e.g. !NoteTab.INI) to have your changes taken into account when you reopen NoteTab. Next time you run NoteTab, the content of the renamed INI file will be used and your setting will be taken into account.

* New "Save Format" submenu in the document-tab shortcut menu. Use it to change the default text format (line breaks and character set) applied when the corresponding document is next saved.

* EBCDIC files (from MVS and AS/400 systems) that do not contain packed-decimal fields can be opened and saved in NoteTab. Such files can either be opened through the new ^!OpenEbcdic Clip command, or by using a file filter containing the text "EBCDIC" (based on the same principle as opening Dos ASCII files; see Help). The Export command can also be used to save text in EBCDIC format. Although NoteTab supports EBCDIC files with line breaks and those with fixed-width text, it cannot correctly read EBCDIC files with variable-length records (i.e. those without line breaks).

* New command-line parameter: /T=FileName
Loads the specified file containing the EBCDIC character tables for conversion to and from Windows ANSI. The NoteTab program path is added if you do not specify a fully qualified path name. The extension .ebc is added if you do not specify a filename extension. See the file Default.ebc for an example of the table format.

* Added a field to define a record length (for fixed-width lines) for the EBCDIC format in the Options/Properties and the Export dialog boxes.

* Many other minor enhancements.


Clip Language:
.............
^!FarClip LibraryName:ClipName
or
^!FarClip "LibraryName:ClipName" [Text]
Similar to the ^!Clip command but invokes a Clip from a library on disk instead of the active library. Clips invoked through this method are stored in an internal cache memory to improve performance (the cache will reload the Clip to memory if it detects that the Library file has been modified). LibraryName name must be stored in the Libraries folder if you do not specify a path, but does not need to have the .clb extension (you can use a different extension if you don't want the library to be listed in the Clipbook tool or the button bar). This command is particularly useful within specialized Template files. You can also use it to invoke frequently used procedures. Example:
^!FarClip HTML:Center

^!SetArray %VariableName%=ArrayData
Similar to the ^!Set command but creates an array from the data assigned to it. By default, the data delimiter is a plain semi-colon (;), or a semi-colon and double-quotes separating each item. You can change the default delimiter with the command ^!SetListDelimiter (see below). During the assignment, the individual items from the ArrayData are each stored in a new variable with the same name as the base variable plus an index number reflecting their corresponding position. The variable at index 0 has a special purpose as it stores the actual number of items contained in the array. You can change the values of the individual indexed items by using the ^!Set, ^!Inc, ^!Dec commands, and the changes are reflected in the base variable. If you assign an empty value to an array variable, or use the ^!Set command to assign a new value to it, the array is automatically removed from memory.

Examples:
^!SetArray %Array%="Value 1";"Value 2";"Value 3"
The above instruction will create four new variables:
^%Array0% = 3
^%Array1% = Value 1
^%Array2% = Value 2
^%Array3% = Value 3
If we assign a new value to the second item, as follows:
^!Set %Array2%=New Value
then accessing the base variable ^%Array% will return:
"Value 1";"New Value";"Value 3"
The following assignment will destroy the array, and only the base variable will be preserved with the newly assigned value:
^!Set %Array%=Another Value

^!SetListDelimiter ^p
Defines a delimiter to be used by the ^!SetArray command or Clip Wizard fields using the new Checkbox list (see below). Tokens are accepted, but the delimiter must not be more than 10 characters. The scope of this command is limited to the current Clip. Assigning an empty value results in using the default semi-colon (;) delimiter. Example: ^!SetListDelimiter ^p^p

^!Open "File1";"File2";"File3"
The command has been enhanced to support parameters with multiple semicolon-delimited files. Useful in conjunction with the enhanced "Open file" Clip-wizard field.

^!OpenReadOnly FileName
Opens or selects the specified document "FileName". You can use wild cards with this command. Newly opened files are set as Read-Only.

^!RenameDoc NewName
Renames the active document. The disk file is also renamed if it exists.

^!SetNameFormat Mask
The name format is used when new documents are created. The code "%d" indicates where the incremental numbering is inserted in the name. In the following example, the "0.2" between the % and d tells NoteTab to format numbers smaller than 2 digits with leading zeroes: NoName%0.2d.txt

^$GetNameFormat$
This function returns the current name format.

^$GetProgName$
Returns the full name of the NoteTab variant.

^$GetProgVersion$
Returns the current version number.

^!ProgIniSave [IniName]
Saves the current program settings into the NoteTab ini file or registry. Optionally, you can specify an alternative INI file (it is automatically created if it does not exist).

^!ProgIniLoad [IniName]
Loads options from the NoteTab ini file or registry. Optionally, you can specify an alternative INI file (it must exist or else the command sets the error condition). Note that the [AutoLoad] section is ignored by this command.

^$GetParagraph$
or
^$GetParagraph(Index)$
or
^$GetParagraph(+/-Index)$
Returns the text contained in the specified paragraph (=single word-wrapped line). The "Index" parameter is optional. When it is not used, this function refers to the paragraph where the cursor is placed, otherwise it refers to the paragraph position from the start of the document. By preceding the number with a + or - sign, the Index value refers to the relative position with respect to the current paragraph (e.g. ^$GetParagraph(-1)$ refers to the previous paragraph).

^!ClipBoardSave
Saves the Clipboard contents (any type of data) in NoteTab's internal memory. This command is to be used in conjunction with ^!ClipBoardRestore. It is particularly useful when you want to use the Clipboard for temporary storage without permanently removing what the user may have initially stored in it.

^!ClipBoardRestore [+]
Restore the contents of clipboard saved through the ^!ClipBoardSave command. Use the optional "+" parameter if you want NoteTab to keep the saved Clipboard data in its internal memory (lets you restore it again at a later stage).

^$SetDefaultValue(ValueList;DefaultValue)$
This function can be used to set the default value displayed by the Clip Wizard in combobox or listbox fields. It returns the ValueList string with DefaultValue as the default value. If DefaultValue does not exist in the list, it is added to the ValueList text. If DefaultValue is an empty string, then the function returns a list with no default value set. Clip example (each time you activate this Clip, the previous default value is selected):
^!IfFalse ^$IsEmpty(^%ValueList%)$ Skip
^!Set %ValueList%=_1|2|3|4|5|6
^!Set %DefaultValue%=^?{Choose or enter a new default value=^%ValueList%}
^!InsertText Default value = ^%DefaultValue%^p
^!Set %ValueList%=^$SetDefaultValue(^%ValueList%;^%DefaultValue%)$

^$GetDefaultValue(ValueList)$
Returns the default value selected in ValueList. Example:
^$GetDefaultValue(1|2|_3|4|5|6)$ -> 3

^$GetSamplesPath$
Returns the path for NoteTab sample files (always ends with backslash).

^$GetClipName$
Returns the name of the currently interpreted Clip. This function returns an empty string within Clips run by the timer event and executable template.

^$StrSplit("Str";TextWidth;TrimLines)$
Returns the "Str" string with long lines split at specified width. TextWidth defines the maximum width of the text in each line; TrimLines is either True or False and determines if blank spaces at the end of each line are removed or not.

^$GetScreenCol$
Returns actual column position on screen. Unlike ^$GetCol$, this function takes into account expanded tabs. This function is only meaningful in NoteTab Pro.

^$IsTrimBlanks$
Returns 1 if the option "Trim White Spaces" is enabled in current document and 0 if it is turned off.

^!Email Address;Subject[;+]
or
^!Email Address;Subject;MessageText
Enhanced the EMail command. The third parameter can be the actual text you want to use in the message body (for example, you can use a variable that contains a whole message.

^!Help
or
^!Help "FileName"
or
^!Help "[FileName]" Keyword
Displays the indicated Help file or the NoteTab Help file if no parameter is specified. Displays the topic in the keyword table that matches the specified keyword, if there is an exact match. If there is more than one match, displays the Index tab. The following example will display the topics discussing Perl in the NoteTab Help file: ^!Help "" Perl

^!KeyboardDelay nnn
Controls the speed of typing with the ^!Keyboard command. nnn specifies the approximate delay in milliseconds between each keystroke. Set nnn to 0 for maximum speed. The scope of this command is limited to the current Clip execution.

^!Keyboard &nnn
The keyboard command now supports delay settings between key instruction. The value represents milliseconds and should be preceded with the "&" symbol. Example: ^!Keyboard Alt+V O &1000 Ctrl+Tab &400 Ctrl+Tab

^!OpenAscii FileName
or
^!OpenAscii FileName1;FileName2;FileName3
Opens and translates the text from ASCII format to ANSI, or selects the specified document "FileName". You can use wild cards with this command.

^!SaveAscii FileName
Similar to the ^!Save command (and accepts the same parameters) but saves the document using the Dos extended Ascii character set instead of Windows ANSI.

^!OpenEbcdic FileName [/W=nnn]
or
^!OpenEbcdic FileName1;FileName2;FileName3
Opens and translates the text from EBCDIC format to ANSI, or selects the specified document "FileName". You can use wild cards with this command. The optional parameter "/W=nnn" can be used to define a line length for fixed-width EBCDIC files. "nnn" represents the width in characters; a value of 0 indicates variable line lengths delimited with carriage returns. Example: ^!OpenEbcdic /W=132

^!SaveEbcdic FileName [/W=nnn]
Similar to the ^!Save command (and accepts the same parameters) but saves the document in EBCDIC format. The optional parameter "/W=nnn" can be used to define a line length for fixed-width EBCDIC files. "nnn" represents the width in characters; a value of 0 indicates variable line lengths delimited with carriage returns. Example: ^!SaveEbcdic /W=132

^!Export "FileName" [EBCDIC][SELECTION|ALL][LRECL=nnn]
The ^!Export command now also supports the above syntax to create EBCDIC files. You can optionally define a record length (for fixed-width lines) by using the LRECL parameter followed by an equal sign and the width value.

^!LoadEbcdicCharTable FileName
Loads the specified file containing the EBCDIC character tables for conversion to and from Windows ANSI. The NoteTab program path is added if you do not specify a fully qualified path name. The extension .ebc is added if you do not specify a filename extension. You can reset the default character table by specifying the Default.ebc file.

^%AR_KEY%
Predefined variable containing the Clip activation key. It is empty if no activating key was used. Note that this variable cannot contain more than one character. You can clear this variable if you don't want NoteTab to paste it back into the document after the Clip action.

* Added predefined variables:
^%VBAR% = |
^%CARET% = ^

* ^!IfTrue and ^!IfFalse commands no longer allow the use of comparison operators to compare two values. In such cases, use the ^!If command instead.

* The StrPos, StrPosMid, StrPosRight, and StrReplace Clip functions now automatically convert tokens (^p, ^t, etc.).

* Using ^!SetIniFile without any argument now defaults to NoteTab's own ini file.

* ^!SaveValue, ^!ClearValue, and ^!ClearValues can now be used on any section in NoteTab's default INI file.

* The following commands will now force a screen refresh when screen updating has been disabled through the ^!SetScreenUpdate command: ^!Prompt, ^!Continue, ^!Skip, ^!Info, ^!StatusShow, and Clip Wizards based on ^?{...} type fields.

* Comment Clips are now displayed in Info window when invoked by ^!Clip command. If you have a Clip like H=";Comment", then you can display its content with the following instruction: ^!Clip Comment

* Improved behavior of ^!IfInRange, ^!PasteBack and ^!TypeBack.


Clip Wizard:
............
* The font of the ^!Info box can be customized by the user. Just right click in the text window to open the shortcut menu, then choose the Font command to change the current text font.

* If the last field in a Clip Wizard is a listbox or memo control, then resizing the height of the dialog box will automatically adjust the size of that field.

Open file field, with support for multi-file selection:
^?[(T=O;S=M;F="Text Files (*.txt;*.ini)|*.txt;*.ini")Prompt]
The prompt definition is similar to the standard Open file field but adds the option "S=M". You can assign the result returned by this type of prompt to an array-type variable using the ^!SetArray command.

Checkbox list field:
^?[(T=A)Prompt=Value1|_CheckedValue2|Value3|_CheckedValue4|Value5]
This type of field is defined by the T=A option. Items that are checked by default are preceded by an underscore character. The result returned by this type of field contains all the checked items delimited with the delimiter defined by ^!SetListDelimiter, or a semi-colon with double-quotes around each item. The best way to handle the result returned by this type of prompt is to assign it as an array using the ^!SetArray command.


Bug fixes:
..........
* Fixed a bug that could cause loss of text (truncation) if a null character is inserted in a document.

* Fixed a bug in the HyperLink search command that could cause NoteTab to freeze when the backwards token was specified.

* Search Disk command ignored directories with the Read-Only or System attribute set when the "Include Subdirectories" option was set. Fixed.

* When the search criteria in Search Disk matched only a single item at the very start of the document, the document was skipped. Fixed.

* View | Options | Documents | Trim White Spaces
Now works with outline documents and the [Clip] editor when libraries are saved to disk.

* The Left Align command ignored tabs. Fixed.

* NTP: you could not toggle the bookmarks in NoteTab Pro if the word-wrap is on. Fixed.

* NTP: the "More" statistics was invisible if the default document background color is black (because it is written with black characters).

* Clip errors now indicate correct line number when comments are listed between instructions (note that the actual Clip name is not counted).

* Clip Language: lone "+" and "-" operators are no longer converted to numbers (always 0).

* Clip Language: ^!IfSame "^$GetChar$" "^%Space%" GotoTrue
Comparing spaces now works correctly.

* Clip Language: ^!Select URL
Selecting a URL in an HTML tag failed if there were no quotes around it. Example:
  <a href=http://www.notetab.com>NoteTab Home</a>
produced:
     href=http://www.notetab.com

* Clip Language: ^!Keyboard command now accepts constructs such as ##abc# (which types #abc). Note that the embedded # characters may not be followed by a blank space, otherwise the Clip interpreter will treat it as an end-of-text marker.

* Clip Language: StatusShow window was often displayed with an incorrect size. Fixed.

* Clip Language: The GetOutput and GetInputOutput Clip functions did not capture the standard error stream. Fixed.

* Changing the font color for the Clipbook from the Tools|Clipbook Properties menu had no effect. Fixed.

* Other minor bug fixes...



Changes in Version 4.52
-----------------------
*  Insert HTML links and images by way of the File Open dialog box. If text is highlighted when the command is chosen, the tags wrap around it. Note that the File Open dialog box always points to the last used directory. Menu:
Document|Insert HTML Link/Image (Shift+Ctrl+F5)

* NoteTab Pro: color of <!-- --> comment tags is now adjustable through the Options dialog box on the Colors tab.

* NoteTab Pro: supports WordStar key mapping (Options dialog box on Advanced tab).

* Disk Search now accepts regular expressions too. Set through the "Find what" field's shortcut menu.

* NoteTab now checks that the size of a newly saved file matches the size of the text. The reason behind this feature is that some people saving to certain servers sometimes experienced a loss of data (truncated files). Although this is not caused by NoteTab, this extra checking may help the eventual loss of data by warning you when the problem is detected.

* Quick List's shortcut menu now offers a "Copy Name" command to copy the file name to the Clipboard.

* Clips: the OnClipboardChange event no longer causes the listbox's selection bar to shift to it whenever it is invoked.

* Minor bug fixes.


Clip Language Enhancements:
...........................
* New default label type: Skip_xx
Use this label to skip a specified number of Clip instructions. xx represents a number (positive or negative). For example, Skip_3 will skip the next three lines in the Clip. "Skip" and "Skip_1" have the same effect. These labels do not work in NoteTab Light (unless it is in trial mode).

^!FocusApp AppTitle
Activates the application window with a title caption that matches the specified text. The error flag is set if no matching window is found. For example, if the Windows calculator utility is open, the following command will bring it to the front:
   ^!FocusApp Calculator
Most applications usually show other information in the title bar. For these cases, you can use an asterisk "*" either at the beginning or the end of the AppTitle text to specify that the text should match the end or the beginning of the title respectively. For example, MS Wordpad displays the document name in front of the program name, so the following instruction will work if Wordpad is open:
   ^!FocusApp *WordPad

^$GetAppTitle$
or
^$GetAppTitle(TitleText)$
Returns the full title of the active application window when no title is specified, or the window matching the specified text.

^!IfAppOpen AppTitle GoToLabelTrue [ELSE GoToLabelFalse]
Jumps to the specified label if a window with the indicated title caption is found. For example, if the Windows calculator utility is open, the following command will continue execution after the CalcOpen label:
    ^!IfAppOpen Calculator CalcOpen
Most applications usually show other information in the title bar. For these cases, you can use an asterisk "*" either at the beginning or the end of the AppTitle text to specify that the text should match the end or the beginning of the title respectively. For example, MS Wordpad displays the document name in front of the program name, so the following instruction will work if Wordpad is open:
   ^!IfAppOpen *WordPad WordPadOpen

^!IfLabelExist LabelName GoToLabelTrue [ELSE GoToLabelFalse]
Jumps to the specified label if the indicated label name exists in the active Clip.

^!SetScreenUpdate [On|Off]
Enables or disabled updating of the NoteTab application window. Disabling updating when a repetitive sequence of Clip commands affects the text layout can significantly improve the processing speed. The scope of this command is limited to the Clip (and eventual sub-Clips) where it was invoked. When a Clip ends, screen updating is automatically re-enabled.

^!SetErrorLabel LabelName
Defines a label to which execution should jump whenever the error flag is set. The scope of this command is limited to the Clip where it was invoked. When an error label is defined, the ^!IfError command is ignored.

^!SetCursorPara Row:Col
Similar to ^!SetCursor command but treats long word-wrapped lines as single lines. Both functions have the same effect if word wrap is turned off.

^!OpenFavorites CategoryName
Opens all the documents listed in the specified Favorites list. CategoryName should be specified without a path name or extension.

^!SaveFavorites CategoryName
Adds all the currently open document names to the specified Favorites list. The Favorites category is created if it doesn't exist. CategoryName should be specified without a path name or extension.

^!ShowHeadings [True|False]
Shows or hides Outline heading names in the editor window.

^!ReloadLibrary
Reloads the current Clipbook library. Useful if another application has modified it.

^$GetText$
Returns the whole text contained in the active document.

^$StrSort("Str";CaseSensitive;Ascending;RemoveDuplicates)$
Returns the specified text "Str" sorted according to the defined criteria. For example, the following instruction will sort the lines contained in the Clipboard, in ascending order, ignoring character case, and removing duplicates:
^$StrSort("^$GetClipboard$";False;True;True)$

^$StrPosRight("SubStr";"Str";CaseSensitive)$
Similar to the ^$StrPos()$ function but searches from right to left.

^$StrPosMid("SubStr";"Str";StartIndex;CaseSensitive)$
Similar to the ^$StrPos()$ function but starts searching from the specified index position.

^$StrCopyRight("Str";Amount)$
Similar to ^$StrCopy()$ but copies the substring from the end of the specified string.

^$IsShowHeadings$
Returns 1 if headings are displayed in the outline document window and 0 if they are not.

^$IsHex(Value)$
Returns 1 if specified text is a hexadecimal number and 0 if it is not.

^$HexToInt(Value)$
Returns the specified hexadecimal value as an integer.

^$IntToHex(Value)$
Returns the specified integer value as a hexadecimal number.

^$GetIndexTopicName(Index)$ renamed ^$GetTopicName[(Index)]$
The old name is still kept for compatibility purposes.

^$GetIndexDocName(Index)$ renamed ^$GetDocName[(Index)]$
The old name is still kept for compatibility purposes.

^!CopyFile "FileSpecs" "Destination"
Now overwrites the destination file if it exists (actually sends it to the recycle bin).



Changes in Version 4.51
-----------------------
* Improved Favorites menu: Category menu items now open up to display their content. Each Category submenu also includes a "Make Default" and "Open All" command.

* Added new functionality to Favorites feature: pressing "Ctrl + Favorites menu item" opens the Save As dialog box configured according to the directory and file name represented by the item. Useful for saving documents in a specific directory or with a predefined name.

* Improved "Strip HTML Tags" function. Comments using <!--...--> tags are now properly removed. List items are preceded with bullets or numbers depending on the nature of the list.

* Toolbar/shortcut menu now offer the Justify and Reformat commands.

* New option to disable warnings when binary characters are substituted in loaded files.

* Document tabs can be configured to make a sound when clicked with the mouse.

* Added support for multiple file masks when doing Search Disk operations: c:\NoteTab\*.txt;*.otl;*.htm*

* New shortcuts to move focus between the Clipbook and the active document: Shift+F4, and between the Quick List and the active document: Shift+F7

* NoteTab Pro now supports the following keyboard actions:
   Ctrl+Up/Down - moves cursor from one paragraph to the next
   Ctrl+Backspace - deletes the word to the left of the cursor

* Added support for basic regular expressions:
 + Find and Replace dialog box:
 click on empty area with right mouse button and choose "Regular Expression"
 + Find and Replace Clipbook commands:
 use new option: "R"
 - Important: the Replace criteria does not support regular expressions at this stage.

-> Regular Expression tokens:
 * = match zero or more of preceding character
 ^ = beginning of line
 $ = end of line
 \ = escape next character
 - = used in [a-z] type expressions
 ^ = negate next character/range in [a-z] expression
 [ = intro for [a-z] expressions
 ] = outro for [a-z] expressions
 . = match any single character

* New option for Find and Replace Clip commands: "C" forces command search for whole words only (see Help for details).

^!SetWordWrap ON/OFF
Clip command to change word wrap mode in active document.

^$Calc(Expression[;Decimals])$
Clip function for calculating mathematical expressions.

^$GetDate(DateMask)$
Clip function for configuring dates and time based on mask.

^$StrFixLines("AnyText")$
Clip function to correct carriage returns in text criteria.

^$IsBookmark(Index)$
Clip function to determine if specified bookmark is used.

^$GetTopicIndex[(TopicName)]$
The GetTopicIndex function can now optionally accept a topic name, and returns its index number.

^!SetHintInfo AnyText
Clip command to turn status bar Clip messages on or off. When you specify text, it will be displayed in the status bar instead of the usual Clip message. To re-enable the display of normal Clip messages, just invoke the command without any text. This command only has an effect during the time the Clip is running.

^!SetIniFile Name
Defines where Clip variables are saved when using the SaveValue command and other related functions/commands. By default, variables are saved in NoteTab's INI file (or registry if so configured). Use this command to define a different INI file. If you do not specify a path in the name, the specified INI file will be created in the Libraries directory. If you plan to distribute your library file, consider giving your INI file the same name as your library file (without the extension); you can use the ^$GetLibraryName$ for this purpose. The scope of this command is limited to the library in which is invoked. It is reset when you change libraries or close the Clipbook. Invoke the command with no name to save again in NoteTab's INI file.
The following commands and functions support an optional section name if you specify an alternative INI file with the SetIniFile command:
  ^!SaveValue [Section:]Key=Value
  ^$GetValue("[Section:]Key")$
  ^!ClearValue [Section:]Key
  ^!ClearValues [Section]

^$GetIniFile$
Returns the name of the INI file defined by the SetIniFile command. Returns a blank string if NoteTab's INI file is used.

^!IfError now supports ELSE labels.

^!Select Eol/Bol now extends the pre-existing selection.

* Improved speed when launching console applications.

* Improved behavior of TypeBack and PasteBack Clip commands.

* Maths parser now supports local decimal delimiter (e.g. Switzerland: PI = 3,14159).

* Added missing topic on "Mask Characters" to Help file.

* Fixed removal of Duplicates option which was ignored by the Sort command.

* Printing through NoteTab from Windows Explorer now works again.

* Fixed bracket matching bug.

* Fixed minor errors in the Clip Assistant library.

* Other minor enhancements and bug fixes.



Main Changes in Version 4.5
---------------------------
* Many enhancements to the Clipbook syntax. The Clipbook is now programmable. Some of the features are only available in the commercial and trial versions of NoteTab. A warning is displayed in NoteTab Light if you attempt to activate a Clip that uses enhanced code which is not available in the Freeware version.

* You can now double-click in listbox controls within a Clip Wizard as an equivalent to clicking on the OK button.

* Clip names can be "disabled" by placing an underscore (_) in front of the name. The color of the name changes to gray and the user cannot execute the Clip with the mouse or the keyboard. Disabled Clips can, however, be executed from other Clips. Just add another underscore in front if you want such a character displayed in the name but don't want the Clip to be disabled.

* The Clip Assistant now displays Clip Wizards to help develop Clip programs. Only fully operational in the commercial and trial versions of NoteTab.
Menu: Tools|Quick List Properties|Clip Assistant

* Integrated support for Perl and Gawk scripts (through Clipbook commands; see ^!RunPerl and ^!RunGawk).

* Significantly updated the HTML Clipbook library and improved several of the others.

* HTML-Color picker to insert color codes in web page.
Menu: Document|Insert HTML Color (Ctrl+F5)

* NoteTab Pro: Improved HTML-tag highlighting. Entity names are now highlighted, as well as tags containing carriage-returns. Comment tags are highlighted as disabled text (gray by default).

* NoteTab Pro: Optional left-margin ruler to display line numbers (menu: View|Line Numbers).

* NoteTab Pro: You can now jump to a specific paragraph number (as opposed to wrapped lines) with the Search|Go to Line command. Just place a letter "p" in front of the number to signify that it represents a paragraph number rather than a line number (no difference when word wrap is off). For example: "p20" will set the cursor at the beginning of the 20th paragraph. Note that a paragraph, as described here, represents a line that starts from the end of the previous paragraph or the start of the document, and ends with a carriage return or at the end of the document.

* Justify command. This command is only available in the commercial and trial versions of NoteTab.
Menu: Modify|Alignment|Justify

* Reformat Lines command (with option to justify). This command is only available in the commercial and trial versions of NoteTab.
Menu: Modify|Lines|Reformat Lines (Ctrl+Shift+M)

* Count command to count the frequency of a text criteria.
Menu: Search|Count Occurrences

* "Quick Open Links" option under the Tools menu; when set you do not have to hold down the Ctrl key to activate a hyperlink with the mouse.

* Hyperlinks in documents can now launch other programs.

* Improved launching of NoteTab when multiple copies are executed simultaneously.

* Added commands in system menu of Find/Replace/Search Disk dialogs to let you change the default opening position of the window. Set the command "Open Centered" to determine if the window should be opened centered in the screen; turning it off will cause it to open at the current position.

* Added "Round" function to Maths parser.

* "File List" tool renamed "Quick List". You can now specify multiple file-types in Quick List when displaying disk files. Each distinct criteria must be separated with a semi colon (;). Example: c:\images\*.gif;*.jpg;*.jpeg

* New command-line parameter to set Clipbook library: "/L=LibraryName".

* Clipbook: ^!Insert command has been renamed ^!InsertFile.

* New switch for ^!Find and ^!Replace Clip commands: "H", limits search within highlighted text. The option is ignored if no text is highlighted.

* You can now set the font of the Find/Replace fields in the corresponding dialog boxes. Right click on a blank area of the dialog box to open the shortcut menu with the Font command.

* By default, tab drag-and-drop reordering is now disabled when the document tabs are stacked. You can enable drag-and-drop reordering through the tab bar's shortcut menu command "Allow Reordering" or by double-clicking on the tab (toggles the setting).

* Certain NoteTab file types are now organized in subdirectories. The following structure is used:
 NoteTab\
   |_ Libraries\       (takes all *.clb files)
   |_ Scripts\         (can use for Perl, Gawk, and other scripts)
   |_ Sounds\          (takes all *.wav files)
   |_ Favorites\       (takes all *.fvr files)
   |_ Dictionaries\    (takes thesaurus and all dictionary files: *.thr, *.dct, *.udt)
   |_ Documents\       (can use for NoteTab documents: *.txt, *.otl, etc.)
   |_ Templates\       (takes all *.tpl files)

* Changed the way the toolbar icons are loaded. This new method should fix the display problem on systems not running Internet Explorer 4.0 or higher.

* Many minor enhancements and glitch fixes.



The NoteTab Mailing List
------------------------
The mailing list is a great place to meet other NoteTab users -- friendly people from all walks of life, and ranging from complete beginners to experts. If you are a "newbie", ask some of the "old timers" some basic questions to help get you started. Also use this list to exchange ideas, share neat tips and tricks, ask questions, suggest new features, etc. Whether you are a registered NoteTab user or not, you are welcome to join. And best of all, it is free. You will find more information about this list on the following web page:

   http://www.notetab.com/maillist.htm (main site)
or
   http://www.notetab.ch/maillist.htm (Swiss site)



Hope you enjoy the new features!
--Eric G.V. Fookes

________________________________________________________
NoteTab is a trademark of Eric G.V. Fookes, Switzerland 
 Copyright  1995-1999, Eric G.V. Fookes, Switzerland
              - All Rights Reserved -

Windows is a trademark of Microsoft Corporation registered in the U.S. and other countries.  
All other trademarks and service marks are the property of their respective owners.
