ActiveScript-Schnittstelle
Die ActiveScript-Schnittstelle bietet die Möglichkeit Funktionen im Scriptly per Script anzusteuern um so Aufgaben automatisiert zu erledigen oder Arbeitsabläufe zu vereinfachen.
Im Folgenden finden Sie eine kurze Referenz über die per Visual Basic oder Javascript nutzbaren Funktionen.
Installation
Die Scripts müssen mit den jeweiligen Datei-Endungen '.vb' oder '.js' im Ordner 'plugins' abgelegt werden und sind von da an im entsprechenden Menü abrufbar.
Wo sich der Ordner 'plugins' befindet, hängt von der installierten Version ab und wird im Folgenden erklärt.
Standard-Version
Bei der Standard-Version werden die Einstellungen und auch die Scripts abhängig vom jeweiligen Benutzer gespeichert. Dass bietet den Vorteil, dass das Programm auch unter Windows XP und Vista einwandfrei ohne Administratorrechte läuft, andererseits ist es in Mehrbenutzer-Umgebungen hilfreich, da so jede seine eigene Konfiguration des Scriptlys verwenden kann. Normalerweise findet sich der Plugins-Ordner bei der Standard-Version in folgendem Verzeichnis:
C:\Dokumente und Einstellungen\Benutzername\Anwendungsdaten\Webocton - Scriptly\plugins
Compact-Version
Haben Sie die Compact-Version installiert, findet sich im Programmordner ein Ordner 'plugins'. Das ist im Falle einer Standardinstallation:
C:\Programme\Webocton - Scriptly\plugins
Verwalten lassen sich die Scripts über das Menü 'Optionen | Plugins & Scripts'. Hier lassen sich die Plugins und die Scripts kann individuell an- bzw. ausschalten.
Zusätzliche Informationen
Neben der Hauptdatei des Scripts, können noch weitere Dateien zu diesem hinzugehören. Kopieren Sie diese einfach ebenfalls mit in den 'plugins'-Ordner.
Zu dem Script kann eine '.dat'-Datei mit ansonsten zu dem Script identischen Namen vorhanden sein/angelegt werden. Diese Datei beinhaltet Informationen über die Anzeige des Scripts innerhalb der Menüs im Scriptly und verhindert, dass einfach nur der Dateiname des Scripts angezeigt wird. Eine Beispiel-Datei für ein beliebiges Script könnte wie folgt aussehen:
[de]
Name=Name des Scripts
Hint=Dieses Script macht viel
[en]
Name=Name of the script
Hint=This script does a lot
Schnittstellen-Dokumentation
application
browsers string function
application.browsers() Gibt eine komma-separierte Liste der unter Programme angegebenen Programme zurück ("Pfad1=Name1", "Pfad2=Name2", etc.).
Die Funktion "programs" lässt sich synonym verwenden.
colorDlg bool function
application.colorDlg() Öffnet den Farbdialog und gibt die ausgewählte Farbe zurück
createDocument bool function
application.createDocument() Erstellt eine neue, leere Datei
currentDirectory string property
application.currentDirectory Gibt das aktuelle Verzeichnis des fokussierten Explorers des Webocton-Scriptly zurück
document object property
application.document Gibt das Objekt für das aktuelle geöffnete Dokument zurück
editorLanguage string property
application.editorLanguage Gibt die gewählte Spracheinstellung zurück (z.B.: 'de', 'en')
editorName string property
application.editorName Name des Editors
editorHtmlDocu string property
application.editorHtmlDocu Gibt den Verweis auf die HTML-Dokumentation, in diesem Falle SelfHTML, zurück
editorPHPDocu string property
application.editorPHPDocu Gibt den Verweis auf die PHP-Dokumentation, in diesem Falle SelfPHP, zurück
editorVersion string property
application.editorVersion Version des Editors
exeName string property
application.exeName Dateipfad zur EXE-Datei des Editors
files string function
application.files() Gibt eine komma-separierte Liste der geöffneten Datei zurück
fileCount integer function
application.fileCount() Anzahl der geöffneten Dateien
filesHistory string function
application.filesHistory() Gibt eine komma-separierte Liste der zuletzt geöffneten Datei zurück
filesProject string function
application.filesProject() Gibt eine komma-separierte Liste der Dateien des geöffneten Projektes zurück.
Dieser Vorgang kann je nach Größe des Projektes durchaus einige Zeit in Anspruch nehmen, da das komplette Projekt-Verzeichnis durchsucht wird.
filesModified string function
application.filesModified() Gibt eine komma-separierte Liste der geöffneten und geänderten Datei zurück
handle integer property
application.handle Handle des Hauptformulars des Editors
inputDlg string function
application.inputDlg(string caption, string prompt, string default) Anzeige eines Eingabe-Dialogs. Der eingegebene Wert wird zurückgegeben
messageDlg integer function
application.messageDlg(integer btntype, string msg) Anzeige eines Meldungs-Fensters. Der Rückgabewert hängt von dem betätigten Button ab
openDlg void function
application.openDlg() Öffnet den Öffnen-Dialog und gibt den Pfad der ausgewählten Datei relativ zum geöffnenten Dokument zurück
openDocument void function
application.openDocument(string filename) Öffnet die in 'filename' angegebene Datei
openHelp void function
application.openHelp(string url) Öffnet die angegebene URL im Hilfe-Fenster
programs string function
application.programs() Gibt eine komma-separierte Liste der unter Programme angegebenen Programme zurück ("Pfad1=Name1", "Pfad2=Name2", etc.).
Die Funktion "browsers" lässt sich synonym verwenden.
projectDirectory string property
application.projectDirectory Gibt das Verzeichnis des geöffneten Projekts wieder
scriptFile string property
application.scriptFile Dateipfad zum aktuell ausgeführten Script
search object property
application.search Gibt das Objekt zur Nutzung der Such-Funktion zurück
showMessage void function
application.showMessage(string str) Anzeige eines einfachen Meldungsfensters
document
gotoLine void function
document.gotoLine(integer line) Bewegt den Cursor zu einer bestimmten Zeile
fileName string property
document.fileName Dateiname der aktuell geöffneten Datei
save bool function
document.save(string filename) Speichert die Datei mit dem Namen 'filename' ab, wozu diese geöffnet sein muss
browserPreview void function
document.browserPreview(string browser) Öffnet die Browservorschau der geöffneten Datei (ie=Internet Explorer, moz=Mozilla)
close void function
document.close() Ermöglicht das Schließen des Dokumentes
editSelText void function
document.editSelText(integer mode) Führt diverse Aktionen mit dem markierten Text aus (0=In Tag einschließen, 1-3=Groß-/Kleinschreibung, 4-13 Ersetzungen)
print void function
document.print() Ermöglicht das Drucken des Dokumentes
printCodeBrowser void function
document.printCodeBrowser() Ermöglicht das Drucken der aktuellen Codebrowser-Ansicht
selall void function
document.selall() Markiert den gesamten Text
selstart integer property
document.selstart Beginn der Markierung
sellength integer property
document.sellength Länge der Markierung
seltext string property
document.seltext Markierter Text
text string property
document.text Text der aktuell geöffneten Datei
search
search bool functionsearch.search(string searchfor, integer where, string directory)
Diese Funktion erlaubt das Nutzen der Such-Funktion. Der Parameter 'searchfor' dient zur Angabe des Suchbegriffes. Der Parameter 'directory' wird vom Scriptly nicht unterstützt. Folgende Werte sind für 'where' möglich: 0=Aktuelle Datei, 1=Dateien eines Verzeichnis, 6=Geöffnete Dateien
previous bool functionsearch.previous(allfiles) Springt zum vorigen Such-Ergebnis (der Parameter allfiles existiert nur zu Kompatibilitätszwecken und hat keine Auswirkungen)
next bool function
search.next(allfiles) Springt zum nächsten Such-Ergebnis (der Parameter allfiles existiert nur zu Kompatibilitätszwecken und hat keine Auswirkungen)
optCaseSensitive bool property
search.optCaseSensitive Such-Option: Groß-/Kleinschr. beachten
optWholeWords bool property
search.optWholeWords Such-Option: Nur ganze Wörter
optRegEx bool property
search.optRegEx Such-Option: Reguläre Ausdrücke
optUnGreedy bool property
search.optUnGreedy Keine Funktion im Scriptly, nur zu Kompatibilitätszwecken vorhanden
optSingleLine bool property
search.optSingleLine Keine Funktion im Scriptly, nur zu Kompatibilitätszwecken vorhanden
optMultiLine bool property
search.optMultiLine Keine Funktion im Scriptly, nur zu Kompatibilitätszwecken vorhanden
optIncludeSubDirs bool property
search.optIncludeSubDirs Such-Option: Unterverzeichnisse berücksichtigen
optFromCursor bool property
search.optFromCursor Such-Option: Ab Cursor ersetzen
optInSelection bool property
search.optInSelection Such-Option: Nur in Markierung ersetzen
optSilentSearch bool property
search.optSilentSearch Such-Option: Suchen in Verzeichnis ohne Öffnen
Beispiel-Script
Folgendes Script ist in JavaScript geschrieben und entfernt sämtliche leeren Zeilen aus dem aktiven Dokument im Scriptly:
//Handle auf die Applications-Klasse holen
var app = application;
//Handle auf die Funktionen fürs aktuelle Dokument holen
var doc = app.document;
//Trim-Funktion definieren
//Entfernt führende und schließende Leerzeichen aus Strings.
//Standard in den meisten Programmiersprachen,
//in JS nicht vorhanden.
function trim (text)
{
return text.replace (/^\s+/, '').replace (/\s+$/, '');
}
//Inhalt des Dokumentes zwischenspeichern
aContent=doc.text;
//Variable für den geänderten Dokumenten-Inhalt
//initialisieren
txtOut="";
//Inhalt des Dokumentes in ein Array aufsplitten
//an Hand der Zeilenumbrüche.
//Man erhält in tmp ein Array mit einem Eintrag pro Zeile
tmp=aContent.split("\n")
//Gehe alle Einträge des Arrays durch und...
for(x=0; x<tmp.length; x++)
{
//...gucke ob die Zeile komplett leer ist,
//wenn nicht, dann
//packe sie mit in die Ausgabe-Variable
if (trim(tmp[x])!="")
txtOut+=tmp[x];
}
//Setze den Dokumenten-Inhalt auf den neu
//generierten Inhalt aus der Ausgabe-Variable
doc.text=txtOut;