OBJEKT:
/mail/nedit.c
AUFGABE:
Stellt einen einfachen Editor zur Verfuegung (Mail, Zeitung, etc).
Das "nedit"-Objekt muss in das eigne Objekt inheritet werden, um
ihn benutzen zu koennen:
inherit "mail/nedit";
HAUPTFUNKTION:
varargs nedit(string exitfunc)
varargs nedit(string exitfunc, string pretext)
varargs nedit(string exitfunc, string pretext, mixed exitargs)
ARGUMENTE:
exitfunc - Die Funktion, die beim Verlassen des Editors aufgerufen
werden soll. Dieser Funktion wird der eingegebene Text
als 1. Parameter uebergeben.
pretext - Der Text der im Editor schon vorgegeben bzw. bearbeitet
werden soll (optional).
args - Weitere Parameter, die an die exitfunc uebergeben werden
sollen.
SYNTAX:
this_object()->nedit(exitfunc, pretext[, args]);
Nach dem Beenden des Editors ruft nedit die exitfunc wie folgt
auf:
this_object()->exitfunc(editortext[, args]);
BEISPIEL:
inherit "std/thing";
inherit "mail/nedit";
void create() {
...
AddCmd("...", "eingabe");
}
int eingabe() {
this_object()->nedit("ausgabe", "", time());
return 1;
}
...
void ausgabe(string text, int zeit) {
write("Der Editor wurde am "+dtime(zeit)+" gestartet.\n");
write("Folgendes wurde eingegeben:\n");
write( break_string(text, BS_STDLEN, 0, BS_LEAVE_MY_LFS) );
}
BEFEHLSUMFANG:
Der Editor versteht folgende Befehle:
~h - zeigt eine Hilfsseite an
~r - zeigt, was bisher geschrieben wurde
~i filename - fuegt eine Datei in den Text ein (auch ~r filename)
(nur fuer Magier)
~d - loescht die letzte Zeile (Text-, nicht Eingabezeile)
~q - bricht ab
** oder . - beendet den Editor sauber
!<cmd> - fuehrt <cmd> aus, wie wenn man gerade nicht schreiben
wuerde
~! - Verlaesst den Editor voruebergehend
Alles andere gilt als Text. Ueberlange Zeilen werden umgebrochen.
Nach ~!, oder wenn man waehrend dem Schreiben netztot wird, kann
man mit ~r wieder in den Editor einsteigen.
SIEHE AUCH:
ed(E), zeitung, mail
|