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
.
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ürus.exe
, bzw.usserv.ic
fürusserv32.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