Skriptgerüst für JScript

Aller Anfang ist schwer. Dies ist ein Beispielgerüst für ein einfaches ActiveScript für FixFoto® mit Versions- und Ausführungskontrolle, dass mit markierten Bildern arbeitet.

Hinweise:
Mit ** markierte Einträge sollten mit eigenen Werten ersetzt werden
Zur Vereinfachung wurde die MsgBox von VBScript nachgebildet unter Verwendung der WScript.Shell Popup-Methode, da sie auch außerhalb von FixFoto funktioniert!
// **ScriptDateiname**
// (C)**Copyrightangabe**
// Stand: **28.01.2011**
 
// FFSubmenu=**Meine Skripte**
// FFName=**Mein erstes Skript**
// FFMinVer=**2.78**
 
////// Globale Variablen //////
//Standardobjekt, dass meist gebraucht wird.
var fso;
var WSHShell = new ActiveXObject("WScript.Shell");
 
//Werte für Msgbox. Weitere siehe WSH-Scripthilfe unter "MsgBox-Konstanten"
//Werte können auch für FF_MessageBox eingesetzt werden
var jsCritical = 16;
var jsExclamation = 48;
var jsInformation = 64;
 
//Prüfen, ob Umgebung und Version passen
if (CheckForRun() == true) Main();
 
//Aufräumen!
WSHShell = null;
fso = null;
 
// Hauptroutine
function Main(){
    ////// Lokale Variablen //////
    var i;
    var aFiles;
 
    ////// Zuweisung globaler Variablen //////
    fso = new ActiveXObject("Scripting.FileSystemObject");
 
    //Markierte Bilder einlesen
    if (FF_GetImageCount() > 0){
        aFiles = new Array(FF_GetImageCount());
 
        for (i = 0; i < aFiles.length; i++)
            aFiles[i] = FF_GetImageName(i);
        }
    else {
        FF_MessageBox("Keine Bilder geladen!", 64);
        //Programm sauber abbrechen durch Verlassen der Methode
        return;
        }
 
    ////// Hier kommen die Anweisungen oder die Verzweigung in ein Unterprogramm
    ////// ...
    ////// ...
    }
 
//Überprüft, ob Script ausgeführt werden darf
function CheckForRun(){
    //Hier wird die minimale Version definiert
    var sVersion = "2.79.1";
    var Tmp;
 
    try{
        Tmp = FF_GetImageCount();
        }
    catch(e){
        MsgBox("Laufzeitumgebung ist nicht FixFoto!\r\nDiese Laufzeitumgebung wird nicht unterstützt!", jsCritical, "Laufzeitumgebung");
        return false;
        }
 
    try{
        Tmp = FF_GetMajor();
        }
    catch(e) {
        MsgBox ("FixFoto Version vor 2.71.18!\r\nDiese Version wird nicht unterstützt!", jsCritical, "Laufzeitumgebung");
        return false;
        }
 
    if (CheckForFunction(sVersion)) return true;
 
    MsgBox ("FixFoto Version vor " + sVersion + "!\r\nDiese Version wird nicht unterstützt!", jsCritical, "Laufzeitumgebung");
    return false;
    }
 
//Überprüft, ob FF-Version für eine Funktion hoch genug ist
function CheckForFunction(sVersion){
    var aVersion = sVersion.split(".");
    var dVersion = parseInt(aVersion[0]) + parseInt(aVersion[1]) / 1000 + parseInt(aVersion[2]) / 1000000;
    var dFF = parseInt(FF_GetMajor()) + parseInt(FF_GetMinor()) / 1000 + parseInt(FF_GetBuild()) / 1000000;
 
    if (dVersion <= dFF)
        return true;
    else
        return false;
    }
// Meine Messagebox!
function MsgBox(sText, iType, sTitle){
    return WSHShell.Popup(sText, 0, sTitle, iType);
}