JSL : 슬라이더 상자 설정 값안녕하세요 여러분,
다음은 Slider Box를 만들기위한 Scripting Index의 코드입니다.
Names Default To Here( 1 );
sliderValue = .6;
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
sb = Slider Box(
0,
1,
sliderValue,
tb << Set Text( "Value: " || Char( sliderValue ) )
)
)
);
이 예제를 실행하는 경우 슬라이더를 마우스 오른쪽 버튼으로 클릭하여 특정 값을 설정할 수 있습니다.

이것을 0.8로 설정했다고 가정 해 봅시다. 그렇게하면 슬라이더는 움직이지만 슬라이더와 관련된 스크립트는 실행되지 않습니다. 즉, 슬라이더 위의 텍스트 상자는 업데이트되지 않습니다.
질문 1 : 왜?
질문 2 : 새 값을 텍스트 상자로 전송하는 다른 방법이 있습니까? Set Function 메시지를 사용하도록 코드를 변환하려고했지만 해결되지 않았습니다.
플랫폼 (예 : 사용자 정의 프로파일 러)에서 슬라이더를 마우스 오른쪽 버튼으로 클릭하고 플랫폼이 올바르게 응답하는 것으로 보이는 값을 설정하면 (슬라이더 및 관련 텍스트 편집 상자가 모두 예상대로 이동 함) 어떤 방법이 있는지 알 수 있습니다. JSL에서이 작업을 수행합니다. 그게 뭔지 모르겠어요.
Mac에서 15.2.1 Pro를 실행하고 있습니다.
남자 이름
스크립팅Re : JSL : 슬라이더 상자 설정 값명확한 예와 질문을 제공해 주셔서 감사합니다. JMP 15 (아마도 이전 버전)의 버그인지 쉽게 확인할 수 있습니다. 슬라이더에 대한 콜백은 Set Value에서 트리거되지 않습니다.
또한 다가오는 JMP 16 릴리스에서 수정했음을 확인했습니다.
JSL로 코딩 할 수있는 까다로운 해결 방법이있을 수 있지만 기본 제공 플랫폼에서 작동하는 경우 JSL을 통해 수행되지 않습니다.
Re : JSL : 슬라이더 상자 설정 값식을 값 설정 작업과 연결할 방법이 없기 때문에 해결 방법이 없습니다. 다음은 원본 스크립트의 변형이지만 슬라이더를 움직일 때 호출되기 때문에 작동하지 않습니다.
Names Default To Here( 1 );
sliderValue = .6;
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
Slider Box( 0, 1, sliderValue,
<< Set Function(
Function( { me },
tb << Set Text( "Value: " || Char( me << Get ) )
)
)
)
)
);Re : JSL : 슬라이더 상자 설정 값이것은 스크립트가 트리거되지 않는 것으로 확인한 근본적인 문제를 해결하지 못하지만, 슬라이더 값을 설정하는 스크립트가있는 해당 값 옆에 숫자 편집 상자를 두는 경우가 많습니다.이렇게하면 누군가 값을 설정하려는 경우 텍스트 편집 상자를 클릭하는 것이 더 쉽기 때문에 슬라이더를 마우스 오른쪽 버튼으로 클릭하지 않을 것입니다.다음은 슬라이더를 움직이거나 새 값을 입력 할 때 일부 기능을 실행하면서 둘 다 포함하는 한 가지 방법입니다.

Names Default To Here( 1 );
sliderValue = .6;
//Function that is called when either slider is moved or new value is typed in
dothisonchange = Function({val}, tb << Set Text( "Value: " || Char( val) ) );
New Window( "Example",
Panel Box( "Slider Box",
tb = Text Box( "Value: " || Char( sliderValue ) ),
h list box(
sb = Slider Box(
0,
1,
sliderValue,
//Set the number edit box and call the other function
neb << Set( sliderValue );
dothisonchange(sliderValue);
),
neb = Number Edit Box(
sliderValue,
3,
<< Set function( Function( {this},
sliderValue = this << Get;
//Set the slider and call the other function
sb << Set( sliderValue );
dothisonchange(sliderValue);
) )
)
)
)
);Re : JSL : 슬라이더 상자 설정 값이 접근 방식을 사용할 수도 있습니다. 결합 및 연결 번호 편집 상자 및 슬라이더 상자