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.2, 220K) |
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)
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.
The user may change the content in any way they chose, with two constraints:
All other content is at the user's discretion.
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
The TreeView is always sorted by category, but names within each category are sorted according to the ListView settings.
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.
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.
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 File Button
Toolbar Bookmark Button When pressed, the toolbar bookmark button bookmarks the currently selected Note. Its dropdown arrow provides the following context menu selections:
Toolbar Events Button When pressed, the toolbar bookmark button displays a report of all events within +/- 5 days of today. Its dropdown arrow provides the following context menu selections:
Toolbar Events Button
Toolbar Actions Button When pressed, the toolbar Actions button closes all open Viewing dialogs. Its dropown arrow provides the following context menu selections:
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:
When not checked, the TreeView/ListView controls are fixed size and all dialog size changes are incorporated in the note Editor.
Toolbar Help Button
When pressed, the toolbar Help button opens the online Help page.
Its dropown arrow provides the following context menu selections:
The TreeView context menu items are:
The ListView context menu items are:
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:
Additionally, the note Editor has these two additional context menu items.
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!