Freeware
Freeware
My Freeware

Shareware
Shareware
My Shareware
PCMag Utilities

Special Sections
Combined List
Reviews
Developer Tools

Resources
Web Sites
Newsletters
Newsgroups
Organizations
SIA Awards

Quick Links
gbAnimator
gbCase
gbCodeLib
gbSnippets
gbGallery
gbNavigate
gbOfficeTimer
gbPlot
gbRegistry
gbReplace
gbSIRTS
gbSnippets
gbStreet
gbText
gbVRML
gbWebCam
gbXML

GBIC >> Software >> gbFreeNotes
gbFreeNotes

gbFreeNotes is an easy to use database application which uses PowerBASIC statements and API to implement all database operations. gbFreeNotes demonstrates that implementing basic database capabilities need not depend on the use of commercial database engines, such as SQL.

Other key features include mutliple views of the data (ListView by name and TreeView by category), freestyle content editing, light encryption and multiple sort options.

Another key feature of gbFreeNotes is that the database consists entirely of text content, which allows a user to open and edit the database using text editing applications of their choice.

Download (v1.1, 250K)

 

Feature List

gbFreeNotes provides basic operations for viewing and modifying Notes. It also provides features which act on the Note content (event reports, send email, ... etc.).
    OverView:

  • All-text database content
  • No external database engine (PowerBASIC statements/API only)
  • Multiple note viewing formats (TreeView, ListView, popup Viewing dialogs)
  • Standard file options (New/Open/Save/SaveAs)
  • Standard note editing features: New/Add/Delete
  • Freestyle multi-line note editor
  • Encryption
  • Search, including Boolean AND/OR and Whole Word options
  • Support for events (birthdays, appointments, ..., etc.)
  • Send email via default client
  • Open URL in default browser client
  • File and search term history
  • One-click backup
  • Font selection
  • Select multiple notes (Copy/Print/Delete)
  • Single instance limitation to protect database override
  • Online EXE update
  • Online Help


Using gbFreeNotes

Notes are displayed in two ways - by name (ListView control) and by category (TreeView control). By default, all notes are displayed in both controls. Following a search, both controls contain only those notes containing the search terms. When a session closes, the current list of displayed notes is saved for display in the next session.

The TreeView and ListView selections are synchronized, i.e., they contain the same notes and the same note is selected in each control.

Freestyle editing of notes is allowed in the note Editor (textbox). The first line in the Editor is always the note name (for display in the ListView). The second line is always the note category (for display in the TreeView).

All other note content (lines of text) may be entered in any way the user chooses.

When changes are made in the note Editor (Textbox) to the name or category, the changes show up immediately in the ListView and TreeView controls.

In addition to viewing note content in the note Editor, read-only popup dialogs are also available to view notes. Any number of popup dialogs may be displayed at one time.

Searches are always made against the entire database, regardless of which notes are currently displayed in the ListView/TreeView lists. When a search has completed, only notes matching the search requirements are displayed in the ListView and TreeView controls.

At any time, the display can be refreshed to show all notes in the database.

Only one instance of gbFreeNotes is allowed. If you attempt to open a 2nd instance, the existing instance will become active.

Here's a summary of the primary features available in gbFreeNotes ...

File Actions
Open, New, Save As, Save, Backup, Encryption, File Save/Open History

Note Actions
Edit, New, Delete, View

Search Options
Boolean AND/OR search, Search Term History

Multi-Note Actions
Delete, Copy, Print

Internet Actions
Send Email via user default email client

GUI Elements
ListView (note list, search result list)
TreeView (category view)
Toolbar (actions/settings)
TextBox (built-in note Editor)
Popup Note Dialogs (view-only of individual notes)
Main Screen Search (boolean search of notes) FIND Dialog (boolean searches of notes)


Database Format

Note content is stored as text. There are 5 fields stored in the database, one field per line of text, except for the blog field, which is a multi-line field consisting of lines of text separated by a $CRLF.

