SETTER.TTP, ein Konfigurator
****************************

(Note for the English reading people: The English version is appended on 
the German, look for it!)

Die kleinen ASCII-Textfiles, mit denen viele Programme konfiguriert 
werden, sind mir auf die Nerven gegangen. Sie haben zwar den Vorteil der 
nderbarkeit mit jedem Texteditor, liegen als Nachteil aber mit im 
Verzeichnis rum und sind trotzdem oft nicht da, wo sie sein sollten.

Deshalb habe ich die Konfigurationsinformationen direkt im Programm 
untergebracht und mit einer kurzen Erklrung versehen. Bei residenten 
Programmen liegen diese Erklrungen natrlich im nichtresidenten Teil 
(kein Problem bei Assemblerprogrammierung). Konfiguriert werden solche 
Programme mit SETTER, das die Informationen und Erklrungen aus dem 
Programm liest und die Konfiguration wieder im Programm speichert.


Nutzung
-------

Ab TOS1.04 oder mit einem entsprechenden Desktop-Ersatz zieht man das zu 
bearbeitende Programm mit der Maus auf SETTER.TTP. Man kann SETTER auch 
per Doppelklick starten (mit dem Desktop von TOS1.00 und 1.02 geht es nur 
so) und den Namen (und eventuell Pfad) des zu bearbeitenden Programms per 
Hand eintippen. SETTER erkennt mit sehr hoher Sicherheit automatisch, ob 
das Programm konfigurierbar ist oder nicht.

Ist es konfigurierbar, so wird jeweils eine Option angezeigt und eine neue 
Angabe dafr erwartet. Alle Eingaben werden mit der Return-Taste 
abgeschlossen. Alles andere sollte sich selbst erklren. Zum Schlu wird 
noch gefragt, ob man die nderungen wirklich speichern mchte.

Falls Fehler auftreten, hat SETTER einige Meldungen dafr brig.


Copyright
---------

SETTER.TTP darf zusammen mit diesem Text frei kopiert werden. Die C-Quelle 
SETTER.C darf nur zusammen mit SETTER.TTP und SETTER.TXT kopiert werden.

Ich hafte natrlich in keinster Weise fr irgendwelche Auswirkungen oder 
Nichtwirkungen, die der Einsatz oder Nichteinsatz von SETTER.* hat.

Mglicherweise finden auch andere Programmierer SETTER ntzlich, bitte, 
ihr drft es benutzen. Aber!:
Wenn jemand eine erweiterte Version von SETTER in Umlauf bringt, mu:
- diese ebenfalls frei kopierbar sein.
- diese entsprechend gekennzeichnet sein.
- er mir eine Nachricht, besser ein Exemplar, kostenlos zukommen lassen.
Ich kann es nicht ausstehen, wenn jemand meine Spezifikation ndert. 
Erweitern ist erlaubt und erwnscht, aber bitte keine bereits vorhandenen 
Kommandos ndern.

Mein Dank gilt Wolfgang Wander, der diesen meinen C-Programmierversuch 
entfehlert hat. (Sonst htte ich SETTER nochmal, in Assembler, schreiben 
mssen.)

"Ich" bin: Harun Scheutzow,
zu erreichen im Internet ber
Harun_Scheutzow@B.maus.de
bzw. im Mausnetz: Harun Scheutzow @B
oder per Post:
Harun Scheutzow
Dresdener Strae 83
D-10179 Berlin, Deutschland


GEM-Version von SETTER
----------------------

Ich habe SETTER der Einfachheit und Krze wegen als TTP geschrieben. 
Markus Kohm fand die Idee von SETTER gut und hat eine GEM-konforme Version 
entwickelt, die einige Funktionen mehr bietet. Diese Version ist ebenfalls 
in Mailboxen zu finden. Sie sollte als SETTER.ZIP in der Maus KA liegen. 
Zum Zeitpunkt der Texterstellung gltige Daten der Maus KA: Telefonnummer 
0721-358887, Gastdownload 08.00-18.00 und 20.00-03.00. Markus Kohm ist per 
Internet-Email unter: Markus_Kohm@KA2.maus.de zu erreichen.

