Haftungsausschluss: Dies ist weniger eine Frage als vielmehr eine Antwort auf eine Frage. Ich habe darüber nachgedacht, dies in einem Blogeintrag zu teilen, aber es ist vielleicht nicht die Art von Hack, auf die man stolz sein kann. Also:
Im Hinterkopf habe ich nach einer Möglichkeit gesucht, JMP-Workflows in ein Journal einzubetten, sodass beim Klicken auf eine Schaltfläche in einer Demo ein neuer Workflow angezeigt wird, der bereits mit Schritten gefüllt ist. Ich habe die Angewohnheit, Zeitschriften nach Demos zu teilen, deshalb wollte ich, dass der Workflow in die Zeitschrift eingebettet wird, anstatt den Leuten sagen zu müssen, sie sollen „den gesamten Inhalt in einen einzigen Ordner entpacken ...“.
Hier ist ein Skript, das das tut. Kurz gesagt: Das Skript fragt nach einem Dateinamen und erstellt dann JSL, um diese Datei auf dem Desktop des Benutzers neu zu erstellen und zu öffnen. Das Skript wird dann in die Zwischenablage kopiert, sodass ich es in eine Schaltfläche in einem Tagebuch einfügen kann. Ich habe es mit einigen .jmpflow- und .jmpdoe-Dateien getestet und es funktioniert mit allen, mit denen ich es getestet habe.
Hier ist das Skript. Wenn es einen besseren Ansatz oder einen besseren Ort gibt, um dies zu teilen, lassen Sie es mich wissen.
//Create a pasteable script to recreate a jmpflow (or jmpdoe) file
//useful for embedding in demo journals
//v0.1
//Jed Campbell
//10/11/23
Names Default To Here (1);
nw = new window ("File Embed Tool",
Button Box( "Embed File into a Script",
//get file name/path
path = Pick File();
fname = Word( -1, path, "/" );
//load into memory
t = Load Text File( path );
//make quotes into escaped quotes
u = Substitute( t, "\!"", "\\!!\!"" );
//chunk together JSL into a string on clipboard
codea = "Save Text File (\!"$DESKTOP/"||fname||"\!", \!"" || u || "\!");";
codeb = "\!nOpen (\!"$DESKTOP/" || fname || "\!");";
script = codea || codeb;
Set Clipboard( script );
//msg user
Caption( "Script copied to clipboard." );
Wait( 1.5 );
Caption( remove );
)
);Das ist ein cleverer Hack, @Jed_Campbell ! Wenn Sie die Dateien außer Sichtweite halten möchten, können Sie $TEMP anstelle von $DESKTOP verwenden und so den Eindruck erwecken, als würden Sie direkt aus dem Journal starten.
Noch besser, @julianisch !