캡션 상자가 닫혔는지 확인하는 방법은 무엇입니까?안녕!
데이터 셀을 반복하고 일부 데이터 처리를 수행하는 스크립트가 있습니다.
사용자에게 현재 처리 중인 셀에 대한 아이디어를 제공하기 위해 다음 줄을 추가합니다.
Caption("Processing "||Char(i)||" out of "||Char(Nrows(dtmed))||" Cells...");어쨌든 캡션을 닫으면 스크립트는 다음 반복으로 진행됩니다. 내가 원하는 것은 사용자가 캡션 상자를 닫으면 스크립트가 종료되는 것입니다. 캡션 상자가 닫힌 경우 캡션 상자의 상태를 알려주는 기능이 있습니까?
어쨌든 최후의 수단은 이 스레드입니다.
https://community.jmp.com/t5/Discussions/Jsl-How-can-i-stop-a-script-with-a-button/td-p/6787
하지만 이스케이프 버튼을 사용하기 위해 두 개의 창(하나의 캡션 상자와 하나의 창 상자)이 있는 것이 두렵습니다.
도와 주셔서 감사합니다.
Re: 캡션 상자가 닫혔는지 확인하는 방법은 무엇입니까?테이블을 추적하는 한 'OnClose()'를 사용하여 하우스키핑을 수행하는 것을 고려할 수 있습니다.
NamesDefaultToHere(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
nw = NewWindow("Using 'On Close'", << onClose(onCloseBlock), TextBox("Close Me"));
onCloseBlock =
Expr(
Print("Closing table "||(dt << getName));
Close(dt, NoSave);
);Re: 캡션 상자가 닫혔는지 확인하는 방법은 무엇입니까?@ian_jmp
나는 다음과 같이 만들었습니다.
CheckBlock=Expr (
stattb<<SETTEXT></SETTEXT>어떻게 든 취소 버튼이 작동하지 않습니다. 스크립트에 잘못 배치 한 것 같습니다.
흠, 불행히도 (X) 버튼에 의한 비정상적 중단은 보이지 않는 데이터 테이블을 많이 남깁니다.
처리 방법을 계속 확인 중입니다.
도와 주셔서 감사합니다.
Re: 캡션 상자가 닫혔는지 확인하는 방법은 무엇입니까?감사! 이것을 현재 스크립트에 적용하는 방법을 확인하겠습니다.
Re: 캡션 상자가 닫혔는지 확인하는 방법은 무엇입니까?'Caption()'에 메시지를 보내 조작할 수 없는 것 같습니다.
다른 스레드에 있는 내용을 조정하여 다음과 같이 시도할 수 있습니다.
NamesDefaultToHere(1);
nw = NewWindow("Stop script",
tb = TextBox("Press 'Run'... \!n"),
bb1 = ButtonBox("Run", runScript),
bb2 = ButtonBox("Cancel", stopFlag = 1),
);
nw << setWindowSize(150, 120);
runScript =
Expr(
bb1 << enable(0);
stopFlag = 0;
for(i=1,i<=100, i++,
Wait(1);
if(stopFlag,
// Stop . . .
nw << closeWindow;
Print("Stopped after "||Char(i)||" seconds.");
Stop(),
// Else update display . . .
tb << setText("Counted for "||Char(i)||" seconds.")
);
);
nw <<CLOSEWINDOW></CLOSEWINDOW>