면책조항: 이것은 질문에 대한 답변이라기보다는 질문이 아닙니다. 이것을 블로그 항목으로 공유하려고 생각했지만 자랑할 만한 해킹 유형이 아닐 수도 있습니다. 그래서:
저는 마음속으로 JMP 작업 흐름을 저널에 삽입하여 데모에서 버튼을 클릭하면 이미 단계가 입력된 새 작업 흐름이 팝업되도록 하는 방법을 찾고 있었습니다. 저는 데모 후에 저널을 공유하는 습관이 있어서 사람들에게 "모든 내용을 단일 폴더에 압축 해제하세요..."라고 말하는 대신 저널에 워크플로가 포함되기를 원했습니다.
이를 수행하는 스크립트는 다음과 같습니다. 즉, 스크립트는 파일 이름을 요청한 다음 JSL을 생성하여 사용자 데스크탑에 해당 파일을 다시 생성하고 엽니다. 그러면 스크립트가 클립보드에 복사되어 일지의 버튼에 넣을 수 있습니다. 몇 가지 .jmpflow & .jmpdoe 파일을 사용하여 테스트했으며 테스트한 모든 파일에서 작동합니다.
스크립트는 다음과 같습니다. 더 나은 접근 방식이나 이를 공유할 수 있는 더 좋은 장소가 있으면 알려주시기 바랍니다.
//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 );
)
);영리한 해킹이네요 @제드_캠벨 ! 파일을 눈에 띄지 않게 하려면 $DESKTOP 대신 $TEMP를 사용하면 저널에서 직접 실행하는 것처럼 보일 수 있습니다.