사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />내 스크립트의 첫 번째 부분에서는 사용자에게 'Y' 및 'By' 변수를 선택하라는 메시지가 표시됩니다.그런 다음 데이터 테이블을 출력합니다("dt2"라고 부르겠습니다).
코드의 후반부는 사용자가 항목을 선택하고 확인을 클릭한 후 생성된 데이터 테이블(dt2)에 의존합니다.
내가 가진 문제는 창이 나타나면 코드가 계속 실행되고 사용자 입력을 기다리고 있다는 것입니다.... 그래서 코드의 후반부에는 사용할 데이터 테이블(dt2)이 없으므로 아무것도 출력하지 않습니다. .
wait( )를 사용할 수 있다는 것을 알았지만 이는 시간 값(초 단위)에 의존하므로 코드의 전반부에 사용자 입력이 제공될 때까지 계속되지 않도록 스크립트를 작성하고 싶습니다(따라서 필요한 항목이 생성됨). 실행할 코드의 후반부에 대한 데이터 테이블).
어떤 도움/조언이라도 미리 감사드립니다!!
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?비모달 창 동작을 제어하는 몇 가지 방법이 있습니다.
1. 확인 버튼으로 수행하려는 작업을 코드 앞부분의 표현식에 넣습니다.그런 다음 사용자가 확인을 클릭하면 표현식을 제공하면 됩니다.
ok_expr = 특급 (
user_input = user_teb << 문자 받기 () ;
인쇄 ( "사용자가 입력했습니다" || user_input ) ;
마이윈 << 창 닫기 ;
) ;
user_input = "" ;
마이윈 = 새창 ( "사용자 입력 받기" ,
hlistbox (
텍스트 상자 ( "텍스트를 입력하세요: " ) ,
user_teb = 텍스트 편집 상자 () ,
) ,
버튼 상자 ( "좋아요" , ok_expr ) ,
버튼 상자 ( "취소" , 마이윈 << 창 닫기 ; ) ,
) ;
2. OK 작업을 별도의 JSL 파일에 넣고 include() 문을 사용하여 원하는 명령을 실행합니다.
// ok_commands.jsl
user_input = user_teb << 문자 받기 () ;
인쇄 ( "사용자가 입력했습니다" || user_input ) ;
마이윈 << 창 닫기 ;
// 대화 상자 명령은 다음과 같습니다. 별도의 파일
user_input = "" ;
마이윈 = 새창 ( "사용자 입력 받기" ,
hlistbox (
텍스트 상자 ( "텍스트를 입력하세요: " ) ,
user_teb = 텍스트 편집 상자 () ,
) ,
버튼 상자 ( "좋아요" , 포함하다 ( "ok_commands.jsl" );) ,
버튼 상자 ( "취소" , 마이윈 << 창 닫기 ; ) ,
) ;
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?붙여넣을 데이터가 JMP 내에 있거나 JMP에서 테이블로 열 수 있는 경우 데이터 테이블에 삽입하는 작업도 스크립트로 작성할 수 있습니다.
그러나 시나리오의 경우 주관적인 결정을 내려야 하기 때문에 수동 상호 작용이 불가피한 경우 1과 1의 작업을 경쟁하는 "시작" 및 "마침"(또는 이와 유사한) 버튼이 있는 비모달 창을 사용합니다. 2, 각각.
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?답장을 보내 주셔서 감사합니다.
사실 이것은 제가 겪고 있는 또 다른 문제에 매우 유용했습니다.
문제를 해결하기 위해 사용자로부터 데이터를 얻는 솔루션을 사용해 보세요.
이 특별한 경우에 사용자는 아마도 많은 양의 정보를 삽입해야 할 것입니다.
데이터를 DT에 붙여넣어야 한다는 생각입니다.
현재 내 솔루션은 두 부분으로 스크립트를 실행하고 있습니다.
1. 사용자에게 데이터를 삽입하라는 메시지가 표시되기 전에 필요한 모든 작업
(데이터는 DT에 붙여넣어집니다)
2. 데이터가 삽입된 후 필요한 모든 작업입니다.
하지만 우리 둘 다 이것이 작동하는 방법이 아니라는 것을 이해하고 있으며 사용자에게 다음과 같이 요청할 수도 없습니다.
모든 데이터를 수동으로 삽입하면 시간이 너무 많이 걸리고 비효율적입니다.
다른 아이디어가 있나요?
트낙스,
미샤
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?모달 대화 상자를 우회할 수는 없다고 생각합니다. 그러나 확인을 클릭하면 사용자가 데이터 테이블로 전송되는 제한을 모달 창에 입력하도록 할 수 있습니다.
예는 다음과 같습니다.
dt = 새 테이블 ( "시험" , 새 열 ( "데이터" , 숫자 ) ) ;
새창 ( "한도 설정" ,
<< 모달 ,
테이블 박스 ( 스트링 콜 박스 ( "" , { "평균" , "LCL" , "UCL" } ) , ncb = 번호 열 편집 상자 ( "제한" , [ . , . , . ] ) ) ,
버튼 상자 ( "좋아요" ,
엘 = ncb << 얻다 ;
평가 (
평가 지수 (
열 ( dt , "데이터" ) << 속성 설정 ( "통제 한계" , { 엑스바 ( 평균 ( 만료 ( 엘 [ 1 ] ) ) , LCL ( 만료 ( 엘 [ 2 ] ) ) , UCL ( 만료 ( 엘 [ 삼 ] )) )})))
)
) ;
//작동했는지 확인
보여주다 ( 엘 ) ;
dt : 데이터 << 재산을 얻으십시오 ( "통제 한계" ) ;
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?나는 비슷한 일을 하고 있고 같은 문제로 고통받고 있습니다.
모달 창은 나의 초기 솔루션이기도 했습니다. 불행히도 그것은 작동하지 않습니다.
새 창이 열리면 데이터 테이블에 대한 액세스가 차단됩니다(맨 위에 남아 있음).

모달 창의 상단 기본값을 우회하는 방법이 있습니까?
아니면 구현에 대한 더 나은 아이디어가 있습니까?
미리 생각해보세요.
Re: 사용자 입력이 제공될 때까지 스크립트 실행을 지연하시겠습니까?사용자 입력을 수집하기 위해 새 창을 사용하는 경우 다음을 사용하여 모달 대화 상자로 만듭니다. << 모달
마이윈 = 새창 ( "샘플 모달 대화 상자" , << 모달 ,
텍스트 상자 ( "이것은 모달 대화 상자입니다" ) ,
버튼 상자 ( "좋아요" , 어느_버튼 = "좋아요" ) ,
버튼 상자 ( "취소" , 어느_버튼 = "취소" ) ,
) ;
인쇄 ( "사용자가 클릭했습니다" || 어느_버튼 ) ;