The number of allowed characters in each field is given to the right of the field name in the following table:

   Name                         (100)   
   Category                     (35)
   Date Last Modified           (20)
   Display Status               (1)
   Blog                         (5000)

The benefit of an all-text format is that the user can, if the need arises, view/edit the database content in other client software.


Note Editing

The built-in note Editor (textbox) is used to edit notes. When a note is selected in the ListView or TreeView controls, the full note content is displayed in the note Editor.

The user may change the content in any way they chose, with two constraints:

    1. The first line must contain only the note name
    2. The second line must contain only the category.

    All other content is at the user's discretion.


    Viewing Notes

    In addition to viewing content in the note Editor (textbox) popup note viewing dialogs are available, via the toolbar View button, for viewing notes in read-only mode.

    Any number of popup View dialogs can be displayed. This is useful when wanting to compare note information, where the notes are far apart in the displays lists.

    Use the toolbar View button to open a viewing dialog for the currently selected note. Pressing Enter while in the ListView or TreeView control will also open the current note in a viewing dialog, as will double-clicking on a note


    Sorting

    Database notes may be sorted by name by clicking on the ListView column header. Each header click alternates the sort between ascending and descending sorts. A sort direction arrow is provided in the ListView header.

    The TreeView is always sorted by category, but names within each category are sorted according to the ListView settings.


    Search Options

    gbFreeNotes provides two ways to search for notes. As a result of a search, the TreeView and ListView controls will contain lists of matching notes. To return to a listing of all notes in the database, just press the "List All" toolbar button, or use the Ctrl-L shortcut.

    Main Screen Search Controls
    On the main screen is a combobox control in which search terms may be entered. Pressing enter while in the combobox control, or pressing the Search button next to the combobox will initiate a search.

    The combobox dropdown list contains the last 5 terms used in searches.

    The type of search (Case Sensitive, Whole Word, or Boolean) may be set using the toolbar Settings button dropdown context menu. See the Settings context menu discussion below for more details.

    The setting "Allow AND/OR Search" allows the user to enter "A and B" or "A or B" as a search term, which will override the default Boolean settings.

    FIND Dialog
    The Find dialog may be opened by pressing the toolbar FIND button or the Find menu item on the TreeView/ListView context menus. F3 and Ctrl-F may also be used to open the Find dialog.

    Following a search, the ListView and TreeView controls will list only those notes matching the search. To return to a listing of all notes in the database, just press the "List All" toolbar button, or use the Ctrl-L shortcut.

    The FIND dialog opens with the most recent search term displayed. Simply press the Search button to initiate a search. Pressing ENTER in the searchterm term textbox will also initiate a search.

    By default, searches are case insensitive. Check the case sensitive check box to make Searches case sensitive.

    The search string entered may consist of more than one word. Select the AND/OR/String FIND dialog settings to determine if the entire string is searched for, or if the individual words in the string are searched for as AND (all words must be found for a note to match) or OR (any word must be found for a note to match).

    The setting "Allow AND/OR Search" allows the user to enter "A and B" or "A or B" as a search term, which will override the default Boolean settings.


    Encryption

    gbFreeNotes allows encryption of the database text file. When the toolbar Encrypt button is pressed, all future Saves of a database will encrypt the database and require the entry of a password by the user.

    gbFreeNotes accepts any character string for a password. There's no built-in requirement to provide a "strong" password. It's up to the user to decide the password length, character makeup, etc.

    When encryption is applied to a database, the first byte of the database is set to the character Chr$(7). The first byte of an un-encrypted database files is set to the character "-".

    When an encrypted database is opened, the user will be asked for a password. The password will be applied to the file, so if the wrong password is entered, the display may contain unreadable content.

    gbFreeNotes provides a simple XOR encryption. If you want better security, I highly suggest that you replace the EncryptText() function with a function of your own.


    Events

    gbFreeNotes provides support for one or more Events (birthdays, holidays, ...) per note. Additionally, a summary report is available which shows the events on the current day, as well as +/- five days to either side of the current date.

    To create an event, insert a line with information formatted as follows, where the text "Event:" designated the beginning of an event. The items in the line must be separated by exactly one space.

       Event: Bday 09-12-1951
    

    Events are entered as string pairs, where the first string gives the event name and the second string gives the event date. Only the month/day (09-12 in the example above) is used to generate the Event Report (image above). The Julian date of the event (using the extracted month/day plus the current year) is used to compare against today's date.

    Event Name strings may not include spaces. Date strings must be of the MM-DD-YYYY character format, as shown in the example above. gbFreeNotes will accept any event string, but the Event Report will work on with the format just described.


    Toolbar

    The following features are available from the gbFreeNotes toolbar.

     

    • File
      Opens an existing database. The user will first be prompted to save any un-saved changes in the current database. The dropdown arrow presents a context menu with additional file options.

    • New
      Adds a new note to the database (placed at the end of the note list)

    • Delete
      Deletes all checked notes

    • View
      Views the currently selected note using a popup View dialog

    • View All
      Displays all notes in the ListView control

    • Find
      Opens a FIND dialog in which the user enters a search term. After a search, all matching notes are displayed in the ListView and TreeView controls. See the section below for more information on searches.

    • Copy
      Print the selected content from the note editor (all content if no selection)

    • Print
      Print the selected content from the note editor (all content if no selection)

    • Email
      Open default email client, with email addressed to the first mail address found in the note Editor.

    • Actions
      Closes all viewing dialogs. The dropdown arrow presents a context menu with additional actions.

    • Events
      Displays the Event Report. All database notes are used in the report, not just those notes lists in the ListView.

    • Encrypt
      Enables encryption when database files are saved

    • Settings
      Places gbFreeNotes on top of all other open applications. The dropdown arrow presents a context menu with additional settings.

    • Help
      Opens this online Help file. Additionally, the dropdown arrow associated with the Help button provides the following dropdown menu option:


    Toolbar Context Menus

    The SaveAs and Settings toolbar buttons provide dropdown menus, as follows:

    Toolbar File Button

    • New
      Creates a new, empty database.

    • Save
      Saves the current database.

    • SaveAs
      Prompts the user to enter a new file name in which to save the current database.

    • Backup
      A copy of the current database (user is not prompted to save changes) is saved to the "temp" subfolder and given a new name. The new name is the database file name appended with the string ".bak". Saving the database to folders other than "temp" is not supported.

    • File History
      A list of the last 5 opened or closed files is provided, allowing the user to easily re-open recent files.

    Toolbar Actions Button When pressed, the toolbar Actions button closes all open Viewing dialogs. Its dropown arrow provides the following context menu selections:

    • Select Font
      Opens the FONT selection dialog

    • Display Event Report
      Displays a dialog listing events +/- 5 days from today

    • Close View Dialogs
      Closes all open viewing dialogs

    • Clear File History
      Removes all files, except the current file, from the file history list

    • Clear Search Term History
      Removes all search terms from the search term history list

    Toolbar Settings Button When pressed, the toolbar Settings button puts the gbFreeNotes window on top of all other application windows. Its dropown arrow provides the following context menu selections:

    • Confirm Delete
      By default, the user must confirm deletion of notes (one confirmation for all notes). Uncheck this setting to delete notes without confirmation.

    • AutoSave On Exit
      By default, when closing gbFreeNotes, the user is asked to save any changes made during the session. The AutoSave setting skips the confirmation and will automatically save any changes when gbFreeNotes is closed.

    • FileName in Title
      Displays the database files name (just the Name-Extension, not the path) in the gbFreeNotes titlebar

    • Double-Click To Edit
      Toggles double click action on a ListView note - between opening the note in a View (read-only) note dialog or opening the note in an Edit note dialog.

    • On Top
      Keeps gbFreeNotes displayed on top of all other desktop applications.

    • Event Report on Startup
      Displays an Event Report when gbFreeNotes is started.

    • Resize All Controls
      When set, this option allows the TreeView and ListView controls to be resized when the gbFreeNotes dialog is resized. The two controls are each given 1/4 of the dialog width. The note Editor is given 1/2 of the dialog width.

      When not checked, the TreeView/ListView controls are fixed size and all dialog size changes are incorporated in the note Editor.

    • Case Sensitive Search
      Forces searches to be case sensitive

    • Whole Word Search
      Forces searches to be whole word searches

    • Allow AND/OR Search
      Allows the user to enter "A and B" or "A or B" to override the default Boolean settings.

    • Search As String
      Multiple search terms may be entered. This option treats the multiple terms as one long search string.

    • Search Any Term
      Defines a matching note as one that contains any one of the search terms.

    • Search All Terms
      Defines a matching note as one that contains all of the search terms.

    Toolbar Help Button
    When pressed, the toolbar Help button opens the online Help page. Its dropown arrow provides the following context menu selections:

    • Online Update
      Checks the gbFreeNotes server to see if a new version of the EXE is available for download.


    ListView/TreeView Context Menus

    The TreeView and ListView controls also provide context menus.

    The TreeView context menu items are:

    • Expand All Categories
      Expands all category nodes in the TreeView

    • Collapse All Categories
      Collapses all category nodes in the TreeView

    • Collapse All Other Categories

    • Copy
      Copy the selected content from the note editor (all content if no selection)

    • Print
      Print the selected content from the note editor (all content if no selection)

    The ListView context menu items are:

    • Check All
      Check all notes currently in the ListView control

    • UnCheck All
      UnCheck all notes currently in the ListView control

    • Copy
      Copy the selected content from the note editor (all content if no selection)

    • Print
      Print the selected content from the note editor (all content if no selection)


    TextBox Context Menus
    There are 3 textboxes in use by gbFreeNotes. The note Editor, the search combobox edit box, and the Find dialog textbox. Each has a context menu, with the first four items in this image common to all textbox context menus:

    • Copy
      Copy selected text to the clipboard

    • Cut
      Cut the selected text from the textbox, and place on the clipboard

    • Paste
      Paste clipboard text at the caret in the textbox

    • Delete
      Delete the selected text from the textbox

    Additionally, the note Editor has these two additional context menu items.

    • Open Selection as URL
      Treats the selected text as a URL, sending it to the user's default browser.

    • Send Selection as Email
      Treats the selected text as an email address, sending it to the user's default email client.


    Keyboard Shortcuts

    The following key combinations are available to the user to access gbFreeNotes features:

    • F1 - Help
    • F3 - Find dialog
    • Ctrl-D - Delete selected note
    • Delete - Delete selected note
    • Ctrl-F - Find dialog
    • Ctrl-L - Show all database notes in ListView control
    • Ctrl-M - Display popup dialog with full note information
    • Ctrl-N - Add a new note (shows an Add popup dialog)
    • Ctrl-P - Print selected content from note Editor (all content if no selection)
    • Ctrl-T - Run test code
    • Ctrl-Y - Toggle debug print statements


    Other Comments

    Miscellaneous information is provided in this section.

    Sessions
    When gbFreeNotes starts, it restores the previous session content.

    INI File
    gbFreeNotes application settings are saved in an INI file, kept in the same folder as the gbFreeNotes application.

    Misc Comments
    Here are a few other comments regarding the operation of gbFreeNotes.

    Checks are not saved between sessions.

    There is no undo.

    SORT/FIND/View All actions result in the FileChanged flag being set, requiring the user to confirm saving the database when a session is closed.

    Actions causing setting of the FileChanged flag also include, deleting a note, building a fake database, adding a note, editing a note, attaching a file, or removing an attachment.

    The FileChanged note is reset when the database is saved, saved to file, an existing database is reopened or a new database is created.

    Comments and suggestions are welcome!

     

 
New: dirty image on toolbar Note instead of Record Accel DEL removed "Gary" search term in INI