home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 2: PC
/
frozenfish_august_1995.bin
/
bbs
/
d09xx
/
d0928.lha
/
MRChoice
/
MultiRequestChoice.dok
< prev
next >
Wrap
Text File
|
1993-10-07
|
11KB
|
283 lines
MultiRequestChoice
Version 1.0 - 1. August 1993
Dokumentation
Entwickelt von Rainer Scharnow
Copyright (c) 1993 Rainer Scharnow
0. Einfⁿhrung
~~~~~~~~~~~~~
MultiRequestChoice ist ein Requesterutility fⁿr das C: Ver-
zeichnis. Es ist als leistungsfΣhiger und komfortabler Ersatz fⁿr
den ASK-Befehl und diverse andere Requesterutilities gedacht. Das
Programm ist sehr nⁿtzlich in Batchfiles oder ARexxscripts. Es
gibt zahlreiche Vorteile von MultiRequestChoice:
- Es ist sehr einfach, Requester mit lediglich einem bis
zu einer von Ihnen gewⁿnschten Anzahl von Gadgets zu
konstruieren
- Das Programm benutzt die extrem leistungsstarke
reqtools.library (c) Nico Franτois; deshalb war es
sehr einfach, sΣmtliche Features in recht kompakten
Code zu packen
- Der Informationstext des Requesters kann aus mehr als
einer Zeile bestehen, au▀erdem ist dieser optional
zentrierbar
- Der Requester kann optional auf jedem Publicscreen
ge÷ffnet werden
- Es gibt mehrere Optionen, den Requester zu positio-
nieren
1. Systemanforderungen
~~~~~~~~~~~~~~~~~~~~~~
MultiRequestChoice lΣuft nicht auf Amigas mit 1.x OS. Leute,
die diese Betriebssystemversionen nutzen, sei wΣrmstens ans Herz
gelegt, ⁿber ein Upgrade des Systems nachzudenken. Au▀erdem mu▀
sich die reqtools.library V38+ im Libs: Verzeichnis befinden
Das Programm sollte auf allen Amigas mit 68000 bis 68060 Pro-
zessor :-) laufen. Man braucht schlie▀lich keine speziellen Hard-
warehacks, um einen Requester auf den Screen zu bringen ;-).
2. Benutzung
~~~~~~~~~~~~
MultiRequestChoice ist ausschlie▀lich vom CLI aus zu benutzen.
Bei der Entwicklung stand im Vordergrund, ein Utility zu ent-
werfen, das Batchdateien bzw. ARexxscripts unterstⁿtzen soll; dem-
nach ist der Einsatz von der Workbench ziemlich sinnlos.
Es gilt folgende Syntax:
MultiRequestChoice <Reqtitle> <Bodytext> <Gad1|Gad2|...|Gadx>
[PUB|PUBSCREEN <Pubscreenname>]
[CENTRETEXT]
[SCREENTOPLEFT|SCREENCENTRE|MOUSECENTRE]
MultiRequestChoice erfordert unbedingt mindestens drei Para-
meter, sonst bekommt der User lapidar noch einmal die Syntax-
vorgaben ausgedruckt. Es folgt eine ErklΣrung dieser drei not-
wendigen Parameter:
- Reqtitle -
der Title in der Dragbar des Requesters
- Bodytext -
der Text, der im Requester als Informationstext steht
und die Aufgabe hat, den User ⁿber die augenblickliche
Situation zu informieren. Als Schmankerl wird eine
Newline-Option angeboten. Es handelt sich um die
Zeichenfolge '\n', die im Textstring angegeben werden
kann und einen Zeilenvorschub bewirkt. Es ist somit
m÷glich, Requester mit mehrzeiligen Informationstexten
zu produzieren. Wenn die Notwendigkeit besteht, im
Requester selbst das Zeichen '\' auszugeben, so mu▀
man lediglich '\\' im String anfⁿhren. C-Programmierer
wissen auf jeden Fall, was gemeint ist, bei Unklarheit
sollte man sich die Beispiele anschauen
- Gad1|Gad2|...|Gadx -
Parameter zur Angabe des/der Gadgets. Der User hat die
M÷glichkeit, eine von ihm gewⁿnschte Anzahl von
Gadgets in den Requester einzubauen. Die einzelnen
Gadgetnamen werden durch ein '|' getrennt. Gleich-
zeitig wird damit bestimmt, wie viele Gadgets auf-
tauchen sollen. Nebenbei ist noch eine Tastaturunter-
stⁿtzung enthalten. Ein '_' Character, der vor das
Zeichen im Gadgetstring, das als HotKey dienen soll,
eingefⁿgt wird, erlaubt eine Tasturauswahl der ein-
zelnen Gadgets. Auch hier wird auf die Beispiele ver-
wiesen.
In 99% aller FΣlle befinden sich einige Leerzeichen in den
Strings. Dieses Problem lΣ▀t sich bewΣltigen, indem man jeden der
Strings in Anfⁿhrungszeichen setzt. Dies hat natⁿrlich nichts mit
MultiRequestChoice zu tun, sondern ist ein Shell-Feature.
Letztlich gibt es noch ein paar nⁿtzliche Optionen, die das
Verwenden des Requesters au▀erordentlich attraktiv machen:
- Es existiert eine PUB oder PUBSCREEN Option (beides
bewirkt dasselbe), die ein Argument erfordert. Dieses
Argument ist der Name des PublicScreens, auf dem der
Requester erscheinen soll. Wenn kein PublicScreen exi-
stiert, der diesen Namen besitzt, so ÷ffnet sich der
Requester automatisch auf der Workbench - genauso, als
wⁿrde man die Option nicht verwenden
- CENTRETEXT hat die Aufgabe, den Requesterinformations-
text zu zentrieren. Die Option ist jedoch nur dann
sinnvoll zu verwenden, wenn ein mehrzeiliger Text aus-
gegeben wird, da einzeiliger Text sowieso zentriert
erscheint. Voreingestellt ist: linksbⁿndige Ausgabe
- Die SCREENTOPLEFT|SCREENCENTRE|MOUSECENTRE Option
entscheidet ⁿber die Position, also wo der Requester
auf dem Screen auftaucht. Bei Angabe von SCREENTOPLEFT
wird der Requester in der linken oberen Ecke des
Screens ge÷ffnet, bei SCREENCENTRE erscheint er in der
Mitte des Screens, und bei MOUSECENTRE wird versucht,
den Requester direkt unter dem Mousezeiger zu ÷ffnen.
Voreingestellt ist: MOUSECENTRE. Die Beispiele zeigen
alle drei M÷glichkeiten
3. Rⁿckgabewerte
~~~~~~~~~~~~~~~~
Die ganze Angelegenheit wΣre sinnlos, wenn das BetΣtigen des
oder der Requestergadgets keine Rⁿckgabewerte liefern wⁿrde. Das
Programm ⁿbergibt seine Werte der Standardsystemvariablen $RC, die
bei Batchbetrieb zur Auswertung herangezogen wird, bzw. im Falle
von ARexx an die ARexx-Standardvariable RC. Dabei gelten folgende
Regeln:
Im Falle, da▀ der Requester mehr als ein Gadget besitzt, lie-
fert das am meisten rechts befindliche IMMER den Wert 0. Im Falle
eines einzigen Gadgets wird der Requester lediglich zur Infor-
mation des Users benutzt, und es ist egal, was der Requester zu-
rⁿckliefert.
Das am meisten links befindliche Gadget ergibt IMMER 1, das
nΣchste 2, das dritte 3 usw. Dies wird wohl auch die simpelste
L÷sung sein.
Im Falle, da▀ MultiRequestChoice eine Systemresource nicht be-
legen konnte (z.B. keine reqtools.library vorhanden ist), oder
sonst irgendwelche Probleme auftreten sollten, ist der Rⁿckgabe-
wert 200. An alle Freunde von vielen Gadgets: Es kann zu Mi▀ver-
stΣndnissen im Rⁿckgabewert kommen, wenn man mehr als 200 Gadgets
verwendet :-). Sollten mich aber dennoch viele Zuschriften er-
reichen, so bin ich durchaus bereit, den Fehlerrⁿckgabewert auf
205 zu erh÷hen 8-)
4. Beispiele
~~~~~~~~~~~~
Warum soll man sich Arbeit zweimal machen? In diesem Ver-
zeichnis befinden sich zwei Demos: MRCDemo.bat und MRCDemo.rexx.
Nahezu alle M÷glichkeiten des Requesters werden gezeigt. Kleine
Demos sind halt doch besser als seitenlange ErklΣrungen. Zuerst
mu▀ man in das Verzeichnis von MultiRequestChoice wechseln. Will
man die Batchdatei MRCDemo.bat starten, so schreibe man in die
Shell 'execute MRCDemo.bat' oder 'rx MRCDemo.rexx' im Falle des
ARexxscripts.
Man sollte sich auf jeden Fall beide MRCDemo-Dateien ansehen.
Sie sind zwar nicht kommentiert, jedoch so einfach, da▀ sie
selbsterklΣrend sind.
5. Copyright
~~~~~~~~~~~~
Copyright (c) 1993 Rainer Scharnow
Ich, Rainer Scharnow, gebe meine Erlaubnis, wortw÷rtliche Ko-
pien dieser Anleitung zu erzeugen und zu verbreiten. SΣmtliche
CopyrighterklΣrungen und diese Erlaubnis mⁿssen in diesen Kopien
enthalten sein.
Es ist NICHT garantiert, da▀ dieses Programm / diese Programme,
das/die in dieser Anleitung beschrieben ist/sind, 100prozentig
funktionieren. Der Benutzer arbeitet mit diesem Programm / diesen
Programmen auf eigenes Risiko. Sollte irgendein Schaden entstehen,
der in Verbindung mit diesem Programm / diesen Programmen zu brin-
gen ist, kann der Autor nicht dafⁿr verantwortlich oder haftbar
gemacht werden.
Dieses Paket ist "freely distributable", aber das Copyright
liegt bei Rainer Scharnow. Diese Software dⁿrfen Sie so lange und
so oft benutzen und kopieren, wie Sie wollen und solange die Copy-
gebⁿhr einschlie▀lich Diskettenpreis DM 5,- oder (geltend fⁿr Ver-
sand ins Ausland) US$ 6,- nicht ⁿbersteigt. Ausnahmen: Datenmedien
wie CD ROM und Laser Disk.
Es ist ausdrⁿcklich erlaubt, diese Software in Public Domain
Serien aufzunehmen, z.B. in Fred Fishs Library, und sie auf BBS's
und FTP-Server upzuloaden. Dabei mⁿssen alle Files, die im Kapitel
Verzeichnisinhalt aufgelistet sind, enthalten sein.
Kein Programm dieses Pakets darf Bestandteil einer kommer-
ziellen Software sein, ohne da▀ die Erlaubnis von Rainer Scharnow
dazu gegeben wurde. Ferner ist es strikt untersagt, dieses Pro-
gramm / diese Programme in irgendeiner Weise fⁿr militΣrische
Zwecke zu nutzen.
6. Verzeichnisinhalt
~~~~~~~~~~~~~~~~~~~~
Im Verzeichnis mⁿssen folgende Files enthalten sein:
MRCDemo.bat
MRCDemo.rexx
MultiRequestChoice
MultiRequestChoice.doc
MultiRequestChoice.doc.info
MultiRequestChoice.dok
MultiRequestChoice.dok.info
7. Dank und Grⁿ▀e
~~~~~~~~~~~~~~~~~
Besonderer Dank geht an:
- Matthew Dillon, den Autor des gro▀artigen DICE Com-
pilers, mit dem das Programm compiliert wurde
- Stefan Becker, den dt. Distributor von DICE. Ich er-
hielt DICE bereits eine Woche nach Sendung einer
EMail. Kommerzielle Vertriebe sollten sich daran ein
Beispiel nehmen! Nebenbei: Ich benutze den Tool-
Manager - da gibt's nichts zu sagen, nur noch zu
klicken :-)
- Nico Franτois (der Teufel hole das 'τ' ;-)), den Autor
des PowerPackers und der wundervollen ReqTools-Kollek-
tion. Mit ReqTools ist es ein Kinderspiel, ein solches
Programm zu schreiben
- Martin Taillefer/Oxxi fⁿr TurboText, einen der besten
Editoren, den ich bis jetzt gesehen habe (Ich hoffe,
es fⁿhlen sich die fanatischen User von vi oder stevie
nicht beleidigt :-))
8. Bugs
~~~~~~~
Ich hoffe, da▀ es in dem Programm keine Bugs gibt, wenn doch
welche gefunden werden sollten - sofort eine Nachricht an mich.
VorschlΣge ⁿber m÷gliche Verbesserungen sind ebenfalls erwⁿnscht.
Rainer Scharnow
Linderhofstr. 70
12623 Berlin
Germany
EMail: scharnow@informatik.tfh-berlin.d400.de
EOF