Wer andere SETTER schreiben will oder weitere Datentypen braucht, sollte 
sich zuerst diese GEM-Version ansehen.


Versionen
---------

SETTER gibt beim Start das Erstellungsdatum als Jahr-Monat-Tag aus, wobei 
neuere Versionen hoffentlich funktionell weiter- und fehlermig zurck- 
entwickelt sind.

1993-11-27  String-Eingabe implementiert
1994-01-09  Englische Meldungen ergnzt, minimale Korrektur
1994-05-07  Luft jetzt auch unter TOS4.xx (auf Falcon)



(Der reine Anwender braucht nicht weiter zu lesen.)
Spezifikation des Speicherns modifizierbarer Informationen in Programmen
------------------------------------------------------------------------

Harun Scheutzow, 21.11.1993

Die Modifikation erfolgt durch ein SETTER.TTP, welches das Programm 
bearbeitet, dessen Einsstellungen zu verndern sind.

Im TEXT- oder DATA-Segment befindet sich auf einer geraden Adresse der 
nullterminierte String "hAruNs cONfigER" (inklusive 0-Byte genau 16 Zeichen 
lang) und dahinter ein LONG-Zeiger auf den Anfang des Strings. In 
Assembler:

      .even
hkbg:
      .dc.b "hAruNs cONfigER",0
      .dc.l hkbg


Darauf folgen als Liste die einzelnen Objekte, die aus Anzeigetext, 
Art der Konfiguration und Konfigurationsplatz bestehen.

Der Anzeigetext ist ein C-String (also nullterminiert) und auf die nchste 
gerade Adresse evtl. mit einem zustzlichen 0-Byte aufgefllt. Ist der 
Anzeigestring leer (nur 0-Byte), so endet hier die Liste der Objekte.

Das Konfigurationskommando ist ein WORD (16Bit) mit folgenden mglichen 
Werten im Highbyte:

0
Ja/Nein Entscheidung. Das folgende WORD wird fr JA auf $FFFF und fr 
NEIN auf $0000 gesetzt.

1
LONG-Werteingabe-Liste. Im Lowbyte steht die Anzahl der Listenelemente. 
Die folgenden LONG werden auf die Werte der eingegebenen 32-Bit-Integer 
gesetzt. Die interne ungltig-Kennung fr einen Platz ist $80000000.

2
String-Eingabe. Im Lowbyte steht die Maximallnge des Eingabestrings 
inklusive des abschlieenden Nullbytes. Diese Lnge mu gerade sein. Der 
eingegebene String wird unmittelbar hier hinter abgelegt und bis zur 
Maximallnge mit 0-Bytes aufgefllt.




SETTER.TTP
**********

(Some parts translated from German to English on 1994-01-08 by Harun 
Scheutzow. I have no time for translating all. Do it yourself!)

The small ASCII-files containing the configuration of many programs I 
don't like. These files have the advantage of an easy changability by 
using a text editor but the disadvantage of laying around in the 
directory and being not on the right place.

That's why I placed the configuration direct in the program. I added a 
short explanaition to every point. These explainations don't stay 
resident in my resident programs, no problem for an assembler programmer. 
The configuration of such programs is changed by using SETTER which reads 
the information and explaination and saves the configuration in the 
program again.


Usage
-----

From TOS1.04 up the use of SETTER is simple: Take the program to modify 
with the mouse and drag it on SETTER.TTP. SETTER will start, load the 
programm and start the configuration dialog or give a message, that 
configuration is impossible because the program doesn't contain any 
settings. For older versions of TOS: doubleclick SETTER.TTP and enter the 
name and path of the program in the appearing dialog box. SETTER 
recognizes with high safety whether the program contains a settings.

SETTER displays one setting after the other and waits for a new value for 
this setting. After every input the Return key has to pressed. The last 
question of SETTER is whether or not to save the changes.

SETTER gives some error messages if errors occur.

SETTER displays _its_ messages in German and English. The explainations 
in the programs SETTER displays only in the language in which they are.


Copyright
---------

SETTER.TTP may be freely copied together with this text. The C-source may 
only be copied together with SETTER.TTP and SETTER.TXT.

You use SETTER on your own risk!

(see German part ...)
