대화상자 창을 열어두시겠습니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />누구든지 '하위 집합'과 같이 테이블 플랫폼에 표시되는 "대화 상자를 열어 두기" 옵션을 모방하는 빠른 코드를 가지고 있습니다.그렇다면 모달 창에서 작동합니까?

Re: 대화창을 열어두시겠어요?제공된 표현식과 영향을 받는 객체를 기반으로 두 가지 다른 작업을 수행하는 함수에 대해 무엇이 혼란스러운지 잘 모르겠습니다.아래의 삭제 명령을 확인하세요.

로그에 어떤 오류가 발생하는지 잘 모르겠지만 창이 모달인지 여부에 관계없이 '확인' 및 '취소' 버튼에 스크립트를 제공할 수 있습니다.위에서 설명한 내용을 보면 모달 창이 무엇인지 이해하지 못하는 것 같지만 제가 틀렸을 수도 있습니다.
Re: 대화창을 열어두시겠어요?다음을 시도해 볼 수도 있습니다.
기본 이름은 여기에 있습니다. ( 1 ) ;
계속 열어두다 = 0 ;
새창 ( "예" , 메뉴 표시 ( 0 ) , 도구 모음 표시 ( 0 ) , 자동숨기기 억제 ,
<< 모달 , <<검증 시(!keepopen),
텍스트 상자 ( "예: 대화 상자를 열린 상태로 유지 확인란" ) ,
텍스트 상자 ( "" ) ,
H 목록 상자 (
보관 상자 = 체크박스 ( "대화상자를 열어두세요" , 계속 열어두다 = 보관함 << 얻다 ( 1 ) ) ,
버튼 상자 ( "좋아요" ,
// 스크립트로 실행할 표현식 이름 삽입
) ,
버튼 상자 ( "취소" )
)
) ;
<Re: 대화창을 열어두시겠어요?
나는 MS의 의견에 동의합니다. 무엇인지 잘 모르겠습니다. << 닫을 때() 기능 중 하나를 수행하고 있습니다. JSL 구문 참조(도움말 > 책 아래)에서는 스크립팅 색인과 다르게 On Close 기능을 설명합니다. 스크립팅 참조에서: " < 닫히지 않아요." 그렇다면 인수가 0이면 창이 닫히는 것을 방지합니까, 아니면 창이 닫히지 않으면 함수에서 0 결과가 생성됩니까? 매우 혼란스럽습니다.
모달 대화 상자 문제로 돌아가는 중... 내 생각에는 << 모달 명령은 "확인" 및 "취소" 버튼을 특수 버튼으로 처리합니다(이전 Dialog() 기능과 동일한 동작). 따라서 "확인" 및 "취소" 버튼에 스크립트를 첨부할 수 없습니다(로그에 오류가 나타남).
따라서 모달 창에 사용할 수 있는 또 다른 접근 방식은 다음과 같습니다. 해당 버튼에 스크립트를 첨부하여 작업을 수행할 수 있는 다른 버튼을 만듭니다. 창은 "확인" 버튼을 클릭할 때까지 열려 있습니다. 불행히도 "확인" 버튼의 이름을 "닫기"로 바꾸거나 다른 버튼으로 모달 창을 닫을 수는 없다고 생각합니다.
Names Default To Here( 1 );win = New Window( "Example", << Modal, << On Close ( Print( "Closed" ) ), // prints to log window Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Modal Dialog Window" ), Text Box( "" ), H List Box( Button Box( "Say Hello", Print( "Hello" ) ), // prints to log window Button Box( "New Window", newwin = New Window( "New Window" ) ), Button Box( "OK" ) ));
나는 다음의 예를 포함시켰습니다. << 닫을 때() 이 스크립트에서. 창이 닫힐 때 이 스크립트 동작을 수행하는 것을 볼 수 있습니다.
행운을 빌어요!
하워드
Re: 대화창을 열어두시겠어요?새 창 아래의 스크립팅 인덱스에서:
"Modal 인수를 지정하면 새 창이 모달 창으로 생성됩니다.On Open, On Close, On Validate 및 Return Result는 모달 창에서만 사용할 수 있습니다.On Open()은 창이 생성될 때 해당 표현식을 평가합니다. On Close()가 0을 반환하면 창이 닫히지 않습니다."
Mac에서 왜 작동하지 않는지 잘 모르겠지만 Current Window()에서 업데이트를 하지 않으신 것 같습니다.
Re: 대화창을 열어두시겠어요?나는 무엇을 잘 모르겠습니다 닫을 때(1) 그리고 닫힐 때(0) 여기서 하기로 되어 있어요.
그러나 이는 Mac용 JMP 12.1에서는 제대로 작동하지 않습니다. "대화 상자를 열어 두기"를 선택하고 "확인"을 클릭하면 이를 닫는 명확한 방법 없이 빈(비모달) 창이 남습니다. 그리고 메뉴에서 "닫기"를 선택하면 JMP가 충돌합니다. 기이한
Re: 대화창을 열어두시겠어요?실행되는 표현식이 창을 생성하는 경우 'Current Window()'에 문제가 있다는 또 다른 참고 사항입니다.keepcbox(또는 모달 창의 다른 디스플레이)로 전환하면 수정되어야 합니다.
Re: 대화창을 열어두시겠어요?사실 나는 그것을 알아 냈습니다 :
'<<모달, <<닫을 때(0)'
이것은 나쁘다 b/c 모달이고 닫히지 않지만 hlrauch의 스크립트에 추가하는 창으로 끝날 것입니다.
기본 이름은 여기에 있습니다. ( 1 ) ;
계속 열어두다 = 0 ;
새창 ( "예" , 메뉴 표시 ( 0 ) , 도구 모음 표시 ( 0 ) , 자동숨기기 억제 ,
<< 모달 ,
텍스트 상자 ( "예: 대화 상자를 열린 상태로 유지 확인란" ) ,
텍스트 상자 ( "" ) ,
H 목록 상자 (
보관함 = 체크박스 ( "대화상자를 열어두세요" , 계속 열어두다 = 보관 상자 << 얻다 ( 1 ) ) ,
버튼 상자 ( "좋아요" ,
// 스크립트로 실행할 표현식 이름 삽입
만약에 ( ! 계속 열어두다 , 현재 창 () << 닫을 때 ( 1 ) , 현재 창 () << 닫을 때 ( 0 )) ;
) ,
버튼 상자 ( "취소" ,
현재 창 () << 창 닫기
)
)
) ;
Re: 대화창을 열어두시겠어요?이것이 제가 찾고 있는 것입니다. 사용자가 응답하도록 강제하고 싶기 때문에 모달 창에서 작동하는 데만 필요합니다.이견있는 사람?
Re: 대화창을 열어두시겠어요?미샤프,
대화창에 "Keep Dialog Open"을 체크박스로 추가하고 싶은 것 같죠? 그렇다면 하나 이상의 난수 열을 추가하는 데 사용한 스크립트의 일부는 다음과 같습니다. "확인" 버튼 뒤에 있는 스크립트는 확인란이 선택 취소된 경우에만 창을 닫습니다.
Names Default to Here( 1 );keepopen = 0;New Window( "Example", Show Menu( 0 ), Show Toolbars( 0 ), Suppress Autohide, Text Box( "Example: Keep Dialog Open Checkbox" ), Text Box( "" ), H List Box( keepcbox = Check Box( "Keep dialog open", keepopen = keepcbox << get( 1 ) ), Button Box( "OK", // Insert name of an expression to run as a script If( !keepopen, Current Window() << Close Window); ), Button Box( "Cancel", Current Window() << Close Window ) ));
물론 대화 상자 창에 더 많은 옵션을 추가하고 싶을 수도 있습니다( 고급 예 JMP 스크립팅 가이드에서; 454~456페이지). 이전(모달) Column Dialog() 메서드를 사용하여 비슷한 확인란을 추가할 수는 없다고 생각합니다. <
하워드
Re: 대화창을 열어두시겠어요?안녕 msharp ,
주제에 대해 다음 두 가지 상충되는 링크를 발견했습니다.
이 항목(페이지 83)은 그다지 유용하지 않다고 말합니다.
https://books.google.co.uk/books?id=42Bt1lDZLYoC&pg=PA82&lpg=PA82&dq=jsl+keep+dialog+open&source=bl&ots=rnr7dBRzZv&sig=1aAcJT94KS6DsbpLwTUzOen3xkE&hl=en&sa=X&ved=0ahUKEwj6wqXDiKDJA hXIfhoKHZakDyoQ6AEIIDAA#v=onepage&q=jsl%20keep% 20대화상자%20열기&f=false
이것은 "Keep dialog open (1)"의 몇 가지 사용법을 보여 주지만 이것이 당신이 찾고 있는 방식인지 확실하지 않습니다:
http://www.jmp.com/support/help/Utility_Functions.shtml
최상의,
론
Re: 대화창을 열어두시겠어요?스크립팅 인덱스에서:
이름의 기본값은 여기에 있습니다( 1 );
dt = Open( "$SAMPLE_DATA/Tiretread.jmp" );
obj = 모형 적합(
Y( :마모 ),
효과( :SILICA, :SILANE ),
성격( 표준 최소 제곱 )
);
obj << 대화 상자를 열어두기( 1 );
obj << 실행;