사용자 인터페이스안녕,
UI를 만들었고 약간 변경하고 싶습니다. 이것은 아래와 같습니다:
나는 "확인"과 "취소"를 창 하단으로 이동하고 "제품 이름 선택"에서 제품만 선택하는 것을 좋아합니다(오른쪽과 왼쪽 결합). 또한 이러한 옵션을 선택하고 추가 스크립팅에 사용할 변수에 넣는 방법을 알고 싶습니다.
실제 스크립트를 첨부했습니다.
도움을 주셔서 감사합니다.

Re: 사용자 인터페이스매우 감사합니다.
Re: 사용자 인터페이스확인 버튼에 대한 코드에서 선택한 제품을 캡처할 수 있습니다.
okb = button box("OK",
one_product = rb1 << get selected;
),Re: 사용자 인터페이스주어진 코드를 이해했다면 UI를 확장하여 변수 이름을 직접 캡처할 수 있어야 한다고 생각합니다.
Re: 사용자 인터페이스감사. 지금은 잘 작동합니다. 제품 이름에 대한 사용자 선택은 어떻습니까? 변수 이름으로 캡처하고 창을 닫은 후에 어떻게 사용합니까?
당신의 도움에 감사드립니다. 감사
Re: 사용자 인터페이스모달 창을 사용하고 있으므로 새 창() 내에서 그룹 명령을 이동해야 합니다.
)
rb1 << group(rb2),
);
Re: 사용자 인터페이스문제는 모달 창을 사용하고 있다는 것입니다.창을 닫을 때까지 라디오 상자를 그룹화하는 줄을 처리하지 않습니다.
이 작업을 수행하고 모달 창을 유지할 수 있습니다.
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
rb1 << group(rb2);
),
Re: 사용자 인터페이스안녕,
감사. 스크립트가 예상대로 작동합니다. 하지만 "Choose Product" 상단의 직원과 합치면 아래 그림이 보입니다.

수정 후 스크립트를 첨부했습니다. 당신의 도움을 주셔서 감사합니다.
Re: 사용자 인터페이스하하 그들은 Hogwarts에서 JSL에 대해 많은 것을 가르쳐주었습니다.
그러나 실제로 비밀 소스는 Script Index입니다.항상 사용하십시오.
Re: 사용자 인터페이스
@pmroz 쓴 :
<< 그룹 방법을 사용하면 하나의 라디오 상자 역할을 하는 라디오 상자를 나란히 가질 수 있습니다. 즉, 하나의 옵션만 선택할 수 있습니다.예를 들면 다음과 같습니다.
list1 = {"AAA", "BBB", "CCC", "DDD"};
list2 = {"XXX", "YYY", "ZZZ"};
nw = new window("Combine Radio boxen",
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
),
panel box("Actions",
hlist box(
okb = button box("OK",
one_product = rb1 << get selected;
print("Product Selected: " || one_product);
nw << close window;
),
canb = button box("Cancel",
nw << close window;
),
),
)
);
rb1 << group(rb2);
이봐, 그건 마법이야.좋은 팁!감사.
Re: 사용자 인터페이스<< 그룹 방법을 사용하면 하나의 라디오 상자 역할을 하는 라디오 상자를 나란히 가질 수 있습니다. 즉, 하나의 옵션만 선택할 수 있습니다.예를 들면 다음과 같습니다.
list1 = {"AAA", "BBB", "CCC", "DDD"};
list2 = {"XXX", "YYY", "ZZZ"};
nw = new window("Combine Radio boxen",
panel box("Choose Product:",
hlist box(
rb1 = radio box(list1),
rb2 = radio box(list2)
),
),
panel box("Actions",
hlist box(
okb = button box("OK",
one_product = rb1 << get selected;
print("Product Selected: " || one_product);
nw << close window;
),
canb = button box("Cancel",
nw << close window;
),
),
)
);
rb1 << group(rb2);

Re: 사용자 인터페이스내가 권장하는 한 가지는 str1 및 str2의 형식을 설정하는 줄을 New Window() 함수 외부로 옮기는 것입니다.New Window() 내부에 먼저 모든 표시 상자를 정의한 다음 해당 표시 상자를 수정할 수 있습니다.그러면 코드가 조금 더 깔끔해집니다.
다음으로 V 목록 상자 닫기 괄호를 표시 상자 목록의 끝으로 이동할 수 있습니다.확인 및 취소 버튼을 포함하는 H 목록 상자는 라디오 버튼이 있는 패널 상자를 포함하는 동일한 H 목록 상자에 중첩됩니다.확인 및 취소가 포함된 H 목록 상자를 현재 상위 H 목록 상자 컨테이너 외부로 이동하고 V 목록 상자 상위 컨테이너 내의 해당 H 목록 상자에 대한 형제로 만듭니다.그러면 해당 버튼이 맨 아래로 이동합니다.
라디오 버튼 필드에 여러 열이 있는 것은 까다로우며 번거롭게 할 가치가 있는지 잘 모르겠습니다.지금처럼 2개가 필요합니다(두 개를 별도의 패널 대신 동일한 패널 상자에 넣겠습니다).문제는 선택한 항목이 없는 라디오 상자를 가질 수 없다는 것입니다.따라서 하나의 라디오 상자를 지우는 것은 불가능하므로 두 라디오 상자에 걸쳐 하나의 선택만 있습니다.대신 스크롤 막대를 사용하여 목록 상자를 작게 유지하고 표시할 줄 수를 설정할 수 있도록 목록 상자를 고려하십시오.
내 제안에 대한 결과는 다음과 같습니다.
Clear Log();
// Time filtering //
defuplim = Today();
deflowlim = Today() - In Days( 150 );
ww = New Window( "Pick Your Dates in yyyy-mm-dd format",
//<<MODAL></MODAL>lb << Set Max Selected(1);
사용자로부터 디스플레이 상자의 정보에 액세스하려면 이를 수행하는 확인 버튼에 대한 기능을 정의하기만 하면 됩니다.도움말 메뉴에서 스크립팅 색인을 참조하십시오."숫자 편집 상자"를 검색하고 드롭다운 메뉴를 "모든 범주"에서 "표시 상자"로 변경하면 숫자 편집 상자로 보낼 수 있는 모든 메시지를 볼 수 있습니다.그들 중 하나는 "얻기"입니다.사용자 입력이 있는 모든 디스플레이 상자에는 유사한 메시지가 있습니다.
확인 버튼에 대한 함수는 다음과 같을 수 있습니다.
Ok_btn << Set Script(On OK());
On OK = Function({},
start_date = str1 << Get;
end_date = str2 << Get;
Print(start_date, end_date);
);