[next] [previous] [top] [last] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [part]
This material appeared originally at Questo materiale è apparso in origine, nel 1997, presso |
Web-Counter: since 1996/09/04.
nanoBase (1) is a Dos program that works essentially as:
nanoBase 1997 is compiled in two versions: a small one to be used with old computers (i86 with 640 Kibyte RAM), and a second one to be used with better computers, at least i286 (or better) with 2 Mibyte RAM.
The dot command line is the first face of nanoBase, the one that appears starting the program normally. It recalls the dot line command of the old xBases.
Please note that nanoBase recognise only expressions (that is: no commands).
Pressing [F10] the nanoBase menu appears.
From this menu the operations are easier than writing all commands on a prompt line, but it is always possible to come back to the dot line to do an operation not available from the menu.
nanoBase is able to record some actions made with the menu and all what is correctly typed from the dot prompt. This may be the begin for a little program (called macro inside nanoBase) that can be executed as it is (ASCII), or compiled into another format, faster to execute.
Macros for nanoBase are made with a reduced set of the Clipper syntax. The statements recognised from nanoBase are:
PROCEDURE procedure_name
statements...
[RETURN]
statements...
ENDPROCEDURE
DO PROCEDURE procedure_name
BEGIN SEQUENCE
statements...
[BREAK]
statements...
END
DO CASE
CASE lCondition1
statements...
[CASE lCondition2]
statements...
[OTHERWISE]
statements...
END
WHILE lCondition
statements...
[EXIT]
statements...
[LOOP]
statements...
END
IF lCondition1
statements...
[ELSE]
statements...
END
the FOR loop is not available (too difficult to implement),
there may be no user defined functions (code blocks may be created instead),
procedure calls cannot transfer variables,
there are only public (global) variables.
Beside these limitations, there are many added functions to the standard language that make the programming easier.
All you need is inside NB.EXE:
the utility to handle manually the data,
the macro compiler,
the macro executor.
nanoBase can handle label (.LBL
) and form (.FRM
) files in the dBaseIII format. Labels and forms may be created and edited inside nanoBase. Beside these old report system there is another way to make a little bit complicated reports without making a complex macro: it is called RPT.
A RPT file is a ASCII file with text mixed with code. The text may contain variables (usually a field or an expression containing fields).
To make a complex report some work is needed, but surely less than the time needed to make a report program.
The main purpose of it was to be able to print text with variables (typically names and addresses) for every record of a particular .DBF
file. Now the RPT system makes something more.
nanoBase contains an integrated text editor not particularly good, but very usefull for RPT files (as the expression insertion is very easy with the use of the [F2] key) and whenever there isn't any other editor there.
nanoBase's documentation si translated also inside the HTF format: NB.HLP
. Pressing [F1], normally, a contextual piece of the manual appears.
Some standard functions have its own internal help, contained inside the .EXE
file. This was made to help programming with nanoBase.
Here is the 1997 edition of nanoBase.
EXE for small computers.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a1.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a1.zip>
EXE for i286 with more than 2 Mibyte.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a2.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a2.zip>
Runtime for small computers.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a3.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a3.zip>
Documentation in many different formats.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a4.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a4.zip>
Macro programming examples.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a5.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a5.zip>
Source for version 96.06.16, without mouse support (1996).
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a6.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a6.zip>
Source for version 1997.
<ftp://ftp.simtel.net/pub/simtelnet/msdos/database/nbase7a7.zip>
<http://www.alltheweb.com/search?cat=ftp&q=nbase7a7.zip>
Here is the list of known bugs and problems.
Comparison with floating point numbers may fail. It is better to convert numbers into string before comparing them.
Macros may be contained inside ASCII files or a ``compiled'' .DBF
file. In the second case, when nanoBase executes the macro, a work area (the last available one) is used, so it should not be closed or the macro execution will be stopped. A dbcloseall() will stop execution of the macro. In substitution of dbcloseall(), DBCLOSE() should be used.
To simplify the macro interpretation, lines such as this:
qqout( "You can't do that // you can't do that!" )
will generate an error as the interpreter will read only:
qqout( "You can't do that
nanoBase works good also if you have a screen configuration that permits you to show more than the usual 80 columns and 25 lines, but the library used to handle the mouse is not able to work outside the 80×25 area.
daniele @ swlibero.org
It should be possible to link to this page also with the name nanobase_1997.html
[next] [previous] [top] [last] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]