 |

LetItB
e
Version 0.1.0
Database program
Copyright © 1998 Pascal Goguey. All rights reserved.
|
0. You don't like reading docs?
Don't bother. Go directly to the tutorial and play with the software.
|
This is a first draft of a database software. Call it "proof of concept",
"exercice de style", whatever. It is a little bit sketchy, probably full of
bugs, but it features an interesting dynamic GUI.
|
1. What it does.
This version is a single window and single file
version (let's start simple!) of a database software.
The maximum you can expect of it now is an address book
functionality level. It allows you to edit your own
interface objects (buttons and fields) and to set up
a little database which is limited to 30 fields.
The program window is divided into two sheets associated with
tabs: a database sheet and a layout editor sheet. I will
mostly describe the layout editor sheet. The database sheet
functionality will highly depend of what you put inside.
The database sheet functionality will be described when talking
about the user-defined commands.
In this first version, the window cannot be resized. The
reason is the object editor which looks ugly when the window
is bigger. This problem will be fixed with the graphical
object editor in a later version.
|
|
1.1 The layout editor sheet.
I'm aware that calling this an editor is a little bit optimistic.
What it does: the layout sheet allows you to edit the characteristics
od interface objects to be used in the database, and which will appear
in the database sheet (which starts its life empty). It is possible
to create only two kinds of objects at present: buttons and captions.
Due to their specific characteristics, they are each in a specific
sub-tab. Here is a short description of the fields of the caption
settings:
- Geometry: the location and size of the object in the
DataBase sheet. These coordinates are not a rectangle, but the coordinates of
the top-left point, the width and the height, which is easier when designing
several objects having the same size. They can be separated by a space
or a comma, and they are expected to be integers. Any other format will
result in unpredictable behaviour.
- Label: whatever you want to call your object (e.g. Name,
ID, phone...)
- Label width : the width of the label part of a caption.
- Label alignment : exactly what this suggests.
- Text alignment : can be LEFT, RIGHT or CENTER (caps only).
Default alignment is LEFT.
The button's Geometry and Label are the same as for the Caption.
The command specifies what will be the function of the button.
Here is a list of the commands that you can assign to a button.
Important: these commands are the possible commands the user can
assign to user-defined buttons in the database area, not the commands
of the five buttons of the layout editor which will be described in
parahraph "Editor Sheet Functions".
- PREV : show previous record. Show nothing if there is no
record. If already at first record, stay there.
- NEXT : Show next record. Stay at last record if already there.
- NEW : basically does nothing, except resetting all the
fields. Can be useful to change completely the nature of the next record.
However, storing records with many common parts is easier by keeping the
fields filled, and changing only the proper records.
- STORE : puts the record into the file. At that point, the
user should know that the first field he has defined is the main field. The
concept of main field will be useful in a later version to link two databases
using one field. If another record has the same main field, the program will
ask if it should modify the record, add a new one with the same name, or do
nothing.
- DEL : Deletes the current record.
- FIND : A first push on Find cleans the fields. You can
enter data in one of the fields and push again find to find the records
containing that data in the SAME FIELD. Subsequent pushes on the FIND button
will get the next matching records. At the last matching record, subsequent
pushes on Find have no effect.Important: if you want to request another
search, you must reset the find function. Push any button except Find, and
then push Find to set a new request.
The button commands must be specified in capitals.
If it is not clear, you can have a look at the tutorial that creates
a database that looks pretty much like the application "people"
I think it is almost over for the buttons functionalities. The caption
fields are rather classical, and they probably do not need further description.
Editor Sheet Functions:
- Previous :
Edits the field description which is before the currently edited field
description. If at the beginning of te list, clicking previous edits the
last field descripton.
- Next :
Edits the field description which is next to the currently edited field
description. If at the end of te list, clicking previous edits the
first field descripton.
- New :
Does basically nothing. It cleans all the fields to enter a new record.
But usually few parameters change, so it is quicker to change only those
parameters. For instance if you edit a column of objects, only the second
parameter of the geometry and the name will change.
- Create :
Puts the object configuration of the current object to the file.
- Delete :
Removes the currently edited object description from the file.
|
|
1.2 The Database Sheet:
As the database sheet is designed by the user, there is not so much
to write here. The functionalities of the buttons the user may setup
have already been defined earlier (see paragraph 1.1).
|
|
2. The next versions:
As said previously, this version is rather sketchy, especially the
object editor. One of the next versions, and probably the next one,
will feature a graphical object editor. That will take some time,
since I need first to step 5 meters backwards to have a better overview,
and probably rebuild the software better and with new ideas. Since I also
need to work sometimes for my employer, that may take a while.
Here is an idea of what will change / stay as is in the future:
- The find function will be enhanced. The current find is only sequential,
and therefore inefficient.
- New objects will be implemented. For instance a text view which is
useful when there is a lot of info in one field.
- Scripting will be adopted in order to automatically stuff data into
the file.
- As the roots of this program were a Japanese/French dictionary, a dictionary
file will be provided (after R4 for Japanese support). Some support for existing
dictionaries will be added.
|
|
3. Bugs: Please send me the bugs you find and if possible the conditions in which they occured.
As I have made many last-minute bug fixes in ANSI shitty code, I am afraid many
last-minute bugs have been introduced...
|
|
4 Copyright & license. This version is free
for the time being, and may be freely copied / distributed. I have read
somewhere a suggestion of "Beerware" which sounds very interesting.
So, if you live in Japan, send me a beer coupon. If not, you have to
promise me to invite me for a few drinks if you ever come to Japan.
|
|
|
5 Disclaimer.
No warranty of any kind. By using this software, the user agrees
that the author cannot be held responsible of any problem on his software
and hardware.
|
|
|
6 Acknowledgements.
Special thanks to Laurent Safa whose only defect is to be a Windows
programmer, and to Raphael Moll for many useful hints.
|
Copyright © 1998 Pascal Goguey. All rights reserved.
|