home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
626a.lha
/
TKEd_v1.00
/
TKEd.doc.deutsch.pp
/
TKEd.doc.deutsch
Wrap
Text File
|
1992-04-07
|
48KB
|
1,405 lines
+-----------------------+
/ /|
+-----------------------+ |
| Prg.name : TKEd V1.00 | |
| Date : 12.02.1992 | +---------------------------+
| |/ /|
+-----------------------+---------------------------+ |
| ---- Copyright Tom Kroener | |
| /(c)| Richard Wagner Str. 40 | |
| / TKs| D-6602 Saarbruecken-Dudweiler | |
| / 1991| GERMANY | |
| -------- +---------+ | |---------------- +
| | E-mail :| | | /|
| +-----------+ +-----------+ | | / |
| | kroener@cs.uni-sb.de (internet) | | | / |
| | T_KROENER@SAARAG.ZER (Zerberus) | | + / +
| +---------------------------------+ |/ / /|
+---------------------------------------------------+-------------+ / |
| TKEd ist keine Public-Domain. | / |
| TKEd darf ohne meine Erlaubnis nicht in kommerziellen Produkten | / |
| vertrieben werden. |/ |
+-----------------------------------------------------------------+ |
| TKEd ist SHAREWARE. Sie dürfen TKEd kopieren und an Andere | |
| weitergeben, solange alle Programme und Dokumente des Ordners | |
| 'TKEd' zusammen und unverändert (!!) weitergegeben werden. | |
| Dies ist eine eingeschränkte Version von TKEd, die nur Texte | |
| bis zu einer Größe von ca. 8000 Byte laden kann. | |
| Dies sollte zum Testen von TKEd genug sein, ernsthafte Benutzer | |
| jedoch zur Zahlung der Sharewaregebühr 'überreden'. | |
| Sie dürfen TKEd zwei bis drei Wochen ausprobieren; sollten Sie | |
| TKEd gut finden und deshalb nach dieser Zeit weiter benutzen | |
| wollen, müssen Sie die Sharewaregebühr (DM30 oder $25) | +
| bezahlen. (Adresse siehe oben). | /
| Sie werden dann als Besitzer registriert und erhalten die | /
| neueste Version von TKEd, bei der die Größe eines zu | /
| bearbeitenden Textes nur durch den verfügbaren Speicher Ihres | /
| Amiga eingeschränkt wird. |/
+-----------------------------------------------------------------+
--------------------
Änderungen zu V0.91:
--------------------
1. TKEd hat nun ein AREXX-Schnittstelle. Durch 77 verschiedene AREXX-
Befehle kann TKEd andere Programme, die ebenfalls eine solche Schnitt-
stelle haben, steuern bzw. von diesen Programmen aus komplett gesteuert
werden.
Außerdem kann man sich Funktionen, die man benötigt, leicht selbst
programmieren. (Siehe Beispiel unter 'AREXX')
Durch asynchrone Ausführung der AREXX-Programme braucht man nicht
auf das Ende eines solchen Programmes zu warten, sondern kann sofort
mit der Arbeit mit TKEd fortfahren.
2. Komplett neues Speichermanagement. Dadurch erheblich schnellere
Ladezeiten bei weniger Speicherbedarf.
3. Search und Replace Funktionen 5-mal schneller als bei V0.91.
In dem Fall, daß beide Wörter die gleiche Länge haben, ist
TKEd jetzt sogar 40-mal schneller als vorher (man zeige mir einen
Editor, der schneller alle e durch a ersetzt !!!!)
4. Blöcke können nun nach links oder rechts verschoben werden.
5. Wortweises Markieren möglich.
6. 'en paar neue Menus eingebaut: 'AutoBackup'
'VersionBackup'
'Count Occurences'
'Matching Bracket'
'Block->'
'Block<-'
'Next Word'
'Previous Word'
'Delete Word'
'SwapCase'
'JoinLines'
'Goto Buffer 0-9'
'ARexx'
7. Einige Requester logischer aufgebaut und den Commodore-Richtlinien
angepasst.
8. Bei User-Menus können nun beliebig viele Parameter eingebaut werden.
9. Pfade als Parameter können nun auch (komfortabel) mittels
FileRequester eingebaut werden.
(Siehe 'User Menus').
10. Maximale Zeilenlänge erhöht auf 255 Zeichen.
11. TKEd kann nun beim Abspeichern eines Textes optional eine Kopie
des ursprünglichen Textes mit der Endung '.bak' erzeugen.
12. TKEd kann beim Abspeichern eines Textes verschiedene Versionen
eines Backups erzeugen.
13. TKEd verwaltet jetzt bis zu 10 verschiedene Texte gleichzeitig,
zwischen denen auch Blöcke kopiert werden können;
14. 'en paar kleine Bugs rausgeschmissen.
Zuerst möchte ich den Programmierern Colin Fox ( von Pyramyd Designs) und
Bruce Dawson ( von CygnusSoft Software) für ihre wirklich großartige
'req.library' und Nico Francois für seine 'powerpacker.library' danken.
Durch diese beiden Libraries konnte die Benutzerfreundlichkeit von TKEd
sehr gesteigert werden.
Außerdem möchte ich noch Stefan Winterstein danken, der TKEd über längere
Zeit getestet hat und dessen Diskussionen und Anregungen zu Funktionen
und Fehlern von TKEd sehr hilfreich waren.
**************************************************************************
* Installation *
**************************************************************************
TKEd benötigt die 'req.library' und die 'powerpacker.library'.
Sollten diese noch nicht in Ihrem 'libs:' Verzeichnis sein, genügt ein
Starten der Programme 'Install_Req.Library', bzw. 'Install_PP.Library'.
Diese kopieren dann die entsprechenden Libraries in dieses Verzeichnis.
Um TKEd zu installieren, brauchen Sie nur mit der Maus das Icon von TKEd
in das von Ihnen gewünschte Verzeichnis zu ziehen.
WICHTIG:
TKEd benötigt einen Stack von mindestens 10000 Byte.
Bei geringerem Stack kann TKEd abbrechen mit einem Requester
'Oberon Assert: Trap # 2 (Stack überlauf)'.
In diesem Falle sollten Sie das Icon von TKEd mit der Maus anklicken,
das (Workbench-) Menu 'Info' anwählen und in dem Feld 'Stack' den Wert
10000 eintragen (anschließend Return !!), oder, falls Sie TKEd aus dem
CLI oder der Shell starten, zuvor den Befehl 'stack 10000' eingeben.
**************************************************************************
* Zur Tastatur *
**************************************************************************
Viele der Funktionen der Menus von TKEd kann man auch über Tastatur-
kombinationen erreichen.
Der normale Weg, wie dies z.B. vom Betriebssystem gemacht wird,
ist die rechte Amigataste gedrückt zu halten und die angegebene Taste zu
drücken. (z.B. 'Amiga' zusammen mit 'l' öffnet den Filerequester zum Laden
eines Files).
Manche der Tastaturkombinationen (z.B. die Funktionen im Menu 'Misc')
benutzen die Taste 'Ctrl'. (z.B. löscht 'Ctrl' zusammen mit 'l' eine
Zeile.
Um sich im Text bewegen zu können, dienen die Pfeiltasten (= Cursortasten).
Dabei bedeuten:
Cursor hoch/runter : Cursor geht hoch/runter
Alt + Cursor hoch/runter : Cursor geht sehr schnell hoch/runter
Shift + Cursor hoch/runter : Cursor geht seitenweise hoch/runter
Ctrl + Cursor hoch/runter : Cursor geht zum Anfang/Ende eines Textes
Cursor links/rechts : Cursor geht um eine Position nach links/rechts
Alt + Cursor links/rechts : Cursor geht um eine Wort nach links/rechts
Shift + Cursor links/rechts : Cursor geht zum linken/rechtes Rand
Ctrl + Cursor links/rechts : Cursor geht an Anfang/Ende einer Zeile
Außerdem kann man noch einige Tasten der numerischen Tastatur (rechts)
zum Bewegen im Text benutzen.
Alt + Home (Taste mit der 7) : Geht zum Anfang des Textes
Alt + End (Taste mit der 1) : Geht zum Ende des Textes
Alt + Pg Up (Taste mit der 9) : Geht eine Seite zurück
Alt + Pg Dn (Taste mit der 3) : Geht eine Seite weiter
Die Help-Taste zeigt dasselbe an wie der Menupunkt 'About'.
Die meisten der Textrequester (das sind diejenigen, die nur ein Gadget
('Resume') zum Verlassen haben) können auch durch Drücken der 'Esc' -Taste
geschlossen werden.
**************************************************************************
* Verschiedene Möglichkeiten, einen Text zu laden *
**************************************************************************
Es gibt 4 verschieden Möglichkeiten, einen Text zu laden:
a) TKEd starten und den Menupunkt 'Load' anwählen. Anschließend den
gewünschten Text eingeben oder mit Hilfe der Maus auswählen und
dann 'OK!' anklicken (oder 'Return'-Taste drücken).
b) TKEd aus dem CLI (oder der Shell) mit dem Pfad und dem Name des
gewünschten Files als Argument zu starten.
(z.B. 'TKEds:startup-sequence' startet TKEd und lädt gleichzeitig
das File 's:startup-sequence').
c) Die 'Shift' -Taste gedrückt halten, das Icon des Textes (falls vorhanden)
mit der Maus anklicken, das Icon von TKEd anklicken und anschließend
den (Workbench-) Menupunkt 'Open' auswählen.
d) Das Icon des Textes mit der Maus anklicken, das (Workbench-) Menu
'Info' starten und in das Feld 'Default Tool' den Pfad von TKEd
eintragen. (wenn TKEd im 'c:' Verzeichnis steht, also c:TKEd eintragen)
Danach die Return-Taste drücken und das Info-Programm mit 'Save'
verlassen.
Sie können den Text mittels Doppelklick auf sein Icon wie ein
ausführbares Programm starten. TKEd wird dabei automatisch gestartet
und lädt den Text.
**************************************************************************
* Die Menus *
**************************************************************************
+++++++++++
+ Project ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++
--------------------------------------------------------------------------
-New-
Löscht den gesamten Text.
--------------------------------------------------------------------------
-Open-
Öffnet einen Filerequester, mit dem man den gewünschten Text
auswählen kann.
Wenn ein Text mit dem Powerpacker gepackt war, braucht TKEd zusätzlichen
Speicher, um diesen zu entpacken.
Sollte der Speicher dafür nicht groß genug sein, sollte man den Text
mit dem Powerpacker entpacken und dann ganz normal laden.
( Die Public-Domain Version des Powerpackers ist auf Fish Nr. 253).
--------------------------------------------------------------------------
-Save-
Text speichern.
--------------------------------------------------------------------------
-Save As-
Öffnet einen Filerequester, um ein File unter einem evtl. anderen Namen
oder Pfad abzuspeichern.
-------------------------------------------------------------------------
-Print-
Schickt den Text zum Drucker. Sollte kein Drucker angeschlossen sein,
erscheint ein Requester, in dem man, wenn man den Drucker in der
Zwischenzeit angeschlossen hat, einen neuen Versuch starten kann
( Try again ), oder den Druckvorgang rückgängig machen kann (Cancel ).
--------------------------------------------------------------------------
-Insert File-
Öffnet einen Filerequester, um einen Text zu laden, der in den aktuellen
Text eingefügt wird.
Dabei wird der einzufügende Text zwischen der Zeile, auf der man gerade
seht, und der vorhergehenden eingefügt.
--------------------------------------------------------------------------
-About-
Zeigt ein paar Informationen über die Version von TKEd.
Um eine 'Infektion' von TKEd mit Linkviren leichter erkennen zu
können (man weiß ja nie !) steht hier zusätzlich noch die Länge von
TKEd (in Bytes) im ungepackten Zustand.
Sollte die wirkliche Länge (zu ermitteln mit dem Befehl 'list' im CLI,
bzw. in der Shell oder mit dem Menu 'Info' von der Workbench)
einen anderen Wert ergeben (vor allem, wenn die Länge von TKEd
zu groß ist), sollte man TKEd mit Hilfe eines Virensuch-
programmes auf Linkviren hin untersuchen.
--------------------------------------------------------------------------
-Save & Quit-
Speichert den Text und beendet TKEd
--------------------------------------------------------------------------
-Quit-
Beendet TKEd.
--------------------------------------------------------------------------
+++++++++
+ Prefs ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++
--------------------------------------------------------------------------
-Load-
Wenn Sie die Voreinstellungen verändert haben, können Sie hiermit
eine evtl. vorher gespeicherte Voreinstellung wieder laden.
Beim Start von TKEd wird die Konfigurationsdatei 's:TKEd.cfg'
automatisch geladen.
--------------------------------------------------------------------------
-Save-
Öffnet einen Filerequester, in dem man einen Name für die zu speichernde
Konfiguration eingeben kann.
Voreingestellt ist der Name 's:TKEd.cfg'.
Gesichert werden folgende Einstellungen:
- Die Farben
- Die Zahl der Leerzeichen, die TKEd für jedes Tabulatorzeichen einsetzt
- Ob automatisches Einrücken an oder aus ist
- Alle Daten von den User-Menus (Kommandos, Texte etc.)
- Die Tastaturbelegung der Shortcuts, die mit der Amigataste ausgelöst
werden
- Ob beim Speichern eines Textes automatisch Backups erzeugt werden
oder nicht
- Ob beim Speichern eines Textes verschiedene Version von Backups
erzeugt werden oder nicht
--------------------------------------------------------------------------
-Default-
Setzt die Standardvoreinstellungen und löscht alle User-Menus.
--------------------------------------------------------------------------
-Colors-
Öffnet einen Farbrequester, mit dem durch Schieberegler die Werte der
einzelnen Farben verändert werden können.
--------------------------------------------------------------------------
-TabsSize-
Hier läßt sich einstellen, wieviele Leerzeichen TKEd beim Drücken der
Tabulatortaste für ein Tabulatorzeichen einsetzt. (TKEd selbst benutzt
keine Tabulatoren).
--------------------------------------------------------------------------
-Auto Indent-
Wenn vor 'Auto Indent' (=automatisches Einrücken) kein Haken steht,
beginnt jede neue Zeile in Spalte 1.
Steht vor 'Auto Indent' eine Haken, so beginnt eine neue Zeile unter dem
ersten Zeichen der vorherigen Zeile, welches kein Leerzeichen ist.
--------------------------------------------------------------------------
-Shortcuts-
Ermöglicht für einen Teil der Menus eine Änderung der Shortcuts.
In dem Requester, der geöffnet wird, steht für jedes Menu
der entsprechende Buchstaben (genau in der Reihenfolge, in der die Menus
von links Oben beginnend auf dem Bildschirm sind).
Will man den zu einem Menu gehörenden Buchstaben ändern, braucht man nur
den bisherige Buchstaben durch den gewünschten Buchstaben zu ersetzen.
--------------------------------------------------------------------------
- AutoBackup-
Steht ein Haken vor diesem Menupunkt, so wird beim Speichern
eines Textes eine Kopie des Textes mit der Endung '.bak' erzeugt, auf
die man im Falle eines Fehlers zurückgreifen kann.
Steht kein Haken vor diesem Menupunkt, so geschieht dies nicht.
--------------------------------------------------------------------------
- VersionBackup-
Steht ein Haken vor diesem Menupunkt, so wird bei jedem Speichern
eines Textes eine Kopie des Textes mit der Endung '.bakX' erzeugt,
wobei X eine Zahl zwischen 0 und 30000 ist.
Auf diese Art und Weise hat man beliebig viele ältere Versionen eines
Textes, auf die man zurückgreifen kann.
Bei dieser Art des Backups hat der älteste Text X = 0, der zweitälteste
X = 1 usw., der aktuelle Text steht unter seinem normalen Name auf der
Diskette.
Bsp.: Ein Text mit Namen 'Brief' hat nach dreimaligem Abspeichern die
Backups 'Brief.bak0', 'Brief.bak1' und 'Brief.bak2'.
Steht kein Haken vor diesem Menupunkt, so geschieht dies nicht.
--------------------------------------------------------------------------
++++++++++
+ Search +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++
--------------------------------------------------------------------------
-Find-
Öffnet einen Textrequester, um den Suchtext einzugeben.
--------------------------------------------------------------------------
-Next-
Sucht das nächste Vorkommen des zu suchenden Textes.
--------------------------------------------------------------------------
-Previous-
Geht zum vorhergehenden Vorkommen des zu suchenden Textes.
--------------------------------------------------------------------------
-Search/Replace-
Öffnet zuerst einen Textrequester, um den zu suchenden Text einzugeben,
und dann einen zweiten Textrequester, um den ersetzenden Text
einzugeben.
Anschließend erscheint bei jedem Vorkommen des zu suchenden Textes ein
Requester mit dem man entscheiden kann, ob man den Text ersetzen will,
nicht ersetzen will oder ob man die Suche ganz abbrechen will.
--------------------------------------------------------------------------
-Replace next-
Geht zum nächsten Vorkommen eines Textes und fragt, ob er ersetzt werden
soll.
--------------------------------------------------------------------------
-Replace prev-
Geht zum vorherigen Vorkommen eines Textes und fragt, ob er ersetzt
werden soll.
--------------------------------------------------------------------------
-Replace all-
Genauso wie 'Search/Replace', nur daß nach Rückfrage alle Vorkommen
des gesuchten Textes ersetzt werden.
--------------------------------------------------------------------------
-Count Occurences-
Wie 'Find', zählt jedoch alle Vorkommen des entsprechenden Texts.
Kann durch 'Esc'-Taste abgebrochen werden.
--------------------------------------------------------------------------
-Matching Bracket-
Steht der Cursor auf einer Klammer, wird die dazugehörende Klammer
angezeigt (sofern vorhanden).
Anwendbar bei (), [] und {}.
--------------------------------------------------------------------------
-Goto Mark 0-
...
...
-Goto Mark 9-
Wenn eine Zeile markiert ist (siehe 'New Mark'), springt TKEd in die
entsprechende Zeile-
--------------------------------------------------------------------------
-New Mark-
Markiert die Zeile, in der der Cursor steht, mit der Nummer,
die man in den Requester eingibt.
Eine evtl. schon existierende Markierung mit dieser Nummer wird
gelöscht.
--------------------------------------------------------------------------
-Clear Mark-
Löscht die gewählte Markierung.
--------------------------------------------------------------------------
+++++++++
+ Block ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++
--------------------------------------------------------------------------
-Block Start-
Markiert den Anfang eines Blockes.
--------------------------------------------------------------------------
-Block End-
Markiert das Ende eines Blockes. Der markierte Text wird in einer
anderen Farbe dargestellt.
Das Blockende muß im selben Buffer wie der Blockanfang sein.
--------------------------------------------------------------------------
-Block Delete-
Geht in den Buffer, in dem der Text markiert ist, und löscht
den markierten Block.
--------------------------------------------------------------------------
-Block Copy-
Kopiert einen markierten Block zwischen die Zeile, in der der Cursor
steht, und die vorhergehende Zeile.
Funktioniert auch zwischen verschiedenen Buffern.
--------------------------------------------------------------------------
-Block Move-
Wie 'Block Copy', nur wird markierte Block zusätzlich gelöscht.
--------------------------------------------------------------------------
-Block->-
Bewegt einen markierten Block um eine Spalte nach rechts.
--------------------------------------------------------------------------
-Block<--
Bewegt einen markierten Block um eine Spalte nach links.
Sollte eine Zeile in Spalte 1 beginnen, wird sie nicht mitbewegt.
--------------------------------------------------------------------------
-Unmark Block-
Macht eine Blockmarkierung rückgängig.
--------------------------------------------------------------------------
-Insert Block-
Öffnet einen Filerequester, um einen vorher gespeicherten Block
einzufügen.
Als Name für den Block ist 't:blk' voreingestellt.
--------------------------------------------------------------------------
-Print Block-
Druckt eine markierten Block aus.
--------------------------------------------------------------------------
-Save Block-
Öffnet einen Filerequester, um den markierten Block abzuspeichern.
Als Name für den Block ist 't:blk' voreingestellt.
--------------------------------------------------------------------------
+++++++++ +++++++++
+ User1 ++++ User2 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++ +++++++++
--------------------------------------------------------------------------
-Set Menu:- (1-5)
Öffnet einen Requester, in den man das Doskommando eingeben
kann, das bei Auswahl des Menus (oder der entspr. Funktionstaste)
ausgeführt werden soll.
Sooft dieses Kommando ein (oder mehrere) Klammerpaare [] enthält, öffnet
TKEd vor Ausführen des Kommandos einen Requester, in den man dann
Parameter, einen Text oder sonst irgend was eingeben kann, was dann
in dem Kommando anstelle der [] eingesetzt wird.
Wenn das Kommando ein (oder mehrere) Klammerpaare {} enthält, wird der
Name des gerade geladenen Textes an Stelle der Klammern in das Kommando
eingefügt.
Sollte man noch Veränderungen an diesem Text vorgenommen haben, muß
man dies vorher nocheinmal abspeichern, da TKEd auf die auf Diskette
oder Festplatte gespeicherten Daten zugreift, nicht auf die im Speicher
stehenden.
Wenn das Kommando ein (oder mehrere) Klammerpaare () enthält, so öffnet
sich ein Filerequester, mit dem man den Pfad zu einem Programm
einfach auswählen kann.
[] und {} und () gleichzeitig ist natürlich auch (und beliebig oft)
möglich, solange das Kommando insgesamt nicht zu lange wird.
Beispiele:
copy [] to ram:
make {} []
muchmore ()
Die Länge eines Kommandos darf bis zu 255 Zeichen betragen. Man sollte
jedoch darauf achten, den Platz, den die Zeichen, die durch die
Klammern [], () und/oder {} nachträglich von TKEd in dieses Kommando
eingesetzt werden, zu reservieren. Vor und nach den Klammerpaaren
sollte jeweils ein Leerzeichen sein !!!
Anschließend erscheint ein Requester, in den man den Text eingeben
kann, der im Menu von TKEd erscheint.
Wenn man diese Werte mit Hilfe des Menus 'Prefs', Menupunkt 'Save'
abspeichert, wird TKEd beim Start automatisch diese Angaben finden und
einsetzen.
Beim Einrichten eines solchen Menus wird ein evtl. schon vorher
existierendes Menu überschrieben.
Normalerweise wird beim Ausführen eines Kommandos die Workbench in den
Vordergrund geholt, um eventuelle Ausgaben eines Programmes sehen zu
können. Außerdem bleibt dieses Ausgabefenster solange offen, bis der
erscheinende Requester bestätigt wird.
Möchte man dies nicht, kann man in das Kommando das Schlüsselwort
'noreq' einfügen
--------------------------------------------------------------------------
-Clear Menu-
Löscht die Daten des gewählten Menus.
--------------------------------------------------------------------------
-Help-
Zeigt Teile der Informationen unter 'Set Menu'.
--------------------------------------------------------------------------
Mit 'F1' bis 'F10' kann man die Menus ohne Benutztung der Maus ausführen.
--------------------------------------------------------------------------
++++++++++ ++++++++++
+ ARexx1 ++++ Arexx2 +++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++ ++++++++++
--------------------------------------------------------------------------
-Set Menu:- (1-5)
Öffnet einen Requester, in den man den Namen des AREXX-Programms eingeben
kann, das bei Auswahl des Menus (oder der entspr. Funktionstaste)
ausgeführt werden soll.
Anschließend erscheint ein Requester, in den man den Text eingeben
kann, der im Menu von TKEd erscheint.
Wenn man diese Werte mit Hilfe des Menus 'Prefs', Menupunkt 'Save'
abspeichert, wird TKEd beim Start automatisch diese Angaben finden und
einsetzen.
Beim Einrichten eines solchen Menus wird ein evtl. schon vorher
existierendes Menu überschrieben.
AREXX-Programme werden von TKEd grundsätzlich asynchron ausgeführt,
wodurch man, selbst wenn das AREXX-Programm längere Zeit läuft, direkt
mit der Arbeit mit TKEd fortfahren kann.
Wenn das AREXX-Programm beendet ist, erscheint eine Nachricht, in der
die Ergebnis-Codes angezeigt werden.
Bei korrekter (bzw. erfolgreicher) Ausführung des AREXX-Programmes sollten
beide angezeigeten Zahlenwerte 0 sein.
Wenn nicht sollte man seine AREXX-Bedienungsanleitung zu Hilfe nehmen.
Das Erscheinen dieser Nachricht kann durch Einfügen des Schlüsselwortes
'noreq' in Aufruf des AREXX-Programmes schreibt.
--------------------------------------------------------------------------
-Clear Menu- den Aufruf
Löscht die Daten des gewählten Menus.
--------------------------------------------------------------------------
-Help-
Zeigt Teile der Informationen unter 'Set Menu'.
--------------------------------------------------------------------------
Mit 'Shift-F1' bis 'Shift-F10' kann man die Menus ohne Benutztung der
Maus ausführen.
--------------------------------------------------------------------------
++++++++
+ Misc +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++
-Move-
Hat folgende Untermenus, um sich im Text zu bewegen:
-Page Up-
Geht im Text eine Seite nach oben.
-Page Down-
Geht im Text eine Seite nach unten.
-Begin of File-
Geht zum Anfang des Textes.
-End of File-
Geht zum Ende des Textes.
-Begin of line-
Geht an den Anfang einer Zeile.
-End of line-
Geht zum Ende einer Zeile.
-Goto Line-
Öffnet einen Requester, in den man die Nummer der Zeile, zu der man
gehen möchte, eingeben kann.
-Next Word-
Bewegt den Cursor an den Anfang des nächsten Wortes innerhalb einer
Zeile. (überspringt alle Zeichen, die nicht a..z A..Z 0..9 sind).
-Previous Word-
Bewegt den Cursor an das Ende des vorherigen Wortes einer Zeile.
(überspringt alle Zeichen, die nicht a..z A..Z 0..9 sind).
--------------------------------------------------------------------------
-Delete Word-
Löscht das Wort, auf dem der Cursor steht, von der Cursorposition an.
--------------------------------------------------------------------------
-Delete Line-
Löscht die Zeile, in der der Cursor gerade steht.
--------------------------------------------------------------------------
-Delete to EOL-
Löscht die Zeile, in der der Cursor gerade steht, von der Cursorposition
an bis zum Ende der Zeile.
--------------------------------------------------------------------------
-Swap Chars-
Vertauscht das Zeichen, auf dem der Cursor im Text gerade steht, mit
dem darauffolgenden Zeichen.
--------------------------------------------------------------------------
-Help-
Zeigt ein paar alternative Tastatur-Shortcuts an.
--------------------------------------------------------------------------
-Makros-
-Begin-
Zuerst fragt TKEd, an welche Taste das Makro gebunden werden soll.
Die entsprechende Taste sollte eine 'normale' ASCII-Taste sein.
Anschließend werden solange alle Aktionen, die man macht
(Tastatureingaben, Menuauswahl usw.) aufgezeichnet, bis der Menupunkt
'Makros -End-' ausgewählt wird.
-End-
Beendet die Aufzeichnung eines Makros.
-Execute-
Führt die aufgezeichneten Aktionen aus.
Dies geht auch durch Drücken der Taste, an die das Makro gebunden wurde.
Achtung:
Wenn Menus im Makro benutzt werden, sollte man wenn möglich
die Shortcuts benutzten, da bei Auswahl eines Menus mit der Maus
die entsprechende Aktion zweimal aufgezeichnet wird.
Leider konnte ich bisher nicht feststellen, warum dies so
ist.
--------------------------------------------------------------------------
-Enter Ascii-
Hier kann man den ASCII-Wert eines Zeichens eingeben,
welches dann in den Text eingefügt wird.
--------------------------------------------------------------------------
-SwapCase-
Steht der Cursor auf einem Kleinbuchstaben, so wird dieser in einen
Großbuchstaben umgewandelt und umgekehrt.
--------------------------------------------------------------------------
-JoinLines-
Hängt die aktuelle Zeile an die vorherige Zeile an
--------------------------------------------------------------------------
-Free Memory-
Zeigt an, wieviel Speicher noch frei ist.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Für Programmierer ist es sehr nützlich, wenn der benutzte Editor die
Möglichkeit hat, Fehlermeldungen eine Compilers zu zeigen und die
fehlerhafte Stelle direkt anzuzeigen.
Da jedoch fast jeder Compiler dafür sein eigenes Format hat, und ich
unmöglich für sämtliche Formate eine Schnittstelle implementieren kann,
habe ich beschlossen, daß TKEd genau ein Format lesen kann.
Dieses Format ist so einfach und allgemein gehalten, daß es einem
Prgrammierer nicht sonderlich schwer fallen dürfte, das Format der Fehler-
meldungen seines Compilers in das Format, das TKEd lesen kann, mit Hilfe
eines kleinen Programmes umzuwandeln.
Da die meisten Compiler keine extra Fehlerdatei erzeugen, ist es am
einfachesten, die Ausgaben des Compilers in eine Datei umzuleiten und
diese dann zu bearbeiten (z.B. 'compile > ram:Test.err').
Mein Tool 'TKA68KErr' macht (unter Anderem) nichts anderes als
den Befehl 'A68K > ram:tmperr' aufzurufen und die dabei entstehende
Datei 'ram:tmperr' anschliesend zu bearbeiten.
Sollte jemand nicht wissen, wie so etwas zu programmieren ist, soll
er die Meldungen seines Compilers in eine Datei umleiten ( mit '>', siehe
oben) und mir diese Datei und noch ein paar zusätzliche Angaben (Name des
Compilers, Version usw.) zuschicken.
Wenn möglich ( und wenn ich dazu die Zeit finde) versuche ich für den
entsprechenden Compiler ein solches Programm zu schreiben.
Nun aber zu dem Format, das TKEd benötigt:
1.
Das Programm muß ein File mit dem Name 'ram:TKErr' erzeugen, das die
Informationen für TKEd enthält.
2.
Für jeden auftretenden Fehler der Fehlermeldungen müssen genau
drei Zeilen normaler ASCII-Text erzeugt werden:
a) Die Zeilennummer, in der der Fehler auftritt.
b) Die Spaltennummer des Fehlers.
c) Die Fehlermeldung mit einer maximalen Länge von 144 Zeichen.
Alle Daten werden als normaler ASCII-Text erzeugt.
( also die Zeilennummer als String speichern, nicht als Integer !!).
3.
Es dürfen zwischen den drei Zeilen, die zu einer Fehlermeldung gehören,
und denen der nächsten Fehlermeldung keine (!!) Leerzeilen sein.
4.
Ein Beispiel:
2
12
Syntax error
10
1
) expected
33
5
Unexpected end of file
33
6
; expected
5.
Prüfen sie sorgfältig, ob ihr Programm korrekt arbeitet, da TKEd nicht
prüft, was gelesen wird, und deshalb Unsinn anzeigen könnte.
6.
Man sollte dieses Programm als normales Dos-Kommando aufrufen können,
so daß man es problemlos aus den User-Menus heraus starten kann.
7.
Auf dieser Diskette befinden sich im Verzeichnis 'ErrorTools'
bereits zwei Beispiele für Oberon V2.0 und für den PD-Assembler
A68K.
Name: Compiler: Sprache: Autor:
------------------------------------------------------------------------
TKOberonErr Oberon V2.0 Oberon Tom Kroener
TKA68KErr A68K V2.61 Assembler Tom Kroener
Auf dieser Diskette befindet sich bereits ein Programm für
Amiga-Oberon V2.0, das ich selbst beim Programmieren benutze.
Das Programm 'TKOberonErr' erwartet das zum Oberoncompiler gehörende
Programm 'OErr' in einem Verzeichnis, das von AmigaDos nach ausführbaren
Programmen durchsucht wird. (z.B. 'sys:', 'c:' oder mit dem 'path'-
Befehl zusätzlich hinzugefügte Pfade).
Genauso sollte sich für 'TKA68KErr' das Programm 'A68K' in einem
solchem Verzeichnis befinden.
Da ich z.B. vom A68K keine neueren oder älteren Versionen habe,
kann ich natürlich nicht sagen, ob meine Tools sich mit anderen
Compiler-, bzw. Assemblerversionen vertragen.
Sollte es Probleme geben : Brief an mich schreiben. Wenn es sich um
einen einigemaßen verbreiteten PD-Compiler oder Assembler handelt,
werde ich versuchen, an neuere Versionen heranzukommen.
Wenn jemand ein solches Programm für irgend einen anderen Compiler
schreiben sollte, wäre ich sehr dankbar, wenn er (oder sie) mir
dieses Programm zuschicken würde.
Es würde dann mit der nächsten Version von TKEd mitveröffentlicht.
--------------------------------------------------------------------------
-First Error-
Springt zum ersten Fehler und zeigt in einem Requester die Fehlermeldung
an.
--------------------------------------------------------------------------
-Next Error-
Springt zum nächsten Fehler und zeigt die Fehlermeldung an.
++++++++++
+ Buffer +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
++++++++++
-Goto Buffer-
0 bis 9 : Zeigt den Inhalt des gewählten Buffers an
*********
* AREXX *+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*********
Fast alle Funktionen von TKEd lassen sich über entsprechende AREXX-
Kommandos extern aufrufen.
Der AREXX-Port von TKEd hat den Name 'TKEd.1' und kann nach 'address 'TKED.1''
angesprochen werden. Näheres hierzu steht in entsprechender Literatur
zu AREXX.
Jeder weitere gestartet TKEd bekommt eine entsprechende Zahl an den Portnamen
angehängt (bei drei laufenden TKEd's gibt es also die AREXX-Ports
'TKEd.1', 'TKEd.2' und 'TKEd.3'.
Bei den Namem der AREXX-Kommandos habe ich mich weitestgehend an die
Richtlinien im 'User Interface Style Guide' gehalten.
Nur die Art und Weise, wie man den Cursor im Text positioniert, habe
ich nicht übernommen, da man sich Befehle wie 'POSITION SOF', 'POSITION EOF'.
'POSITION SOL' usw. (es gibt sage und schreibe 8 davon) sehr viel schlechter
merken kann als 'EndOfLine', 'BeginOfLine', 'NextWord' oder 'PreviousWord'.
Dies sollte auch Commodore nochmal überdenken!
Im folgenden nun eine Liste der Funktion mit Namen, Funktion, Parameter und
Rückgabewerten:
Die Liste hat folgenden Aufbau:
Nr. Name
Funktion
Nummer und Inhalt der Parameter
Rückgabewert
1. New
Löscht den gesamten Text
Keine
Nichts
2: Open
Laden eines Textes
1:Name des Textes (Ohne Parameter: Auswahlrequester erscheint)
Name des Textes, wenn Laden möglich, sonst 10
3. Save
Abspeichern des Textes
Keine
0, wenn möglich, sonst 10
4. SaveAs
Abspeichern des Textes unter einem neuen Namen (Name in TKEd bleibt)
1:Name, unter dem der Text abgespeichert werden soll (Ohne Parameter:
Auswahlrequester)
Neuer Name, falls speichern möglich, sonst 10
5. Print
Ausgabe des Textes auf den Drucker
Keine
0 wenn erfolgreich, sonst 10
6. InsertFile
Einfügen eines Textes über Cursor
1:Name des Textes
Name des eingefügten Textes, wenn erfolgreich, sonst 10
7. SaveAndQuit
Abspeichern des Textes und verlassen von TKEd
Keine
0, wenn möglich, sonst 10
8. Quit
Beendet TKEd
Keine
Nichts
9. Find
Sucht ein Wort im Text
1:Wort (Ohne Parameter: Eingaberequester erscheint)
0 wenn Wort gefunden, sonst 10
10. FindNext
Sucht nächstes Vorkommen eines Wortes
Keine
0 wenn Wort gefunden, sonst 10
11. FindPrevious
Sucht vorheriges Vorkommen eines Wortes
Keine
0 wenn Wort gefunden, sonst 10
12. FindChange
Sucht nächstes Vorkommen eines Wortes im Text und ersetzt es durch
ein anderes Wort
1:Zu suchendes Wort 2:Neues Wort (Wenn Parameter = PROMPT, dann
Eingaberequester)
0 wenn Wort ersetzt werden konnte, sonst 10
13. ChangeNext
Sucht nächstes Vorkommen eines Wortes im Text und ersetzt es durch
ein anderes Wort
1:Zu suchendes Wort 2:Neues Wort
0 wenn Wort ersetzt werden konnte, sonst 10
14. ChangePrevious
Sucht vorheriges Vorkommen eines Wortes im Text und ersetzt es durch
ein anderes Wort
1:Zu suchendes Wort 2:Neues Wort
0 wenn Wort ersetzt werden konnte, sonst 10
15. ChangeAll
Ersetzt alle Vorkommen eines Wortes durch ein anderes Wort
1:Zu suchendes Wort 2:Neues Wort
Nichts
16. CountOccurences
Zählt alle Vorkommen eines Wortes
1:Wort
Zahl der gefundenen Vorkommen
17. MatchingBracket
Siehe gleichnamigen Menupunkt
Keine
0 wenn zugehörige Klammer gefunden wurde, sonst 10
18. GotoBookMark
Geht zu der entsprechenden Markierung (falls gesetzt)
Nummer der Markierung (0..9)
0 wenn erfolgreich, 10 sonst
19. SetBookMark
Setzt neue Markierung
Nummer der Markierung
0 wenn erfolgreich, 10 sonst
20. ClearBookMark
Löscht die entsprechende Markierung
Nummer der zu löschenden Markierung (0..9)
0 wenn erfolgreich, 10 sonst
21. BlockStart
Markiert Anfang eines Blockes
Keine
Nichts
22. BlockEnd
Markiert Ende eines Blockes
Keine
Nichts
23. BlockDelete
Geht in den Buffer, in dem der markierte Block ist, und löscht diesen
Keine
Nichts
24. BlockCopy
Kopiert einen Block eine Zeile über den Cursor
Keine
Nichts
25. BlockMove
Wie BlockCopy, nur wird ursprünglicher Block gelöscht
Keine
Nichts
26. BlockRight
Bewegt markierten Block um ein Zeichen nach rechts
Keine
Nichts
27. BlockLeft
Bewegt markierten Block um ein Zeichen nach links
Keine
Nichts
28. UnmarkBlock
Macht eine Markierung unwirksam
Keine
Nichts
29. InsertBlock
Öffnet Filerequester, um einen zuvor gespeicherten Block zu laden
Keine
Nichts
30. PrintBlock
Druckt einen markierten Block aus
Keine
0 wenn Ausdruck möglich, sonst 10
31. SaveBlock
Öffnet Filerequester, um einen Block zu abzuspeichern
Keine
Nichts
32. PreviousPage
Geht im Text eine Seite nach oben
Keine
Nichts
33. NextPage
Geht im Text eine Seite nach unten
Keine
Nichts
34. BeginOfFile
Geht zum Anfang des Textes
Keine
Nichts
35. EndOfFile
Geht zum Ende des Textes
Keine
Nichts
36. BeginOfLine
Geht zum ersten Zeichen einer Zeile
Keine
Nichts
37. EndOfLine
Geht zum Ende einer Zeile
Keine
Nichts
38. GotoLine
Geht zu der entsprechenden Zeile
Nummer der Zeile, zu der man will
0 wenn erfolgreich, sonst 10
39. GotoColumn Bemerkung: Ist die Nummer der
Geht zu der entsprechenden Spalte Spalte größer als die Länge der
Nummer der Spalte, zu der man will entsprechende Zeile, werden an das
0 wenn erfolgreich, sonst 10 Ende der Zeile entsprechend viele
Leerzeichen angefügt.
40. NextWord
Geht zum nächsten Wort (bleibt jedoch in der gleichen Zeile)
Keine
Nichts
41. PreviousWord
Geht zum vorherigen Wort (bleibt jedoch in der gleichen Zeile)
Keine
Nichts
42. DeleteLine
Löscht Zeile, in der sich der Cursor befindet
Keine
Nichts
43. DeleteToEOL
Löscht von der Cursorposition an den Rest einer Zeile
Keine
Nichts
44. Cursor
Bewegt Cursor um eine Position in die entsprechende Richtung
up, down, left oder right
Nichts
45. Line
Geht Anzahl Zeilen vor, bzw. zurück
Anzahl der Zeilen (z.B. 3, -6, +99 usw.)
10, wenn Anfang oder Ende des Textes erreicht wird, sonst 0
46. Column
Geht Anzahl Zeichen vor, Bzw. zurück
Anzahl der Zeilen (z.B. 3, -6, +99 usw.)
10, wenn Anfang oder Ende einer Zeile erreicht wird, sonst 0
47. return
Bewirkt dasselbe wie das Drücken der 'Return' -Taste
Keine
Nichts
48. del
Bewirkt dasselbe wie das Drücken der 'Del' -Taste
Keine
Nichts
49. backspace
Bewirkt dasselbe wie das Drücken der '<-' (=Backspace-)-Taste
Keine
Nichts
50. GetLineNumber
Gibt aktuelle Zeilennummer zurückt
Keine
Nummer der Zeile
51. GetColumnNumber
Gibt aktuelle Spaltennummer zurück
Keine
Nummer der Spalte
52. GetChar
Gibt das Zeichen, auf dem der Cursor steht, zurück
Keine
1 Zeichen
53. GetLine
Gibt den Inhalt der aktuellen Zeile zurück
Keine
Inhalt der aktuellen Zeile
54. WriteChar
Schreibt ein Zeichen in den Text
1 Zeichen
0 wenn erfolgreich, sonst 10
55. WriteString
Schreibt Zeichenkette in den Text
Zeichenkette (max. 255 Zeichen lang)
0 wenn erfolgreich, sonst 10
56. EnterAscii
Schreibt zu der Zahl gehörendes ASCII-Zeichen in den Text
Nummer des Zeichens (0 < Nummer < 256)
0 wenn erfolgreich, sonst 10
57. SwapChars
Vertauscht das Zeichen, auf dem der Cursor steht, mit dem darauf
folgenden
Keine
Nichts
58. LastLine
Gibt Zeilennummer der letzten Zeile eines Textes zurück
Keine
Nummer der letzten Zeile
59. GetFileName
Gibt Namen des gerade geladenen Textes zurück
Keine
Name des Textes
60. TKEdToFront
Holt den Screen von TKEd nach vorn
Keine
Nichts
61. TKEdToBack
Bewegt den Screen von TKEd nach hinten
Keine
Nichts
62. ReName
Gibt einem geladenen Text einen neuen Namen
Neuer Name
Nichts
63. GotoBlockStart
Geht an den Anfang eines markierten Blockes
Keine
0 wenn erfolgreich, sonst 10
64. GotoBlockEnd
Geht an das Ende eines markierten Blockes
Keine
0 wenn erfolgreich, sonst 10
65. DeleteWord
Löscht den Rest des Wortes, auf dem man sich gerade befindet
Keine
Nichts
66. SwapCase
Wandelt Kleinbuchstaben um in Großbuchstaben und umgekehrt
Keine
0 wenn möglich, sonst 10
67. UpperCase
Wandelt Kleinbuchstaben um in Großbuchstaben (Großbuchstaben werden
nicht verändert)
Keine
0 wenn möglich, sonst 10
68. LowerCase
Wandelt Großbuchstaben um in Kleinbuchstaben (Kleinbuchstaben werden
nicht verändert)
Keine
0 wenn möglich, sonst 10
69. FirstError
Springt zum ersten Fehler eines Errorfiles
wenn Parameter = PROMPT, dann wird Fehler in einem Requester angezeigt
Fehlertext, wenn vorhanden, sonst 10
70. NextError
Springt zum nächsten Fehler eines Errorfiles
wenn Parameter = PROMPT, dann wird Fehler in einem Requester angezeigt
Fehlertext, wenn vorhanden, sonst 10
71. FunctionKey
Führt das zu der spezifizierten Funktiontaste gehörende Kommando aus
Nummer der Funktiontaste (0 bis 19) (F1=0 ... F10=9,
Shift-F1=10 ... ShiftF10=19)
Nichts
72. JoinLines
Hängt die aktuelle Zeile an die vorherige Zeile an
Keine
Nichts
73. GotoBuffer
Wählt den entsprechenden Buffer
Nummer des Buffers (0 bis 9)
0 wenn Text in Buffer, 5 wenn leerer Buffer, 10 wenn Fehler
74. GetBufferNumber
Gibt aktuelle Buffernummer zurück
Keine
Nummer des aktuellen Buffers
75. Indent
Automatisches Einrücken An/Aus
ON, wenn eingeschaltet werden soll (alles andere schaltet Indent aus)
Nichts
76. AutoBackup
Automatisches Backup An/Aus
ON, wenn eingeschaltet werden soll (alles andere schaltet aus)
Nichts
77.
VersionBackup
Backup mit mehreren Version An/Aus
ON, wenn eingeschaltet werden soll (alles andere schaltet aus)
Nichts
Mit Hilfe von AREXX kann man sich Funktionen, die TKEd nicht hat, leicht
selbst programmieren:
Beispiel:
/* MakeNumber : Dieses AREXX-Programm fügt eine Zeilennummer ( '1: ', '2: '
usw.) an den Anfang jeder Zeile eines geladenen Textes ein */
/****** Anfang des Programmes ******/
options results
address 'TKEd.1' /* Name von TKEd's AREXXport */
'LastLine' /* Zeilennummer der letzten Zeile */
x=result
'BeginOfFile' /* Zum Textanfang gehen */
'GetLineNumber' /* Zeilennummer abfragen */
y=result
do while y < x
'BeginOfLine' /* An Zeilenanfang gehen */
'WriteString' y /* Zeilennummer in Text schreiben */
'WriteString : ' /* Doppelpunkt (': ') dahinter schreiben */
'Cursor' "down"
'GetLineNumber' /* Zeilennummer abfragen */
y=result
end
'BeginOfLine'
'WriteString' y /* Write number */
'WriteString ": "' /* Write ': ' */
/****** Ende des Programmes ******/
Sofern AREXX korrekt installiert ist, kann man dieses Programm
aus den 'User'- Menus mit 'run rx rexx:makenumber' aufrufen.
( run nicht vergessen, da TKEd sonst auf das Ende von 'makenumber' wartet,
dieses aber nicht ausgeführt werden kann, da TKEd am Warten ist.)
**************************************************************************
* Zusätzliche Informationen *
**************************************************************************
a) TKEd ist reentrant und das pure-Bit ist gesetzt. Dadurch kann TKEd
mit Hilfe des Dos-Kommandos 'resident' resident gemacht werden.
b) TKEd kann Texte, die mit dem Powerpacker gepackt sind, laden und
entpacken. Da TKEd die Texte in die Ram Disk ( ram: ) entpackt, sollte
das ram.device im 'devs:'- Verzeichnis und der 'ram.handler'
im 'l:' Verzeichnis sein.
c) Sollte TKEd wirklich mal abstürzen, wäre es sehr nützlich für
mich, wenn man mir die Funktion, die zum Absturz geführt hat, und
die näheren Begleitumstände per Post mitteilen würde.
Ein registrierter Benutzer wird dann von mir so bald wie möglich
eine Diskette mit der verbesserten Version von TKEd bekommen;
jedem Anderen bin ich dankbar und hoffe, daß ihm die nächste
Version von TKEd (mit weniger Fehlern und noch mehr Features)
die Shareware-Gebühr wert ist.
d) Sollten Sie eine von Ihnen benötigte Funktion in TKEd vermissen,
schreiben Sie mir, ich bin für jede Anregung ( auch von Leuten, die
noch keine Sharewaregebühr bezahlt haben) dankbar.
Die Funktionen, die am meisten gewünscht werden, werden von
mir (falls sie einigermaßen realisierbar sind) zu TKEd
hinzugefügt.
**************************************************************************
Sollten Sie Kritik, Vorschläge, Geld, Geschenke, Probleme mit TKEd
oder sonstwas für mich haben schreiben Sie an
Tom Kroener
Richard Wagner Str. 40
D-6602 SB-Dudweiler
GERMANY
Ansonsten: Have fun
--- Tom