UniScript als eigenständiges Programm

Der UniScript-Interpreter kann ab UniPlot 3.3 nicht nur innerhalb von UniPlot, sondern auch als separates Programm verwendet werden.

Anwendung

Öffnen Sie das Windows-Kommandofenster cmd.exe.

../../_images/cmd.png

Starten Sie UniScript. Geben Sie dazu den Befehl us ein, um das Programm us.exe aus dem Verzeichnis c:\Programme\UniPlot\Program zu starten. UniScript zeigt mit dem Prompt (einem Sternchen), dass es für Ihre Eingaben bereit ist.

Sie können UniScript als leistungsfähigen Taschenrechner verwenden. Wenn Sie UniScript beenden wollen, verwenden Sie die Tastenkombination Strg+C.

Sie können auch Programme schreiben. Das folgende Programm ncdir.ice gibt die Namen aller Kanäle der NC-Dateien eines Verzeichnisses aus. Aufruf: us ncdir.ice d:\*.nc.

Unter Windows 2000/XP kann die Funktion auch einfacher aufgerufen werden, wenn Sie die Dateiendung .ice mit dem Programm us.exe verbinden.

Öffnen Sie dazu die Systemsteuerung und wählen unter Ordneroptionen=>Dateitypen=>Erweitert. Für die Erweiterung .ice geben Sie für den Vorgang „Open“ den folgenden String an:

c:\uniplot\program\us.exe "%1" "%2" "%3" "%4" "%5" "%6" "%7" "%8" "%9"

Anstatt us ncdir.ice d:\*.nc kann dann ncdir d:\*.nc geschrieben werden:

// ncdir.ice
def ncdir(sv)
{
    nold = nc_seterror_options(0);
    for (i in 1:len(sv)) {
        ncid = nc_open(sv[i], NC_NOWRITE);
        if (ncid == -1) continue;
        print sv[i];
        nvars = nc_inquire_nvars(ncid)
        if (nvars == 0) continue;
        for (j in 0:nvars-1) {
            print "\t" + nc_varinq_name(ncid, j);
        }
        nc_close(ncid);
    }
    nc_seterror_options(nold);
}
args = getargs();
if (len(args) >= 3) {
    loadlib("rs_ncdf.dll");
    for (i in 1:len(args)-2) {
        sv = GetDirectory(args[i+2])
        ncdir(sv)
    }
} else {
    print "usage: ncdir filename(s)";
}

UniScript als COM-Server

Das Programm usserv.exe aus dem Verzeichnis c:\Programme\UniPlot\Program kann als COM-Server verwendet werden.

Beispiel (VBA-Programm in Excel):

Public Sub Test()
    Set us = CreateObject("UniScript32")
    MsgBox us.Call2("sin", 1)
End Sub

Der UniScript-Server hat folgende Funktionen: UniScript.Call, UniScript.Call2, UniScript.Load.

Der UniScript-Server kann auch von UniPlot aufgerufen werden.

Anmerkungen

  • Beim Start von UniScript wird ein Startup-File geladen. Die Startup-Dateien heißen usstart.ic für us.exe, bzw. usserv.ic für usserv32.exe.

    In der Startup-Datei werden DLLs, UniScript-Dateien (.ic) und UniScript-Librarys (.icl) geladen:

    loadlib("rs_lib.dll");
    loadlib("rs_lib2.dll");
    loadlib("rs_obj.dll");
    loadlib("rs_auto.dll");
    loadlib("rs_map.dll");
    loadlib("rs_date.dll");
    load(GetRootDirectory() + "script\alias.ic");
    load(GetRootDirectory() + "script\Register.ic");
    loadiclib(GetRootDirectory() + "Program\rs_sl.icl");
    
  • Es können nicht alle Funktionen von UniPlot verwendet werden. Die Funktionen die auf UniPlot-Objekte (Dokumente, Diagramme, Datensätze usw.) zugreifen, können nicht verwendet werden.

id-1936455