home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Micro R&D 1
/
MicroRD-CD-ROM-Vol1-1994.iso
/
os20
/
cli
/
getstring100.lha
/
GetString
/
GetString.txt
< prev
Wrap
Text File
|
1993-01-19
|
6KB
|
164 lines
GetString
~~~~~~~~~
A small utility for the Shell
By Diego Caravana
1. Legal Stuff
==============
GetString is placed in the Public Domain for the Amiga.
No fee is requested to use it, nor anyone can ask anything for it
(except for the media). Feel free to use it, but AT YOUR OWN RISK, as
I cannot be considered responsible for any damage caused to your
system. Have Fun!
2. What is ?
============
GetString is a small utility that I have written mainly for me, but I
think it can be very useful also for you. It is a Shell-only program
and its work should be clear: it opens a string requester and store
the result in an environment variable (either local or global), that
can be used in Shell scripts in a very simple way.
3. How to use
=============
It requires OS 2.04+ and the fabulous ReqTools.library (hi Nico!).
As said above, GetString is a Shell-only program, so do not try to use
from Workbench. It uses the standard parser of OS 2.x. Try to
execute GetString with a `?' as argument and you will get something
like this:
TITLE/A,STRING,VAR=VARIABLE/K,GLOBAL/S
Now, a little explanations of arguments:
TITLE/A you MUST supply a string that will be the title of
the requester; if you do not do, there will be an
error.
STRING/K is a string that will appear in the string gadget
inside the requester and then will be the default
string returned.
VAR=VARIABLE/K is the name of the environment variable that will
contain the input of the user; it must obey to the
rules of DOS; the default is `GetStringResult'.
GLOBAL/S if present (/S determines this behaviour), the
variable will be global; the default is local.
The keywords above followed by `/K' MUST appear in the command line
followed by their argument. Remember to use apices when necessary!
A simple example of how to use GetString is given below:
; stuff...
GetString "Insert Date:" STRING "24-02-1972 4:00" VAR tmpDate
date $tmpDate
unset tmpDate
; even more stuff...
Note that in the GetString line, you must NOT include the $ sign before
the variable name!
Again, note that the title MUST ALWAYS be supplied; this is a feature,
because it is fundamental when the requester appears. Try to imagine
a requester without a title appearing in front of you... :)
4. The Language
===============
I have used E language to write GetString. What? E ?! Yea!
But why? Because it is a very powerful simple-to-use language dedicated
explicitly to our Amiga. It offers an incredibly vast number of features,
some of which follows directly from the `mouth' of the author:
"E is a procedural higher programming language, mainly influenced by
languages such as C and Modula2. It is an all-purpose programming language,
and the Amiga implementation is specifically targeted at programming
system applications. The major features of the language/this implementation
include:
- Compilation speed of 10.000 to 35.000 lines/minute on a 7mhz Amiga 500,
25.000 to 85.000 l/m on a 14mhz Amiga 1200 (both _without_ fastram)
- Produces small and fast executables from sourcecode in one go: linker,
assembler and other program modules integrated into the compiler
- True Inline Assembly with identifier sharing
- Module system for import of library definitions/constants/functions
(much like TurboPascals UNITs)
- Large amount of integrated system functions: OpenW(), OpenS(),
Gadget(), WriteF(), TextF(), and numerous string/list/IO functions.
- All librarycalls of Exec, Dos, Intuition and Graphics of 2.04
integrated as system functions into the compiler: call them without
opening the library or including files. All other libraries accessible too.
- All commodore's 2.04 includes available as E modules
- Flexible and powerfull "type" system: one basic non-complex 32bit
LONG variable, and datatypes ARRAY, STRING, LIST and OBJECT,
code-security and generallity through low-level polymorphism.
- LISP functionality: quoted expressions, functions like
Eval(), ForAll(), Exists()
- immediate lists, typed lists
- exception handling a la ADA
- compiles compact small programs with SMALL code/data model and large
applications with LARGE model in seconds
- Managable development system: one executable (the compiler/assembler/
linker) and optionally a set of Module files is all you will need."
Cool, eh? Try it, if you do not believe to your eyes ! :-)
How to contact the author:
Wouter van Oortmerssen ($#%!)
Levendaal 87
2311 JG Leiden
HOLLAND
or if you have access to Email:
Wouter@alf.let.uva.nl (E-programming support)
or: Wouter@mars.let.uva.nl (personal)
or: Oortmers@gene.fwi.uva.nl (other)
5. The Author
=============
If you want to send me bug-reports or a time-bomb *:-(, I can be
contacted in the following manners:
by snail-mail
Diego Caravana
V. Liguria, 24
10071 Borgaro (TO)
Italy
by e-mail
FIDO 2:334/308
2:334/308.9
AMIGANET 39:101/3
Internet <soon>
To find me and the E language stuff, you can call the BBS on which I
am CoSysOp:
The New ATH
~~~~~~~~~~~
TEL +39-11-5629284
+39-11-5629290
FIDO 2:334/308
AMIGANET 39:101/3
Internet <soon>