Chillax in dev

[Nexacro] 넥사크로 공부03 본문

IDE 늘 새로워/Nexacro 플랫폼

[Nexacro] 넥사크로 공부03

Seong Story 2021. 1. 14. 13:53
728x90

[Nexacro] 넥사크로  공부 정리

개발 실력의 증명은 뭘까?

내가 원하는 기능을 보다 능숙하게 구현하는 실력일 것이다.

결국 영어단어처럼 복습과 암기라고 생각한다.

 

넥사크로 공부를 하며 꼭 기억하고 싶은 개념들을 정리해본다.

 

  • 화면 만들기 : File > new > Form > Name입력 > width:800px height: 600px 정도로 입력 후 finish
  • Static 컴포넌트는 HTML의 lable처럼 화면에 표시만 해주는 용도입니다. ex) 비밀번호 :를화면에 띄움
  • 기능을 모를 땐 API를 참고하자  : F1 > 검색 > 입력 후 클릭
  • 프로퍼티는 컴포넌트의 속성을 의미한다.
  • this.alert(this. 컴포넌트의 id값. text)  // 해당 컴포넌트의 text프로퍼티 값을 가져옴.
  • this. 컴포넌트의 id값. set_text("변경할 값")   //해당 컴포넌트의 값을 "변경할 값"으로 변경함.
  • 실행(QuickView) : ctrl + F6 따로 브라우저나 서버 없이 자체적으로 화면 보여줌.
  • 자바스크립트에서 this는 현재 실행되고 있는 자기 자신 태그를 의미했다. 여기선 this가 현재 화면 form을 의미한다.
  •  Combo는 HTML의 select태그와 비슷하다. 그렇다면 Option은 어떻게 줄까?
  • Combo의 프로퍼티의 innerdataset을 클릭 >... 를 눌러 +로 직접 추가해주거나 or 만들어둔 데이터셋을 선택하여 설정한다.
  • DataSet은 플랫폼에서 다루는 데이터의 덩어리입니다. 
  • DataSet : 우측의 Application indormation > Application Variables  > DataSet을 화면에 드롭한다 >  하단에 Invisible Object에서 생긴 데이터셋을 클릭하여 id를 바꾼다. columns과 row에 맞게 데이터를 만든다.(데이터셋은 appvariables.xml에 관리함.)
  • 같은 combo를 복사해서 사용할 때 dataSet을 적용하면 같은 form에서 매번 만들 필요 없이 같은 combo를 사용할 수 있다. 만약 다른 form(화면)을 만들어서 그 combo를 복붙으로 쓸 땐 DataSet이 해당 화면에만 있으니 같을 수없다. 즉 다른 페이지에서도 데이터 셋을 쓰고 싶다면 데이터셋을 Globol로 만들어 사용한다. Global로 만드는 방법은 우측의 Application indormation > Application Variables  > Variables를 클릭 +를 클릭하여 만든다. (자세한 설정은 하단 이미지 참조 01)
  • 굳이 화면에 사용할 데이터는 DB가 아니라 DataSet을 이용해 만들어 사용한다. 일일이 DB에서 SQL로 가져와서 JSTL로 힘들게 뿌려줬던 Select의 값들을 이렇게 DataSet으로 표현하면 된다!
  • 생성되는 모든 컴포넌트의 id는 유일합니다! (자동으로 01,02,03 생성됨)
  • Edit과 MaskEdit의 차이는?Edit : input 태그처럼 키보드로 아무 값을 입력받습니다,  MaskEdit : 특정 속성만 입력 가능 (디폴트는 숫자로 되어있음) 즉 정규식처럼 어떻게 넣는 값을 정할지 결정하는 것이 포인트!
  • 정렬 : 정렬하고 싶은 컴포넌트를 모두 마우스로 끌어 선택하고 기준으로 할 컴포넌트를 "shift +클릭!" 그 후 옵션 중 선택하여 정렬한다. (아래 이미지 참조 02)
  • EditMask의 프로퍼티 중에 format 속성으로 글자 수를 제한하거나 입력을 넣을 기준을 주거나 한글만 영어만 숫자만 ", ", 소수점 표현등 등을 제한할 수 있다. 자세한 기능은 API의 EditMask의 property 중 format 란을 참고하면 된다. 아래 내용에 api내용을 참고로 뒀다.
더보기

<MaskEdit format 사용방법>

Setting Syntax 
 
 strFormat ::= <strSNummask> | <strStringmask>

