
                     Cooltexter Version 1.02 (Beta)
                    --------------------------------

                           Kurzdokumentation

                          Autor: Detlef König
                           Datum: 18.06.1996


0. Einführung
~~~~~~~~~~~~~

Cooltexter (folgend CT genannt) ist ein Programm,  das  vorwiegend  dazu
dient,  ASCII-Texte  zu  bearbeiten  und  zu  verfremden.  Es  ist  also
hauptsächlich ein "Fun-Tool". ;-)
Diese Programm ist "Bierware" und darf verbreitet werden,  wenn  an  den
Dateien selbst keine Veränderungen vorgenommen werden und kein "Verkauf"
erfolgt. Bei  regelmäßiger  Benutzung  ist  der  Anwender  verpflichtet,
gelegentlich  ein  Bier  (0,5l)  auf  mein  Wohl zu trinken. ;-) Zur Not
akzeptiere ich auch  alkoholfreies  Bier,  Cola,  Mineralwasser,  Milch,
Säfte, Tee, Kaffee, ...


1. Fähigkeiten
~~~~~~~~~~~~~~

- Der Start ist von CLI/Shell und der Workbench möglich.

- Wird CT von der Workbench gestartet, hat das Programm eine komfortable
  Menü-Oberfläche und einen integrierten Textanzeiger.

- Von der Workbench-Oberfläche können Texte auch direkt gedruckt werden.

- Es existieren in dieser Version 7 verschiedene interne Filter zur
  Bearbeitung der Texte. Die Funktionen können auch kombiniert werden.

- Externe Filter für die Textkonvertierung sind benutzbar.

- Wichtige Einstellungen werden beim Beenden automatisch gespeichert,
  und stehen beim nächsten Programmstart wieder zur Verfügung.


2. Systemvoraussetzungen
~~~~~~~~~~~~~~~~~~~~~~~~

CT sollte auf allen Amigas ab OS2.04 und mindestens 250  KB  freien  RAM
laufen.  Unter Kick1.3 sollte es theoretisch auch funktionieren, nur war
mir ein Test noch nicht möglich.
Entwickelt wurde CT auf einem A4000/030 mit  OS3.0  (2  MB  Chip-/24  MB
Fast-RAM),  getestet  auch auf einem A500/030 mit OS2.0 (1 MB Chip-/8 MB
Fast-RAM).


3. Start von CLI/Shell
~~~~~~~~~~~~~~~~~~~~~~

CT erkennt, ob es aus einem CLI/Shell-Fenster gestartet wurde, oder  von
der Workbench. Die Syntax für den CLI-Start lautet wie folgt:


Cooltexter (File1) (File2) (Option)


(File1) ist der Dateiname der zu wandelnden Datei (Quelldatei).

(File2) ist der Dateiname der gewandelten Datei (Zieldatei).

(Option) ist eine Zahl von 0 bis 6. Sie legt die Art und Weise der
Textumwandlung fest:

    0 = Cooltext erzeugen - Die Groß/Kleinschreibung des Textes wird
                            zeichenweise zufällig verändert.

    1 = Flip horizontal   - Die Textzeilen werden umgedreht und sind
                            von rechts nach links lesbar.

    2 = Flip vertikal     - Die erste Zeile wird mit der letzten, die
                            zweite mit der vorletzten usw. vertauscht.

    3 = Spaces killen     - Leerzeichen werden aus dem Text entfernt.

    4 = Umlaute killen    - Umlaute werden entfernt und durch Äquiva-
                            lente ersetzt (ä -> ae, ö -> oe, ...)

    5 = Vokale -> *       - Vokale werden durch Sternchen ersetzt.

    6 = Gismo-Effekt      - Wortvertauschungen innerhalb der Zeilen


(Weitere Optionen sind jederzeit integrierbar.)


4. Start von der Workbench
~~~~~~~~~~~~~~~~~~~~~~~~~~

Wenn CT von der Workbench gestartet wird, öffnet es ein Textfenster  und
übergibt  die  Steuerung  an  Pulldown-Menüs.  Jeder Menübefehl ist über
Shortcuts (mit rechter Amiga-Taste) alternativ steuerbar. Bewegungen  im
Textanzeiger sind über die Cursor-Tasten möglich.


4.1 Menü-Befehle
~~~~~~~~~~~~~~~~

Ich beschreibe hier kurz die Funktion der einzelnen Menübefehle:

* Projekt/Neu  (Shortcut: rechte Amigataste + N)
------------------------------------------------
Der Text im Speicher wird gelöscht und die  Anzeige  ebenfalls.  (Dieser
Befehl  ist  normalerweise  unnötig,  aber  der  Vollständigkeit  halber
enthalten.)

* Projekt/Laden ...  (Shortcut: rechte Amigataste + L)
------------------------------------------------------
Über  einen  Filerequester  wird  eine  Textdatei  ausgewählt,  in   den
Textspeicher geladen und angezeigt.

