사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트 일시 중지여러분,
진행하기 전에 사용자가 열린 데이터 테이블에서 수동으로 작업(수동으로 데이터 검사 및 행 또는 열 추가/삭제)할 수 있도록 스크립트를 일시 중지하려고 합니다. 이 작업을 수행하기 위해 대화 상자를 사용해 보았지만 대화 상자가 승인될 때까지 데이터 테이블에서 작업할 수 없습니다. 누구든지 내가 이것을 달성할 수 있는 방법에 대한 제안이 있습니까?
로그 지우기();
이름의 기본값은 여기에 있습니다( 1 ).
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
새 창( "기다려!",
<<모달,
삑 하는 소리(),
V 목록 상자(
텍스트 상자(
"데이터 테이블에서 행 또는 열을 수동으로 추가/삭제"
),
)
);
// 사용자는 진행하기 전에 열린 데이터 테이블에서 행/열을 추가하거나 뺍니다.
// 기타 명령어
Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.이런 일을 하시는 것 같아요.
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>
"괜찮을 때까지 표시되지 않아야 합니다."
그래도 확인을 누를 때까지 다른 작업을 수행할 필요가 없습니다.이 작업을 수행하는 일반적인 방법은 함수를 사용하고 확인 버튼에서 호출하는 것입니다.
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
action_okay = function({},
//{DEFAULT LOCAL}, //uncomment this if you want the variables to be local only (don't exist outside the function)
// put everything you want to do after okay button in here.
print("this shouldn't show until okay");
// other stuff
);
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.이 특정 예의 경우 사용자가 테이블에서 수동 작업을 수행하도록 하려면 동일한 창에 표시될 해당 테이블에 대한 데이터 보기/데이터 상자를 만들 수 있습니다.예를 들어:
Names Default To Here( 1 );
dt = New Table( "My Table" );
dt << Add Rows( 10 );
dt << New Column( "X1", Set Values( J( 10, 1, Random Normal() ) ) );
dt << New Column( "X2", Set Values( J( 10, 1, Random Uniform() ) ) );
nw = New Window( "Prepare Your Data",
hb = H List Box(
V List Box(
Text Box( "Delete Unneccesary Columns in Table and then click OK" ),
Button Box( "OK", nw << close window )
),
Panel Box( "Data Table View",
Border Box( Sides( 15 ), dt << new data box(), <<BORDER></BORDER>

Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.Vince가 제공한 스크립트와 아이디어가 작동해야 합니다. 버튼을 누른 후 수행하려는 작업을 배치해야 합니다. 버튼 함수 호출 내부
Button Box("OK",
<<SET function=""></SET>
"확인" 버튼을 누른 후 실행될 스크립트는 다음과 같습니다.
Print("할 일"); self << 창 닫기;
이 작업을 수행하는 다른 방법이 있지만 이것이 가장 쉬운 옵션일 가능성이 높으므로 이 방법부터 시작하겠습니다.
Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.빈스,
사용자의 질문을 이해하면 매우 유사한 작업을 수행하려고 합니다. 즉, 사용자가 스크립트를 진행하기 전에 테이블을 편집할 수 있도록 허용합니다. 뭔가 제대로 하지 않았을 수도 있지만 내 스크립트 내에서 위의 스크립트를 사용하면 필요한 테이블 편집이 수행되지 않았기 때문에 프로그램이 계속 실행되어 오류가 발생합니다.
따라서 모달을 사용하면 스크립트가 중지되지만 테이블 편집은 허용되지 않습니다.
모달을 사용하지 않으면 확인을 누르기 전에 테이블 편집이 허용되지만 스크립트는 필요한 편집 없이 계속 실행됩니다.
스크립트 실행을 중지하고 사용자가 테이블 편집이 완료되었음을 표시할 때까지 진행하지 않기를 원합니다.
할 수 있습니까?
도움을 주셔서 미리 감사드립니다.
패트릭 캐롤
Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.감사합니다 빈스,
그것은 쉽다. 모달 속성에 대해 읽어야 할 것 같습니다.
Re: 사용자가 데이터 테이블에서 수동으로 작업할 때까지 스크립트를 일시 중지합니다.새 창을 모달로 만들지 마십시오. 그런 다음 OK 버튼(또는 어떤 버튼이든) 안에 모든 작업을 수행합니다.
Names Default To Here( 1 );
dt.bigclass = Open( "$SAMPLE_DATA/Big Class.JMP" );
New Window( "WAIT!",
Beep(),
V List Box( Text Box( "Manually Add/Delete Rows or Columns In Data Table" ), ),
Hlistbox(
Buttonbox("OK",
<<SET function=""></SET>