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 Erkl„rung versehen. Bei residenten Programmen liegen diese Erkl„rungen natrlich im nichtresidenten Teil (kein Problem bei Assemblerprogrammierung). Konfiguriert werden solche Programme mit SETTER, das die Informationen und Erkl„rungen 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 erkl„ren. Zum Schluž wird noch gefragt, ob man die Žnderungen wirklich speichern m”chte. 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. M”glicherweise 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 h„tte 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 Straže 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 fehlerm„žig zurck- entwickelt sind. 1993-11-27 String-Eingabe implementiert 1994-01-09 Englische Meldungen erg„nzt, minimale Korrektur 1994-05-07 L„uft 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 ver„ndern 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 n„chste gerade Adresse evtl. mit einem zus„tzlichen 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 m”glichen 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 Maximall„nge des Eingabestrings inklusive des abschlieženden Nullbytes. Diese L„nge muž gerade sein. Der eingegebene String wird unmittelbar hier hinter abgelegt und bis zur Maximall„nge 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 ...)