HINWEIS! Derzeit sind  Texte  auf  2000  Zeilen  und  120  Zeichen/Zeile
beschränkt.

* Projekt/Original laden  (Shortcut: rechte Amigataste + O)
-----------------------------------------------------------
Die zuletzt geladene Datei wird erneut geladen. Das macht sich gut, wenn
ein Text im Speicher "versaut" wurde.

* Projekt/Sichern ...  (Shortcut: rechte Amigataste + S)
--------------------------------------------------------
Die Datei im Textspeicher wird auf Platte, Diskette etc. gesichert.  Ein
Verlaufsbalken zeigt den aktuellen Stand.

* Projekt/Drucken  (Shortcut: rechte Amigataste + D)
----------------------------------------------------
Die  Datei  im  Textspeicher  wird   ausgedruckt.   Benutzt   wird   das
printer.device des Systems und somit die Voreinstellungen von Prefs.

* Projekt/Info  (Shortcut: rechte Amigataste + I)
-------------------------------------------------
Ein Requester mit einer Kurzinformation zum Programm wird angezeigt.

* Projekt/Beenden  (Shortcut: rechte Amigataste + Q)
----------------------------------------------------
CT wird nach einer Sicherheitsabfrage beendet.


* Bearbeiten/Markierungen aus  (Shortcut: rechte Amigataste + #)
----------------------------------------------------------------
Alle im Text vorhandenen Markierungen werden gelöscht.

* Bearbeiten/alles markieren  (Shortcut: rechte Amigataste + M)
---------------------------------------------------------------
Der gesamte Text wird markiert.

* Bearbeiten/Filter/Externe Filter  (Shortcut: rechte Amigataste + X)
---------------------------------------------------------------------
Es wird zunächst eine externe Konvertierungsliste  (Filter)  über  einen
Filerequester  eingelesen und dann der markierte Text im Speicher anhand
dieser Codes bearbeitet. Ein Verlaufsbalken zeigt den aktuellen Stand.

* Bearbeiten/Cooltext erzeugen  (Shortcut: rechte Amigataste + 1)
-----------------------------------------------------------------
Alle  markierten  Zeilen  des  Textes  werden  per   Zufall   in   ihrer
Groß/Kleinschreibung  verändert.  Ein Verlaufsbalken zeigt den aktuellen
Stand.

* Bearbeiten/Flip horizontal  (Shortcut: rechte Amigataste + 2)
---------------------------------------------------------------
Die markierten Textzeilen werden umgedreht  und  sind  von  rechts  nach
links lesbar. Ein Verlaufsbalken zeigt den aktuellen Stand.

* Bearbeiten/Flip vertikal  (Shortcut: rechte Amigataste + 3)
-------------------------------------------------------------
Die erste Zeile wird mit der letzten, die zweite mit der vorletzten usw.
vertauscht. Ein Verlaufsbalken zeigt den aktuellen Stand.

HINWEIS !!! Dieser Befehl wirkt grundsätzlich auf den gesamten Text.
            Markierungen sind also unwirksam.

* Bearbeiten/Spaces killen  (Shortcut: rechte Amigataste + 4)
-------------------------------------------------------------
Leerzeichen werden aus dem markierten Text entfernt. Ein  Verlaufsbalken
zeigt den aktuellen Stand.

* Bearbeiten/Umlaute killen  (Shortcut: rechte Amigataste + 5)
--------------------------------------------------------------
Umlaute werden entfernt und durch Äquivalente ersetzt (ä -> ae, ö -> oe,
ü  ->  ue, Ä -> Ae, Ö -> Oe, Ü -> Ue, ß -> ss). Ein Verlaufsbalken zeigt
den aktuellen Stand.

* Bearbeiten/Vokale -> *  (Shortcut: rechte Amigataste + 6)
-----------------------------------------------------------
Vokale werden durch Sternchen  ersetzt.  Ein  Verlaufsbalken  zeigt  den
aktuellen Stand.

* Bearbeiten/Gismo-Effekt  (Shortcut: rechte Amigataste + 7)
------------------------------------------------------------
Die Reihenfolge der Worte in einer Zeile wird willkürlich verändert  und
damit der Satzbau gründlich durcheinander gewürfelt. (Dieser Vorgang ist
sehr rechenintensiv  und  kann  bei  großen  Textblöcken  und  langsamen
Rechnern etwas mehr Zeit in Anspruch nehmen!)


* Anzeige/zum Anfang  (Shortcut: rechte Amigataste + A)
-------------------------------------------------------
Die Anzeige des Textes wird auf den Anfang gesetzt.

* Anzeige/Seite zurück  (Shortcut: rechte Amigataste + Minustaste)
------------------------------------------------------------------
Die Anzeige des Textes wird eine Seite zurückgeblättert. Wieviel  Zeilen
das  sind,  ist  von der Fenstergröße des Textanzeigers und von Höhe des
eingestellten Zeichensatzes abhängig.

* Anzeige/Seite vor  (Shortcut: rechte Amigataste + Plustaste)
--------------------------------------------------------------
Die Anzeige des Textes wird eine Seite vorgeblättert. Wieviel Zeilen das
sind,  ist  von  der Fenstergröße des Textanzeigers und von der Höhe des
eingestellten Zeichensatzes abhängig.

* Anzeige/zum Ende  (Shortcut: rechte Amigataste + E)
-----------------------------------------------------
Die Anzeige des Textes wird auf das Ende gesetzt.


* Einstellungen/original
------------------------
Die  originalen  Einstellungen  (vom  Programmstart)  werden   aus   der
Konfigurationdatei gelesen und benutzt.

* Einstellungen/  Markierung autom. aus
---------------------------------------
Steht ein Häkchen vor diesem Menübefehl,  werden  Textmarkierungen  nach
dem  Ausführen  von  Filterfunktionen automatisch wieder gelöscht. Fehlt
das Häkchen, bleiben Markierungen bestehen, bis sie  von  Hand  gelöscht
werden. Dieser Befehl schaltet bei jedem Aufruf um.


4.2  Markieren von Textzeilen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Fast  alle  Filterfunktionen  wirken  auf  markierte   Textzeilen.   Das
Markieren   erfolgt,  indem  die  entsprechenden  Zeilen  mit  der  Maus
angeklickt werden. Markierte Zeilen sind farblich gekennzeichnet.
Der ganze Text kann  mit  dem  Menübefehl  "Bearbeiten/alles  markieren"
markiert werden.


4.3  Weitere Funktionen des Textanzeigers
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Ein schnelles Bewegen ist auch über die Cursor-Tasten möglich:

    Cursor hoch   - bewegt den Text eine Zeile zurück.

    Cursor runter - bewegt den Text eine Zeile nach vorn.

    Cursor links  - bewegt den Text eine Seite zurück.

    Cursor rechts - bewegt den Text eine Seite nach vorn.

Wird die Fensterhöhe des  Textanzeigers  verändert,  so  paßt  sich  die
Darstellung   und   die   Seitenlänge   beim  Blättern  automatisch  den
darstellbaren Zeilen an. Das funktioniert mit Fonthöhen  von  8  bis  15
Punkten recht gut.


4.4. Format der externen Konvertierungslisten (Filter)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Diese  Dateien  sind  recht  simpel  aufgebaut  und  können  mit   jedem
Binäreditor  erzeugt  oder  verändert werden. Die Dateilänge beträgt 256
Bytes und der Dateiname sollte auf .ctcode enden.

Die Codierung geschieht wie folgt:
Jedes der 256 Bytes steht für ein ASCII-Zeichen (0 bis 255).
Die  Adresse,  an  der  das  Byte  steht,  ist  der  ASCII-Code  des  zu
ersetzenden   Zeichens  (0-255).  Der  Inhalt  des  Bytes  bestimmt  den
ASCII-Code des Zeichen, was an die  Stelle  des  alten  Zeichens  treten
soll.

Beispiel:

Das 66.Byte hat die dezimale  Adresse  65  und  steht  deshalb  für  den
Buchstaben  "A"  (Asc("A")=65). Steht dort die Zahl 89, werden alle A im
Text durch das Zeichen mit dem ASCII-Wert 89, also "Y" ersetzt.

So läßt sich für jedes  der  256  möglichen  ASCII-Zeichen  ein  anderes
definieren,  was  das  Originalzeichen  im Text ersetzt. Damit sind alle
Codierungen realisierbar, die auf das einfache Austauschen  von  Zeichen
beruhen.


5. Autor
~~~~~~~~

Ich bin per E-Mail unter Det@noname.dontpanic.sub.org erreichbar.
Kritik, Blumensträuße und Vorschläge zur Verbesserung des Programms sind
jederzeit willkommen.


6. Dankeschön
~~~~~~~~~~~~~

... an Commodore für den AMIGA (nur leider schlecht vermarktet),

... an Acid Software für die Entwicklung von BlitzBasic (sonst hätte ich
    wohl nie was programmiert),

... an Peter@noname.dontpanic.sub.org für den ersten Kommentar zur
    CLI-Version 0.9 ("GEIL!" meinte er),

... an Calibra@tek.dontpanic.sub.org für den ersten Testbericht,

... allen, die den THUE-RING als Netz am Leben halten.

... den ersten mutigen freiwilligen Betatestern, die mithelfen
    vielleicht ein paar Bugs aus- und neue Optionen einzubauen.


7. Beta-Tester
~~~~~~~~~~~~~~

Wer Lust hat, CT ausgiebig zu testen und mir einen  Testbericht  zusenden
möchte, macht das bitte per E-Mail oder Sackpost und benutzt vorzugsweise
die Datei CT1_02Test.txt als Vorlage.


Detlef König, Erfurt den ??.06.96

