NumberEditBox에서 사용자 항목을 7자리로 제한하는 방법은 무엇입니까?ECN = 0,
Text Box( "System ECN:" ),
S1 = Number Edit Box(ECN, <<SET property=""></SET>
The user shouldn't be able to enter more than 7 digits. For example: 1234567... the user shouldn't be able to enter 8.
How did achieve this?
Any help is appreciated.
<LINGO-LABS id="lingo-labs-750800" slang="en-US" mode="CREATE"><LINGO-LABEL>데이터 탐색 및 시각화</LINGO-LABEL><LINGO-LABEL>윈도우</LINGO-LABEL></LINGO-LABS>Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?안녕하세요 @PunitPanjwani
이는 스크립팅 인덱스의 변경된 번호 설정() 및 변경된 번호 가져오기() 예제의 수정된 버전입니다. 나는 이것이 당신의 목표에 꽤 가까워진다고 생각합니다.
Names Default To Here( 1 );
New Window( "Example",
numBox = Number Edit Box(
.,
10,
<< set number changed(
Function( { thisBox, value }, /* put my value into my sibling's display */
if( length( char( value ) ) > 7,
// > 7 digits
thisBox << set( . );
( thisBox << sib ) << settext( "Too many digits" ),
// <= 7 digits
( thisBox << sib ) << settext( char( value ) )
)
)
)
),
Text Box( "" )/* here's the sibling box, waiting to show a message */
);
numBox << get number changed()
Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?이 메시지를 어디서 찾았나요?
<< Set Max Length(7) // Limit the number of digits to 7
Number Edit Box의 프로토콜에는 표시되지 않습니다.
Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?고마워요 마크!
아래와 같이 코드를 수정했지만 여전히 성공하지 못했습니다. JMP 소프트웨어가 큰 역할을 한다고 생각하시나요?
Names Default to Here( 1 );
last = eon = 0;
New Window( "Only Seven",
Outline Box( "Enter EON",
Line Up Box( N Col( 2 ),
Text Box( "System EON:" ),
neb = Number Edit Box( eon,
<< Set Integer Only( 1 ),
<< Set Minimum( 0 ),
<< Set Tip( "Enter an integer number with no more than 7 digits")
<< Set Number Changed(
Function( { self, number },
If( Length( Char( number ) ) > 7,
self << Set( last ),
last = number
);
);
),
<< Set Max Length(7) // Limit the number of digits to 7
)
)
)
)Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?이 방향으로 시작할 수 있습니다.
Names Default to Here( 1 );
last = eon = 0;
New Window( "Only Seven",
Outline Box( "Enter EON",
Line Up Box( N Col( 2 ),
Text Box( "System EON:" ),
neb = Number Edit Box( eon,
<< Set Integer Only( 1 ),
<< Set Minimum( 0 ),
<< Set Tip( "Enter an integer number with no more than 7 digits")
<< Set Number Changed(
Function( { self, number },
If( Length( Char( number ) ) > 7,
self << Set( last ),
last = number
);
);
)
)
)
)
)Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?이 버전에서는 사용자가 번호 변경 사항을 커밋해야 합니다.
Names Default to Here( 1 );
last = eon = 0;
New Window( "Only Seven",
Outline Box( "Enter EON",
Line Up Box( N Col( 2 ),
Text Box( "System EON:" ),
neb = Number Edit Box( eon,
<< Set Integer Only( 1 ),
<< Set Minimum( 0 ),
<< Set Tip( "Enter an integer number with no more than 7 digits"),
<< Set Function( // called when user commits data entry
Function( { self },
new = self << Get;
If( Length( Char( new ) ) > 7,
self << Set( last ),
last = new
);
);
)
)
)
)
);Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?이를 수행하는 방법에는 여러 가지가 있으며 UI가 어떻게 작동하길 원하는지에 따라 다릅니다.
- 사용자가 너무 많은 숫자를 삽입하면 오류 메시지가 표시됩니다.
- 사용자가 너무 많은 숫자를 삽입하는 경우 값을 허용되는 최대 숫자로 설정하십시오.
- 사용자가 너무 많은 숫자를 삽입하는 경우 값을 빈 값(누락된 값)으로 설정합니다.
- 사용자가 너무 많은 숫자를 삽입하는 경우 값을 마지막 "유효한" 값으로 설정하세요.
- ...
그런 다음 값을 업데이트해야 하는 시기(커밋 시 또는 각 번호 변경 시)를 결정해야 합니다.
다음은 몇 가지 옵션입니다. 필요에 따라 결합할 수 있습니다.
더보기...
Names Default To Here(1);
nw = New Window("Example",
Lineup Box(N Col(2),
Text Box("Set to max value on COMMIT:"),
Number Edit Box(
.
, 10
, << Set Maximum(9999999)
, << Set Exclude Maximum(0)
, << Set Integer Only(1)
),
Text Box("Set to last COMMITTED value on COMMIT:"),
cb = Context Box(
box:last_val = .;
Number Edit Box(
.
, 10
, << Set Function(function({this},
If((this << get) >= 10000000,
this << set(box:last_val)
,
box:last_val = this << get;
)
))
)
),
Text Box("Throw on COMMIT"),
cb = Context Box(
box:last_val = .;
Number Edit Box(
.
, 10
, << Set Function(function({this},
If((this << get) >= 10000000,
this << set(box:last_val);
Throw("No values longer than 7 digits allowed");
,
box:last_val = this << get;
)
))
)
),
Text Box("Set to last changed value on change and break focus:"),
cb = Context Box(
box:last_val = .;
Number Edit Box(
.
, 10
, << Set Number Changed(function({this, val},
If((val) >= 10000000,
this << set(box:last_val);
box:mb << Set Focus(1); // to break focus from number edit box
,
box:last_val = val;
)
))
),
Unlineup Box(box:mb = Mouse Box());
)
)
);
Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?고마워요, 마크!
Re: NumberEditBox에서 사용자 입력을 7자리로 제한하는 방법은 무엇입니까?고마워요, 자르모!