Webocton - Scriptly - Hilfe

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 function
search.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 function
search.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;