<strSNummask> ::= [<strSignmask>] <strNumbermask> 
this.MaskEdit00.set_format( "@@@@" );
this.MaskEdit00.set_format( "###,000.00##" );
this.MaskEdit00.set_format( "999,000.0099" ); 
<strSignmask> type 속성값이 "number" 일 때 숫자 앞에 사용될 부호 마스크를 설정합니다.

1. 부호 마스크 문자
  "-" : 음수기호만 입력가능
  "+" : 양수기호만 입력가능
  "!" : 음수/양수기호 모두 입력 불가능 
<strNumbermask> type 속성값이 "number" 일 때 적용되는 마스크를 설정합니다.

마스크 문자를 설정하면 정수부는 자릿수 제한이 없고, 소수부는 마스크에 의해 자릿수가 제한됩니다.
마스크 문자를 설정하지 않으면 정수부와 소수부 입력에 제한을 두지 않습니다.
마스크로 허용된 문자가 아닌 문자는 모두 무시됩니다.

1. 숫자 마스크 문자
  "#" : "0~9" 의 10진수 숫자를 허용
        "0" 마스크와 소수점 사이에 설정 시 "0" 마스크로 동작됨
        value 속성값이 없거나 0 이면 값이 표시되지 않음
        정수부에 0 을 입력 후 입력확정(Enter입력)하면 정수부의 0 은 표시되지 않음
  "9" : "0~9" 의 10진수 숫자를 허용
        "0" 마스크와 소수점 사이에 설정 시 "0" 마스크로 동작됨
        value 속성값이 없으면 값이 표시되지 않고, value 속성값이 0 이면 0 이 표시됨
        정수부에 0 을 입력 후 입력확정(Enter입력)하면 정수부의 0 은 표시되지 않음
  "0" : "0~9" 의 10진수 숫자를 허용
        해당 자릿수에 입력된 값이 없을 경우 0 이 표시됨
        value 속성값이 없거나 0 이면 0 이 표시됨
        MaskEdit 가 편집상태일 때는 표시되지 않고, MaskEdit 에 포커스가 없을 때만 표시됨
        정수부에 0 을 입력 후 입력확정(Enter입력)하면 정수부의 0 을 표시함
  "." : 소수점 표시
        소수점 마스크를 2개 이상 설정 시 가장 왼쪽에 위치한 소수점이 적용되고, 이외의 소수점 마스크는 무시됨
        소수점 마스크만 설정 시 마스크를 설정하지 않은것처럼 처리됨
        locale 속성값에 따라 소수점 표시에 "." 문자외에 다른 문자가 표시될 수 있음
  "," : 콤마 표시
        화면에만 표시되고 value 속성에는 적용되지 않음
        콤마 마스크 설정 시 "," 마스크의 위치에 관계 없이 locale 속성값에 맞게 정수부에 "," 가 표시됨
        locale 속성값이 설정되지 않으면 정수부 자릿수의 3자리마다 "," 가 표시됨
        locale 속성값에 따라 콤마 표시에 "," 문자외에 다른 문자가 표시될 수 있음

ex) value 속성값이 1234.567 일 때 format 속성값이 아래와 같은 경우
 ㄱ. "09999.99"      // "01234.56" 으로 표시됨
 ㄴ. "#9900.0090"    // "1234.5670" 으로 표시됨
 ㄷ. "9,999.##"      // "1,234.56" 으로 표시됨

ex) value 속성값이 0 일 때 format 속성값이 아래와 같은 경우
 ㄱ. "##.#"          // "" 으로 표시됨
 ㄴ. "99.9"          // "0" 으로 표시됨
 ㄷ. "00.0"          // "00.0" 으로 표시됨
 
ex) value 속성값이 0.1 일 때 format 속성값이 아래와 같은 경우
 ㄱ. "#.#"           // ".1" 로 표시됨
 ㄴ. "9.9"           // ".1" 로 표시됨
 ㄷ. "0.0"           // "0.1" 로 표시됨 
<strStringmask> type 속성값이 "string" 일 때 적용되는 마스크를 설정합니다.

1. 문자열 마스크 문자
  "@" : 모든 Ascii 문자 (한글과 같은 다국어 문자는 입력 불가)
  "#" : "0~9" 의 10진수 숫자
  "*" : "a~z" 의 소문자와 "A~Z" 의 대문자
  "9" : "a~z" 의 소문자, "A~Z" 의 대문자, "0~9" 의 10진수 숫자
  "A" : "A~Z" 의 대문자
  "a" : "a~z" 의 소문자
  "Z" : "A~Z" 의 대문자와 "0~9" 의 10진수 숫자
  "z" : "a~z" 의 소문자와 "0~9" 의 10진수 숫자

