+-----------------------+ / /| +-----------------------+ | | Prg.name : TKEd V1.01 | | | Date : 24.04.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. 9999 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 US$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 vorherigen Versionen: Siehe Text 'Veraenderungen'. 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 * ************************************************************************** Um TKEd zu installieren, genügt es, das Programm 'TKEd_Install' zu starten. (Die Diskette, von der man TKEd aus installiert, sollte nicht schreibgeschützt sein). Dieses kopiert (sofern noch nicht vorhanden) die 'req.library' und die 'powerpacker.library' in das 'libs:'-Verzeichnis Ihres Systems. Diese zwei Libraries werden von TKEd zum Arbeiten benötigt. Danach wird ein Auswahlfenster geöffnet, mit dem man bequem mit der Maus das Verzeichnis, in dem man TKEd installieren möchte, auswählen kann. Klickt man 'OK!' an, werden alle von TKEd benötigten Files in das ent- sprechende Verzeichnis kopiert. Klickt man 'Forget it' an, wird das Installationsprogramm beendet. Anschließend muß sollte man in das Verzeichnis gehen, in dem man TKEd installiert hat, und das Programm 'TKEd_Assign' starten. Dies ist unbedingt notwendig, da TKEd seine Konfigurationsdateien in dem logischen Verzeichnis 'TKEd:', bzw. seine Makrodateien im Verzeichnis 'TKEd:Macros' sucht. Wenn man TKEd öfters benutzt, kann man sich diese Arbeit sparen, indem man die folgende Zeile in die Datei 's:startup-sequence' einfügt: assign TKEd: dh0:Utilities/TKEd wobei bei Ihnen statt 'dh0:Utilities/TKEd' der entsprechende Pfad auf Ihrer Fetsplatte/Disk zu dem Verzeichnis 'TKEd' stehen muß. TKEd selbst können Sie anschließend an einen Platz Ihrer Wahl kopieren. ------------------------------------------------------------------------ | WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG | ------------------------------------------------------------------------ | | | 1. 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. | | | | 2. Konfigurationsdateien der Version V1.00a und V1.00b ('TKEd.cfg') | | können nicht mehr verwendet werden. | | Von dieser Version an (V1.01) werden jedoch auch zukünftige | | Versionen von der Konfigurationsdatei Gebrauch machen können, bzw. | | es werden in Zukunft entsprechende Konvertierungsprogramme | | mitgeliefert. | | | ------------------------------------------------------------------------ | WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG WICHTIG | ------------------------------------------------------------------------ ************************************************************************** * Zu Tastatur und Maus * ************************************************************************** -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 'o' ö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. Im Menu steht dann 'Ctrl+l'). 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. -Maus- Man kann den Cursor auch mit der Maus platzieren durch drücken der linken Maustaste platzieren. Sollte die Position des Mauspfeiles rechts vom Ende einer Zeile sein, so wird der Cursor automatisch an das Ende der Zeile gesetzt. Will man den Text eine Zeile weiter, bzw. rückwärts bewegen, so kann man am unteren(oberen) Ende des Screens den linken Mausknopf drücken. Nach kurzem Drücken und Wiederloslassen des rechten Mausknopfes (der linke bleibt weiter gedrückt) bewegt man sich im Text je nach Mausposition mehr oder weniger schnell nach oben, bzw, unten. Außerdem benötigt man die Maus noch zum markieren von senkrechten Blöcken (Näheres siehe dort). ************************************************************************** * 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. Sollte nur noch sehr wenig freier Speicher vorhanden sein, speichert TKEd nicht mehr im normalen Modus ab, sondern Zeilenweise. Dies dauert zwar etwas länger, benötigt jedoch keinen zusätzlichen Speicherplatz. -------------------------------------------------------------------------- -Save As- Öffnet einen Filerequester, um ein File unter einem evtl. anderen Namen oder Pfad abzuspeichern. ------------------------------------------------------------------------- -Print- Schickt den Text zum Drucker. -------------------------------------------------------------------------- -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. -------------------------------------------------------------------------- -Iconify- Mit diesem Menupunkt kann man TKEd iconifizieren, d.h. TKEd schließt seinen Screen und sein Window und öffnet stattdessen auf der Workbench ein kleines Fenster mit seinem Namen. Dieses spart ungefähr 50000 Byte Chipmemory. Es bleiben alle Daten in TKEd erhalten! Durch anklicken des Schließsymbols mit der linken Maustaste oder durch drücken der rechten Maustaste irgendwo auf dem Window wird der 'normale' Zustand von TKEd wiederhergestellt. Die Iconifizierung kann man beim Start von TKEd aus dem CLI oder der Shell durch den Parameter '-i' erreichen, wobei dann allerdings kein Dateiname mehr übergeben werden kann. (Die Funktion ist primär zum Starten von TKEd ohne Dateinamen als Parameter aus der startup- sequence gedacht). -------------------------------------------------------------------------- -Save All & Quit- Speichert jeden Buffer von TKEd, der verändert wurde, und beendet TKEd. -------------------------------------------------------------------------- -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 ('TKEd.cfg') automatisch geladen. Zuerst sucht TKEd sie im aktuellen Verzeichnis. Sollte sie hier nicht gefunden werden, wird die Konfigurationsdatei im Verzeichnis 'TKEd:' gesucht. Sollte TKEd auch hier nichts finden, wird TKEd automatisch mit einer voreingestellten Konfiguration gestartet. -------------------------------------------------------------------------- -Save- Öffnet einen Filerequester, in dem man einen Name für die zu speichernde Konfiguration eingeben kann. Voreingestellt ist der Name 'TKEd:TKEd.cfg'. Gesichert werden folgende Einstellungen: - Die Farben - Die Zahl der Leerzeichen, die TKEd für die Tabulatortaste einsetzt - Ob automatisches Einrücken an oder aus ist - Alle Daten von den User-Menus (Kommandos, Texte etc.) - Alle Daten von den ARexx-Memus - Die Tastaturbelegung der Shortcuts, die mit der Amigataste ausgelöst werden - Alle Informationen der Untermenus von 'Screen', 'Fonts' und 'Backup' Achtung: Obwohl man die Konfigurationsdatei (da ASCII-Format) mit einem Editor 'von Hand' bearbeiten könnte, sollte man dies unterlassen, da TKEd das von ihm abgespeicherte Format erwartet und dieses deshalb nicht vollständig prüft. Da dies zum Abbruch von TKEd führen kann: Finger weg von der Konfigurationsdatei !!!!! -------------------------------------------------------------------------- -Default- Setzt die Standardvoreinstellungen und löscht alle User-Menus und alle ARexx-Menus. -------------------------------------------------------------------------- -Screen- Hat folgende Untermenus: - Set horiz. Position- Setzt die horizontale Position der linken oberen Ecke des Screen von TKEd (unter Kickstart <= 1.3 ohne Wirkung) - Set vert. Position- Setzt die vertikale Position der linken oberen Ecke des Screen von TKEd - Set horiz. Size- Setzt die Breite des Screen von TKEd. TKEd rechnet die eingegebene Breite in ein passendes Vielfaches der aktuellen Zeichensatzbreite um - Set vert. Size- Setzt die Höhe des Screen von TKEd. Auch hier wird die Eingabe in ein entsprechendes Vielfaches der Höhe des aktuellen Zeichensatzes umgerechnet - Interlace- Schaltet Interlace ein/aus -------------------------------------------------------------------------- -Fonts- Hier kann man zwischen verschiedenen Zeichengrößen wählen, um auch auf Amigas mit höheren Auflösungen die Schrift gut erkennen zu können. TKEd paßt die Höhe und Breite des Screen automatisch an die entsprechende Zeichensatzgröße an. ACHTUNG: Vor Benutzung anderer Fonts muß man diese in das 'fonts:' Verzeichnis kopieren, bzw. das Programm 'Install_Fonts' aufrufen, welches die TKEd-eigenen Fonts installiert. -------------------------------------------------------------------------- -Colors- Öffnet einen Farbrequester, mit dem durch Schieberegler die Werte der einzelnen Farben verändert werden können. -------------------------------------------------------------------------- -Tab Size- 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. -------------------------------------------------------------------------- -Backup- Hat folgende Untermenus, um die Art des Backups zu spezifizieren: - Safe Saves- Steht ein Haken vor diesem Menupunkt, so wird eine evtl. schon vorhandene Version eines Textes (mit selbem Namen) zunächst umbenannt und erst nach erfolgreichem abspeichern gelöscht. Sollte wärend des Abspeicherns ein 'Unfall' passieren, so existiert der Originaltext noch unter dem Namen 'Originalname.TKEd.tmp' - 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 Namen 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. - TimeBackup- Steht ein Haken vor diesem Menupunkt, so meldet sich TKEd nach 15 Minuten (Sofern an dem Text etwas verändert wurde) mit einem Requester, in dem man wählen kann, ob man den Text vorsichtshalber abspeichern will oder nicht. Danach wird wieder 15 Minuten gewartet. - Set Extension- Hier kann man eingeben, welche Endung Backups haben sollen (Voreingestellt ist '.bak') - Hide Backups- Hier kann man einstellen, welche Dateien, bzw. Dateien mit bestimmten Endungen man im Dateirequester nicht sehen will. (.info Dateien werden sowieso nicht angezeigt). Hier kann man auch mit 'Wildcards' arbeiten, wobei *,# und ? unterstützt werden. (Voreingestellt ist *.bak*) -------------------------------------------------------------------------- ++++++++++ + 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++ Allgemeiner Hinweis: Da TKEd beim herumkopieren von großen Blöcken relativ viel Zeit (und auch Speicherplatz) braucht, empfiehlt es sich, größere Blocks mit Hilfe von 'Save Block' und 'Insert Block' zu bearbeiten. -------------------------------------------------------------------------- -Mark Block- Markiert den Anfang eines Blockes. Durch auf, bzw . 'runterfahren mit dem Cursor kann man das Ende des zu markierenden Blockes bestimmen. Dabei darf man jedoch nur die Cursortasten ohne (!) 'Alt', bzw. 'Shift'-Taste benutzen. (wem dies beim Markieren sehr großer Bereiche zu langsam ist, der kann mit 'Goto Line' bis zu der entsprechenden Zeile gehen) Möchte man beim Markieren eine oder mehrere Zeilen nicht mit markieren, so kann man diese mit 'Alt'-Cursortaste (also hoch, bzw. 'runterfahren mit gedrückter 'Alt'-Taste) überspringen. Möchte man von einer Zeile nur ab einem bestimmten Zeichen an markieren, so kann man mit dem Cursor entsprechend weit nach rechts gehen; geht man dann nach nach oben bzw. unten, so wird nur der entsprechende Teil der letzten Zeile markiert. (Hört sich wesendlich schwieriger an, als es ist; einfach ausprobieren) -------------------------------------------------------------------------- -Mark vertical Block- Hiermit kann man senkrechte Blöcke markieren. Zum Markieren der Breite des senkrechten Blockes bewegt man die Maus mit gedrücktem (linken) Mausknopf von Links nach Rechts. Anschließend kann man wie bei 'Mark Block' durch hoch-, bzw. 'runter- fahren des Cursors einen entsprechenden Block markieren. Wenn man beliebige Teile von verschiedenen Zeilen (diese Zeilen brauchen nicht aufeinanderfolgend sein und können daher beliebig im Text verstreut sein !!!)) markieren will, so kann man dies auch mit dieser Funktion machen; einfach wie oben an einer anderen Stelle die Maus neu ansetzen und markieren; die alte Markierung bleibt bestehen ! Bei 'Copy' oder 'Cut' werden die entsprechenden Zeile hintereinander- folgend in einem internen Block gespeichert. -------------------------------------------------------------------------- -Cut Block- Schneidet die markierten Zeichen aus einem Text aus und speichert sie in einem internen Block. -------------------------------------------------------------------------- -Copy Block- Speichert die markierten Zeichen eines Blockes in einem internen Block. -------------------------------------------------------------------------- -Delete Block- Löscht den gerade markierten (also invers dargestellten) Block. Dabei werden allerdings immer komplette Zeilen gelöscht, egal ob sie ganz oder nur teilweise markiert sind. Diese Funktion kann zwar auch mit 'Cut Block' realisiert werden, verbraucht aber wesendlich weniger (genauer gesagt keinen) zusätzlichen Speicherplatz und ist schneller. -------------------------------------------------------------------------- -Paste Block- Fügt die Zeichen eines internen Blockes (falls vorhanden) zwischen die aktuelle Zeile und die vorherige ein. Hierbei wird für jede Zeile des internen Blockes eine neue Zeile erzeugt, in der die Zeile des internen Blockes linksbündig dargestellt wird. -------------------------------------------------------------------------- -Paste vertical block- Fügt die Zeichen eines internen Blockes (falls vorhanden) in (!!) die vorhandenen Zeilen eines Text ein. Die erste davon betroffene Zeile ist die aktuelle Zeile. Jede Zeile des internen Blockes wird ab der aktuellen Cursorposition in eine Zeile eingefügt, bzw. an das Ende einer Zeile angehängt, falls diese kürzer ist als die Cursorposition. Würde das Einfügen eine Zeile zu lang machen, wird ein entsprechender Teil der einzufügenden Zeile abgeschnitten (die Originalzeile bleibt also immer vollständig erhalten). Sollte wärend dieses Vorganges das Textende erreicht werden, bricht dieser Vorgang ab. -------------------------------------------------------------------------- -Block->- Bewegt einen markierten (also invers dargestellten) Block um eine Spalte nach rechts. -------------------------------------------------------------------------- -Block<-- Bewegt einen markierten (also invers dargestellten) 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 einen mit 'Block Copy' oder 'Block Cut' ausgeschnittenen Block aus. -------------------------------------------------------------------------- -Save Block- Öffnet einen Filerequester, einen mit 'Block Copy' oder 'Block Cut' ausgeschnittene Block abzuspeichern. Als Name für den Block ist 't:blk' voreingestellt. -------------------------------------------------------------------------- +++++++++ +++++++++ + User1 ++++ User2 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++ +++++++++ -------------------------------------------------------------------------- -F1- -F2- -F3- -F4- -F5- -F6- -F7- -F8- -F9- -F10- Hiermit werden die vom Benutzer definierten Programme gestartet. -------------------------------------------------------------------------- - Select command...- Hiermit kann man mittels Filerequester den Namen des aufzurufenden Dos-Kommandos auswählen. Beim Abspeichern der Prefs wird der zuletzt ausgewählte Name mit abgespeichert. -------------------------------------------------------------------------- -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. -------------------------------------------------------------------------- ++++++++++ ++++++++++ + ARexx1 ++++ Arexx2 +++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++ ++++++++++ -------------------------------------------------------------------------- -Shift+F1- -Shift+F2- -Shift+F3- -Shift+F4- -Shift+F5- -Shift+F6- -Shift+F7- -Shift+F8- -Shift+F9- -Shift+F10- Hiermit werden die vom Benutzer definierten AREXX-Programme gestartet. -------------------------------------------------------------------------- - Select command...- Hiermit kann man mittels Filerequester den Namen des aufzurufenden AREXX-Kommandos auswählen. Als Verzeichnis ist 'REXX:' voreingestellt. Beim Abspeichern der Prefs wird der zuletzt ausgewählte Name mit abgespeichert. -------------------------------------------------------------------------- -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. TKEd sucht das entsprechende AREXX-Prgramm zuerst im aktuellen Verzeichnis, dann im Verzeichnis 'REXX:". AREXX-Programme werden von TKEd grundsätzlich synchron ausgeführt, d.h. TKEd wartet solange, bis das entspr. AREXX-Programm fertig ist. Möchte man ein AREXX-Programm asynchron ausführen lassen (wodurch man, selbst wenn das AREXX-Programm längere Zeit läuft, direkt mit der Arbeit mit TKEd fortfahren kann), so ist das Schlüsselwort 'async' zusätzlich vor den Aufruf des AREXX- Programmes (im Menu Arexx in den Requester 'Enter the command') einzutragen. 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- Löscht die Daten des gewählten Menus. -------------------------------------------------------------------------- +++++++++ + Misc1 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++ -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. (überspringt alle Zeichen, die nicht a..z A..Z 0..9 sind). -Previous Word- Bewegt den Cursor an das Ende des vorherigen Wortes. (überspringt alle Zeichen, die nicht a..z A..Z 0..9 sind). -------------------------------------------------------------------------- -Makros- -Start Learning- Zuerst fragt TKEd, an welche Taste das Makro gebunden werden soll. Erlaubt sind alle Tasten der Tastatur (auch Shift, Alt usw.) jedoch keine Kombinationen mehrer Tasten (Also ist z.B. 'Shift-h' nicht erlaubt) Anschließend werden solange alle Aktionen, die man macht (Tastatureingaben, Menuauswahl usw.) aufgezeichnet, bis der Menupunkt 'Macros End' ausgewählt wird. Man sollt die Taste, an die das Makro gebunden ist, nicht im Makro selbst benutzten, da sich auf diese Weise das Makro bei Ausführung immer wieder selbst aufruft. (was jedoch auch durchaus gewollt sein kann). Ein solches sich immer wiederholendes Makro kann man mit der 'Esc'- Taste abbrechen. Cursorbewegungen, bei denen zusätzlich zu den Pfeiltasten entweder 'Shift', 'Alt' oder 'Ctrl' benötigt wird sollten mit den entsprechenden Menus (unter Misc1) aufgezeichnet werden . (also statt 'Shift + Cursor rechts' den Menupunkt 'End of line' anwählen). -Stop Learning- Beendet die Aufzeichnung eines Makros. -Load Macros- Ermöglicht das Einladen vorher gespeicherter Makros. Beim Starten von TKEd geschieht dies automatisch. -Save Macros- Speichert alle Makros in das Verzeichnis 'TKEd:Macros'. -Clear one Macro- Drückt man anschließend eine Taste, an die ein Makro gebunden ist, so wird dieses gelöscht. -Clear all Macros- Löscht alle Makros. Will man auch das Einladen von Makros beim Start von TKEd verhindern, so sollte man nach 'Clear Macros' noch 'Save Macros' aufrufen. +++++++++ + Misc2 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++ -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. -------------------------------------------------------------------------- -Join Lines- Hängt die aktuelle Zeile an die vorherige Zeile an -------------------------------------------------------------------------- -Clone Line- Erzeugt eine Kopie der aktuellen Zeile -------------------------------------------------------------------------- -Swap Chars- Vertauscht das Zeichen, auf dem der Cursor im Text gerade steht, mit dem darauffolgenden Zeichen. -------------------------------------------------------------------------- -Swap Case- Steht der Cursor auf einem Kleinbuchstaben, so wird dieser in einen Großbuchstaben umgewandelt und umgekehrt. -------------------------------------------------------------------------- -Errors-: 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. -------------------------------------------------------------------------- -Enter Ascii- Hier kann man den ASCII-Wert eines Zeichens eingeben, welches dann in den Text eingefügt wird. -------------------------------------------------------------------------- -Free Memory- Zeigt an, wieviel Speicher noch frei ist. -------------------------------------------------------------------------- ++++++++++ + 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'. Achtung: Bei den Namen der ARexx-Ports ist Groß-Klein-Schreibung zu beachten. (also TKEd.1, nicht TKED.1) Bei den Namen der ARexx-Kommandos ist es egal, ob ein Kommando groß, klein oder gemischt geschrieben wird. ( also: es ist egal, ob man 'BEGINOFLINE', 'BeginOfLine' oder 'BeGinoFliNE' schreibt). Bei Kommandos mit vorgegebenen Parametern (UP, DOWN, LEFT, RIGHT, ON, OFF, FORCE) sollten (wenn nicht anders angegeben) diese Parameter immer groß geschrieben werden (Also nicht: On, Down, down !!!!!) 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! Startet man AREXX-Programme von den ARexx-Menus von TKEd aus, so werden diese normalerweise synchron ausgeführt, d.h. TKEd wartet solange, bis das Programm fertig ist. Möchte man ein AREXX-Programmes asynchron ausführen, so muß man in den Kommandonamen, den man in das ARexx-Menu einträgt, zusätzlich das Schlüsselwort 'async' eintragen. Man braucht dann nicht auf das Ende des Programmes zu warten, sondern kann direkt mit TKEd weiterarbeiten. Wenn das AREXX-Programm fertig ist, meldet sich TKEd mit einem Requester, in dem die Rückgabewerte, bzw. Fehlercodes des AREXX-Programmes angezeigt werden. Diesen Requester kann durch das Schlüsselwort 'noreq' im Kommandonamen unterdrücken. Wenn Funktionen von TKEd von anderen Programmen aus aufgrufen werden, geschieht dies natürlich synchron, da sonst ein korrekter Programmablauf kaum möglich wäre. Im folgenden nun eine Liste der Funktion mit Namen, Funktion, Parameter und Rückgabewerten, aufgeteilt in entsprechende Funktionsgruppen: Die Liste hat folgenden Aufbau: Nr. Name -Funktion -Nummer und Inhalt der Parameter -Rückgabewert *************** *** Project *** *************** 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. SaveAllAndQuit -Abspeichern aller modifizierten Texte und verlassen von TKEd -Keine -Nichts 8. SaveAndQuit -Abspeichern des Textes und verlassen von TKEd -Keine -0, wenn möglich, sonst 10 9. Quit -Beendet TKEd -Keine (FORCE, wenn ohne Rückfrage beendet werden soll) -Nichts ************* *** Prefs *** ************* 1. Indent -Automatisches Einrücken An/Aus -ON, wenn eingeschaltet werden soll (alles andere schaltet Indent aus) -Nichts 2. AutoBackup -Automatisches Backup An/Aus -ON, wenn eingeschaltet werden soll (alles andere schaltet aus) -Nichts 3. VersionBackup -Backup mit mehreren Version An/Aus -ON, wenn eingeschaltet werden soll (alles andere schaltet aus) -Nichts 4. SetExtension -Ändern der Endung von Backup-Files -neue Endung (maximal 10 Zeichen lang) -Nichts ************** *** Search *** ************** 1. Find -Sucht ein Wort im Text -1:Wort (Ohne Parameter: Eingaberequester erscheint) -0 wenn Wort gefunden, sonst 10 2. FindNext -Sucht nächstes Vorkommen eines Wortes -Keine -0 wenn Wort gefunden, sonst 10 3. FindPrevious -Sucht vorheriges Vorkommen eines Wortes -Keine -0 wenn Wort gefunden, sonst 10 4. FindChange -Sucht nächstes Vorkommen eines Wortes im Text und ersetzt es durch ein anderes Wort -1:Zu suchendes Wort 2:Neues Wort (Wenn keine Parameter, dann Eingaberequester) -0 wenn Wort ersetzt werden konnte, sonst 10 5. 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 6. 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 7. ChangeAll -Ersetzt alle Vorkommen eines Wortes durch ein anderes Wort -1:Zu suchendes Wort 2:Neues Wort -Nichts 8. CountOccurences -Zählt alle Vorkommen eines Wortes -1:Wort -Zahl der gefundenen Vorkommen 9. MatchingBracket -Siehe gleichnamigen Menupunkt -Keine -0 wenn zugehörige Klammer gefunden wurde, sonst 10 ***************** *** BookMarks *** ***************** 1. GotoBookMark -Geht zu der entsprechenden Markierung (falls gesetzt) -Nummer der Markierung (0..9) -0 wenn erfolgreich, 10 sonst 2. SetBookMark -Setzt neue Markierung -Nummer der Markierung -0 wenn erfolgreich, 10 sonst 3. ClearBookMark -Löscht die entsprechende Markierung -Nummer der zu löschenden Markierung (0..9) -0 wenn erfolgreich, 10 sonst ************** *** Blocks *** ************** Siehe auch Menu 'Blocks' 1. Mark -Markiert Anfang eines Blockes -Keine -Nichts 2. MarkVertical1 -Markiert linken Anfang eines senkrechten Blockes -CursorPosition (0..Länge der Zeile) -0 wenn möglich, sonst 10 3. MarkVertical2 -Markiert rechtes Ende eines senkrechten Blockes -CursorPosition (0..Länge der Zeile) -0 wenn möglich, sonst 10 4. Cut -Siehe entsprechendendes Menu -Keine -Nichts 5. Copy -Siehe entsprechendendes Menu -Keine -Nichts 6. DeleteBlock -Löscht den gerade markierten Block (komplette Zeile) -Keine -Nichts 7. Paste -Siehe entsprechendendes Menu -Keine -Nichts 8. PasteVertical -Siehe entsprechendendes Menu -Keine -Nichts 9. BlockRight -Bewegt markierten Block um ein Zeichen nach rechts -Keine -Nichts 10. BlockLeft -Bewegt markierten Block um ein Zeichen nach links -Keine -Nichts 11. UnmarkBlock -Macht eine Markierung unwirksam -Keine -Nichts 12. InsertBlock -Öffnet Filerequester, um einen zuvor gespeicherten Block zu laden -Keine -Nichts 13. PrintBlock -Druckt einen markierten Block aus -Keine -0 wenn Ausdruck möglich, sonst 10 14. SaveBlock -Öffnet Filerequester, um einen Block zu abzuspeichern -Keine -Nichts ************** *** Moves **** ************** 1. PreviousPage -Geht im Text eine Seite nach oben -Keine -Nichts 2. NextPage -Geht im Text eine Seite nach unten -Keine -Nichts 3. BeginOfFile -Geht zum Anfang des Textes -Keine -Nichts 4. EndOfFile -Geht zum Ende des Textes -Keine -Nichts 5. BeginOfLine -Geht zum ersten Zeichen einer Zeile -Keine -Nichts 6. EndOfLine -Geht zum Ende einer Zeile -Keine -Nichts 7. GotoLine -Geht zu der entsprechenden Zeile -Nummer der Zeile, zu der man will -0 wenn erfolgreich, sonst 10 8. 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. 9. NextWord -Geht zum nächsten Wort (bleibt jedoch in der gleichen Zeile) -Keine -Nichts 10. PreviousWord -Geht zum vorherigen Wort (bleibt jedoch in der gleichen Zeile) -Keine -Nichts 11. Cursor -Bewegt Cursor um eine Position in die entsprechende Richtung -UP, DOWN, LEFT oder RIGHT (bitte Großbuchstaben !!) -Nichts 12. 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 13. 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 14. GotoByte -Geht zum entsprechenden Byte (=Zeichen) in einem Text. Das allererste Zeichen ist Byte=0, und in jeder Zeile wird das die Zeile beendente, nicht sichtbare 'Return'- Zeichen mitgezählt. Bei zu großen Angaben geht TKEd zum allerletzten Zeichen. -Nummer des Bytes ( >=0 ) -0 wenn ok, sonst 10 ************** *** Delete *** ************** 1. DeleteWord -Löscht den Rest des Wortes, auf dem man sich gerade befindet -Keine -Nichts 2. DeleteLine -Löscht Zeile, in der sich der Cursor befindet -Keine -Nichts 3. DeleteToEOL -Löscht von der Cursorposition an den Rest einer Zeile -Keine -Nichts ************** *** Errors *** ************** 1. FirstError -Springt zum ersten Fehler eines Errorfiles -wenn Parameter = PROMPT, dann wird Fehler in einem Requester angezeigt -Fehlertext, wenn vorhanden, sonst 10 2. NextError -Springt zum nächsten Fehler eines Errorfiles -wenn Parameter = PROMPT, dann wird Fehler in einem Requester angezeigt -Fehlertext, wenn vorhanden, sonst 10 ************ *** Keys *** ************ 1. 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 2. MakeReturn -Bewirkt dasselbe wie das Drücken der 'Return' -Taste -Keine -Nichts 3. del -Bewirkt dasselbe wie das Drücken der 'Del' -Taste -Keine -Nichts 4. backspace -Bewirkt dasselbe wie das Drücken der '<-' (=Backspace-)-Taste -Keine -Nichts *************** *** Buffers *** *************** 1. GotoBuffer -Wählt den entsprechenden Buffer -Nummer des Buffers (0 bis 9) -0 wenn Text in Buffer, 5 wenn leerer Buffer, 10 wenn Fehler 2. GetBufferNr -Gibt aktuelle Buffernummer zurück -Keine -Nummer des aktuellen Buffers 3. FindBuffer -Sucht einen entsprechenden Buffer und zu in diesen Buffer -Name des Buffers (wenn kein Parameter übergeben wird, geht TKEd zum nächsten freien Buffer) - 10, falls kein entspr. Buffer gefunden wurde, sonst die Nummer des Buffers (0..9) *********************** *** Get information *** *********************** 1. GetLineNr -Gibt aktuelle Zeilennummer zurückt -Keine -Nummer der Zeile 2. GetColumnNr -Gibt aktuelle Spaltennummer zurück -Keine -Nummer der Spalte 3. GetChar -Gibt das Zeichen, auf dem der Cursor steht, zurück -Keine -1 Zeichen 4. GetLine -Gibt den Inhalt der aktuellen Zeile zurück -Keine -Inhalt der aktuellen Zeile 5. GetLineLen -Gibt die Länge der aktuellen Zeile zurück -Keine -Länge der Zeile 6. LastLine -Gibt Zeilennummer der letzten Zeile eines Textes zurück -Keine -Nummer der letzten Zeile oder -1 falls Fehler 7. GetFileName -Gibt Namen des gerade geladenen Textes zurück (ohne Pfad) -Keine -Name des Textes 8. GetPathName -Gibt Pfad des gerade geladenen Textes (ohne Namen) -Keine -Pfad des Textes 9. GetFullPathName -Gibt Namen und Pfad des gerade geladenen Textes zurück -Keine -Pfad+Name des Textes 10. FirstMarkedLine -Gibt die Zeilennummer der ersten markierten Zeile zurück -Keine -Nummer der ersten markierten Zeile oder -1 falls nichts markiert ********************* *** Write to Text *** ********************* 1. WriteChar -Schreibt ein Zeichen in den Text -1 Zeichen -0 wenn erfolgreich, sonst 10 2. WriteString -Schreibt Zeichenkette in den Text -Zeichenkette (max. 255 Zeichen lang) -0 wenn erfolgreich, sonst 10 ******************************* *** Interaction To the user *** ******************************* 1. Request1 -Öffnet einen Requester, in dem man einen Text anzeigen lassen kann -Text, der angezeigt werden soll. Enthält der Text das Schlüssel- wort 'TKED', so wird der Requester auf dem Fenster von TKEd angezeigt. Enthält er dieses Schlüsselwort nicht, wird er auf dem gerade aktiven Fenster (egal, zu welchem Programm dieses gehört) angezeigt. -Nichts 2. Request2 -Öffnet einen Requester mit zwei Gadgets, in dem man einen Text anzeigen lassen kann -Text, der angezeigt werden soll. Enthält der Text das Schlüssel- wort 'TKED': Siehe oben!!!! -0, wenn auf 'OK' geklickt wurde, 10, wenn auf 'Cancel' geklickt wurde 3. GetNumber -Öffnet einen Requester, in den man eine Zahl eingeben kann. -Text, der in der Titleleiste des Requesters ausgegeben wird. Diesen Text so kurz wie möglich wählen ! -Eingegebene Zahl oder 0, falls nichts eingegeben wurde. 4. GetString -Öffnet einen Requester, in den man einen Text (max. 255 Zeichen) eingeben kann. -Text, der in der Titleleiste des Requesters ausgegeben wird. Diesen Text so kurz wie möglich wählen ! - Eingegebener Text oder 10, falls nichts eingegeben wurde. 5. Beep -Gibt einen Ton aus (paraktisch, um auf das Ende eines Prg. hinzuweisen) -Keine Nichts 6. DisplayBeep -Läßt alle Bildschirme kurz aufblitzen -Keine -Nichts ************* *** Misc **** ************* 1. JoinLines -Hängt die aktuelle Zeile an die vorherige Zeile an -Keine -Nichts 2. CloneLine -Erzeugt eine Kopie der aktuellen Zeile -Keine -Nichts 3. SwapChars -Vertauscht das Zeichen, auf dem der Cursor steht, mit dem darauf folgenden -Keine -Nichts 4. SwapCase -Wandelt Kleinbuchstaben um in Großbuchstaben und umgekehrt -Keine -Nichts 5. UpperCase -Wandelt Kleinbuchstaben um in Großbuchstaben (Großbuchstaben werden nicht verändert) -Keine -Nichts 6. LowerCase -Wandelt Großbuchstaben um in Kleinbuchstaben (Kleinbuchstaben werden nicht verändert) -Keine -Nichts 7. EnterAscii -Schreibt zu der Zahl gehörendes ASCII-Zeichen in den Text -Nummer des Zeichens (0 < Nummer < 256) -0 wenn erfolgreich, sonst 10 8. TKEdToFront -Holt den Screen von TKEd nach vorn -Keine -Nichts 9. TKEdToBack -Bewegt den Screen von TKEd nach hinten -Keine -Nichts 10. ReName -Gibt einem geladenen Text einen neuen Namen -neuer Name -Nichts 11. Delay -Warte eine entsprechende Zeit -Zeit in 1/50 Sekunden ( 'Delay 50' wartet 1 Sekunde) -Nichts Mit Hilfe von AREXX kann man sich Funktionen, die TKEd nicht hat, leicht selbst programmieren; einige Beispielprogramme befinden sich im Verzeichnis 'TKEd:REXX' und sollten als Anregung zu eigenen AREXX-Programmen dienen. ************************************************************************** * 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) TKEd prüft bei jedem Start seine eigene Länge. Sollte diese Länge größer sein als ursprünglich, so gibt TKEd eine Warnung aus, da er von einem Linkvirus' 'befallen' sein könnte. Bei einer kleineren Länge passiert nichts, so daß man ohne Bedenken TKEd mit einem Packer komprimieren kann. d) 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. e) 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 und für einen Text- editor sinnvoll sind ) zu TKEd hinzugefügt. f) Wenn jemand ein gutes AREXX-Programm für TKEd geschrieben (oder eines von einen anderen Editor portiert ) hat, würde ich mich freuen, wenn er/sie mir dieses zuschicken könnte. Es würde dann (falls brauchbar) mit der nächsten Version von TKEd mitveröffendlicht. g) Nobody is perfect: Falls ich irgendwo geschrieben habe 'die rechte Maustaste drücken' und es passiert nichts, dann erst mal cool bleiben und die linke Maustaste probieren ! Ich sage oft 'rechts' und meine 'links' ************************************************************************** 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