Übergabe von Parametern an das JSL-Skript<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe ein Skript, das Diagramme über eine bestimmte Datumsdauer (z. B. die letzten 30 Tage) generiert. ----- Die Anforderung besteht darin, mehrere Diagramme über mehrere Datumsdauern hinweg zu erstellen (z. B. die letzten 100 Tage, 365 Tage usw.) ---- und diese Datumsdauern werden sich wahrscheinlich im Laufe der Zeit ändern....Gibt es also eine Möglichkeit, einen „Dauer“-Parameter an das Skript zu übergeben? ---- oder sollte ich eine Textdatei mit dem Dauerwert festlegen und daraus im JSL-Skript lesen?
Betreff: Parameter an JSL-Skript übergebenIch mag Janes Idee und sie funktioniert großartig --- also verkette ich einfach zwei Dateien ...
1. Erstellen Sie eine Textdatei mit einer JSL-Skriptzeile, die das Festlegen des Parameters umfasst, den Sie in der Batch-Datei übergeben möchten (in DOS...).Echo Parameter1=30;>Parameter1.txt
2. Verketten Sie mit dem Befehl „Kopieren“, um ein temp.jsl-Skript zu erstellen – Kopieren Sie /y /b Parameter1.txt+DataScript.jsl temp.jsl
--- also enthält die erste Zeile der temporären Datei den Parameter1=30; ' JSL-Befehl UND alle anderen JSL-Skripte, die den Parameter verwenden ....
3. Da temp.jsl nun über das vollständige Datenskript und die einzeilige Parametereinstellung verfügt, können wir das Sprungskript ausführen.....
DOS-Batch-Skript.....
| Echo Parameter1=30;>Parameter1.txt |
| Kopieren Sie /y /b Parameter1.txt+DataScript.jsl temp.jsl |
| JMP temp.jsl |
Betreff: Parameter an JSL-Skript übergebenJane, vielen Dank ---- Ich werde es versuchen....
Betreff: Parameter an JSL-Skript übergebenWie rufen Sie das JSL-Skript auf?
Dies ist, was ich mache, wenn ich ein JSL-Skript von einem Bat oder ähnlichem ausführen und dem JSL einen Parameter übergeben muss ...
- Ich schreibe meinen JSL-Code als Funktion mit Argumenten und speichern Sie es in einer eigenen Datei – und es ändert sich nie.
- Ich lasse die Bat-Datei eine temporäre JSL-Datei erstellen, die nur die Datei aus Nr. 1 enthält und dann eine Zeile enthält, die den Aufruf der Funktion darstellt, aber das Argument enthält.
- Dann lasse ich die Bat-Datei jmp mit der Datei aus #2 starten
Von der DOS-Eingabeaufforderung ..... cmd /c start jmp "C:\my_constructed.jsl"
Wo....
my_constructed.jsl enthält (und denken Sie daran, dass dies die tmp-Datei ist, die generiert und dann ausgeführt wird)
\\!
include ("C:\the_jsl_code_guts.jsl");
x = my_real_code(10);
Dann....
C:\the_jsl_code_guts.jsl....enthält....
my_real_code = Funktion(
// Funktionsarg
{duration_function_argument},
// lokale Variablen
{},
// Dein Code, der wirklich Sachen macht.....
);