2. 홑따옴표(') 활용
홑따옴표(')는 화면에 표시되지 않고, 홑따옴표(') 사이의 문자는 마스크 문자로 적용하지 않고 화면에 그대로 표시됩니다.
  ex) "@'A'@" 는 화면에 "_A_" 로 표시됩니다.

3. "\" 활용
"\" 문자는 다음에 오는 문자를 마스크 문자로 적용하지 않고 화면에 그대로 표시합니다.
홑따옴표(')를 표시하거나, "\" 를 표시할때 사용하게 됩니다.

"\" 문자는 Dataset Column, Form Design 영역과 Script 영역에서 사용할때 사용법이 다릅니다.
Dataset Column, Form Design에서 사용한 "\" 문자는 자동적으로 "\\" 로 변환을 해주고 있습니다.
Script 에서 사용한 "\" 문자는 자동적으로 "\\" 로 변환을 해주지 않습니다.(Component 의 property 참조는 해당 안됨)
  ex) Form Design format property "@\\@" 는 "@\\\\@" 로 생성되고 "_\_" 로 표시됩니다.
       Form Design format property "@\'@" 는 "@\\'@" 로 생성되고 "_'_" 로 표시됩니다.
       Script set_format("@\\\\@") 는 "_\_" 로 표시됩니다.
       Script set_format("@\\'@") 는 "_'_" 로 표시됩니다.

4. PassWord 처리
"{ }" 문자로 마스크 문자를 감싸면 해당 마스크 문자가 "*" 문자로 대체되어 출력됩니다.
입력되는 문자 일부를 PassWord 로 처리하기 위해 사용하게 됩니다.
  ex) format 속성값이 "@@@{999}" 이고, value 속성값이 123456 이면 화면에 "123***" 로 표시됩니다.

5. 마스크 문자 제외 출력
value 속성값에 마스크 문자와 대응하는 값 이외의 값이 있을 경우 아래 조건에서 겹침표시가 됩니다.

  a. format 속성값에 정의된 마스크의 길이와 value 속성값의 길이가 일치하는 경우.
  b. format 속성값에 정의된 마스크 문자가 아닌 모든 문자가 value 속성값과 위치관계상 일치하는경우.

위의 a,b를 모두 만족할 경우는 value 속성값 중 마스크 문자와 대응되는 값 이외 값을 무시하게 됩니다.

  ex )  format 속성값이 "@@@@-@@-@@" 일 때
   ㄱ. value 속성값이 "20060607" 이면 "2006-06-07" 으로 표시됨
   ㄴ. value 속성값이 "200606" 이면 "2006-06-__" 으로 표시됨
   ㄷ. value 속성값이 "2006-06" 이면 "2006--0-6_" 으로 표시됨
   ㄹ. value 속성값이 "2006-06-07" 이면 "2006-06-07" 으로 겹침표시됨.
   ㅁ. value 속성값이 "2006-06-07 13" 이면 "2006--0-6-" 으로 표시됨.

위와 같이 a,b 조건을 만족하는 ㄹ 의 경우만 겹침으로 표시되며, 그외에는 겹침표시 되지 않습니다. 
 
 
  Remark 
 
 - type 속성값이 "number" 일 때 <strSignmask> 값을 생략하면 양수/음수 기호 입력에 제한이 없습니다.

- type 속성값이 "number" 일 때 <strNumbermask> 값을 생략하면 정수부와 소수부 입력에 제한이 없습니다.

- type 속성값이 "string" 일 때 <strStringmask> 값을 생략하면 입력이 불가능합니다.

- type 속성값이 "number" 일 때 0.1 과 같이 소수형태로 입력했을 경우 입력확정 후 마스크에 따라 정수부에 입력된 0 이 표시되지 않을 수 있습니다.

 

출처 : 넥사크로 플랫폼 api 
 

 

combo에 global dataSet 넣을때 체크부분 맞춰줘야 값나옴! 01
정렬기준을 선택 02

728x90
LIST

'IDE 늘 새로워 > Nexacro 플랫폼' 카테고리의 다른 글

[Nexacro] 넥사크로 공부 02  (0) 2021.01.14
[Nexacro] 넥사크로 공부 01  (0) 2021.01.13
Comments