.. highlightlang:: us .. _uniscript-als-eigenstandiges-programm: .. _uniscript-as-a-stand-alone-program: 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 :file:`cmd.exe`. .. image:: S:/uniplot-obj/images/cmd.* Starten Sie UniScript. Geben Sie dazu den Befehl :file:`us` ein, um das Programm :file:`us.exe` aus dem Verzeichnis :file:`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 :kbd:`Strg+C`. Sie können auch Programme schreiben. Das folgende Programm :file:`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-activex-server: .. _uniscript-com-server: UniScript als COM-Server ---------------------------- Das Programm :file:`usserv.exe` aus dem Verzeichnis :file:`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: :ref:`UniScript.Call`, :ref:`UniScript.Call2`, :ref:`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 :file:`usstart.ic` für :file:`us.exe`, bzw. :file:`usserv.ic` für :file:`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. :sub:`id-1936455`