메뉴 건너뛰기

(주)융정보통신

이지젠이 포함된 태크에서 스크립트와 이지젠사이에 값을 주고 받거나 이벤트를 일으킬 수 있도록 해 주는것이
멤버함수 입니다.
다시 말해 자바 스크립트나 VB 스크립트에서 이지젠 OBJECT로 값을 보내거나 이지젠의 개체나 변수의 값을
읽어 오고, 스크립트가 이지젠의 버튼을 누르고, 이지젠에서 스크립트의 펑션을 호출할 수 있도록 해준다는
것이지요..
이러한 멤버 함수에 대한 것을 좍~~ 나열해 보자면 다음과 같습니다.

EZgen 멤버함수

EZgen에서 제공하는 멤버함수 입니다. 멤버함수는 아래의 경우에서 사용합니다.
이지젠이 포함된 HTML 문서 에서 JAVA scRIPT나 VB scRIPT함수에서 이지젠을 조작 할 수 있는 함수를 제공 합니다.

▶ SetValue
하나의 개체에 값을 전송 합니다.
사용예) EZgen_Object_ID.SetValue( 개체명, Value);

▶ SetValues
여러 개 의 개체에 값을 전송 합니다.
사용예) EZgen_Object_ID.SetValues([개체명1]=Value1[개체명2]=Value2...);

▶ GetValue
이지젠 내부의 개체의 값을 읽어 옵니다.
결과 Type은 String입니다. 필요 시 변환 하여 사용 해야 합니다.
사용예) EZgen_Object_ID.GetValue("개체명");

▶ GetVersion
이지젠 버젼 값을 읽어 옵니다.
결과 Type은 String입니다.
사용예) EZgen_Object_ID.GetVersion();

▶ RunButton
이지젠 내부의 버튼을 클릭하는 효과를 줍니다.
사용예) EZgen_Object_ID.RunButton(개체명);

▶ OpenHnw
이지젠 Object를 통해서 이지젠의 문서를 Open할경우 사용합니다.
사용예) EZgen_Object_ID.OpenHnw(UrlPath&ezgen파일명, InitValue);

☞ 참고
EZgen_Object_ID : HTML 문서 내의 이지젠의 Object Tag ID 입니다.

이상입니다. ^^;


그런데 이렇게만 있으면 쉽게 알아 보기가 좀 힘들지요?

위의 내용은 사용자 메뉴얼에 있는 설명 부분입니다만, 이것 보다는 실제로 적용한 예를 가지고 설명을 하는게
이해가 쉬울것 같습니다.

해서 예제 화면을 보도록 하겠습니다.

예제 화면 불러오기

예제 화면에서 상단의 Form Tag 부분은 스크립트 부분 입니다.
아래의 EZgen 부분은 이지젠 문서(Object)가 표시된 부분이지요..

1) 일단 동작을 확인해 보자면 상단의 Form Tag 의 '개체명 :'의 입력란에 Edit1(대소문자 주의)을 입력하고
'값 :'의 입력란에 12345 를 입력한 뒤 SetValue(개체명,값) 버튼을 눌러봅니다.

그러면 아래 화면에 이지젠 문서안에 있는 [Edit1]에 12345라는 값이 넘어가는 것을 볼 수 있습니다.

스크립트에서 이젠의 개체로 값을 넘겨 준 것이지요..


2) 이번에는 '값 :'의 입력란에 [Edit1]=AAAAAA[Edit2]=BBBBBB[Edit3]=CCCCCC 를 입력하고 SetValues(값)
버튼을 눌러 봅니다.

그러면 이번에는 [Edit1]에는 AAAAAA가 [Edit2]에는 BBBBBB가 [Edit3]에는 CCCCCC가 넘어가는 것을 볼 수 있습니다.

한번에 여러개의 개체로 값을 넘겨 줬습니다.


3) 이제 거꾸로 이지젠의 값을 스크립트로 읽어와 보도록 하겠습니다.

'개체명 :'의 입력란에 읽어올 이지젠 개체명 Edit1 을 입력 합니다.

그리고 이지젠의 개체에 값이 있어야 겠지요?

화면 아래 이지젠 문서의 [Edit]에 ABCDEFG 를 입력합니다.

그리고 GetValue(개체명) 버튼을 누르면...

이지젠의 [Edit1]에 입력했던 ABCDEFG가 값 : 의 입력란으로 보내지는 것을 확인 할 수 있습니다.

제일 오른쪽의 RunButton(개체명)은 이지젠의 작용단추(Command)나 그림상자(Picture)의 OnClick 이벤트를
호출 하는 것 입니다.

아래 이지젠 문서에서 [Command1]을 눌러 보면 'Command1이 실행 되었습니다.'라는 메세지가 뜹니다.

네. [Command1]의 OnClick이벤트에 MsgBox 매크로가 지정되어 있다는 겁니다.


4) 그러면 상단의 스크립트에 '개체명 :'의 입력란에 작용단추이름인 Command1 을 입력하고 RunButton(개체명)
버튼을 눌러 볼까요?

똑같이 'Command1이 실행 되었습니다.'라는 메세지가 뜨는 것을 볼 수 있습니다.

이것은 RunButton(개체명) 버튼이 이지젠의 [Command1]을 눌러서 [Command1]에 지정되어 있는 MsgBox 매크로가
실행된 것입니다.

즉 스크립트가 이지젠의 이벤트를 호출한 것이지요..

위쪽에 있는 네개의 버튼이 각각 setvalue, setvalues, getvalue, runbutton의 멤버 함수들을 이용해서 이지젠
문서 안의 개체로 값을 보내고, 받아오고, 버튼을 누르는 동작을 한 것 입니다.


5) 마지막으로 FireEvent를 보자면, 이것은 이지젠에서 스크립트에 정의된 Function을 호출하는 것입니다.

이지젠 문서 우측에 숫자 매개변수1, 숫자 매개변수2, 문자 매개변수를 입력 받는 입력란이 있습니다.

순서대로 1111,2222,가나다라 를 입력하고 [FireEvent]를 눌러 보면,

위쪽의 스크립트 영역에 있는 숫자 매개변수1, 숫자 매개변수2, 문자 매개변수의 입력란으로 값이 넘어 오는 것을
볼 수 있습니다.


이제 예제의 내용을 하나씩 살펴 보도록 하겠습니다.

먼저 예제의 Tag 소스는 아래와 같습니다.

<HTML>
<HEAD>
<TITLE>EZgen 멤버함수/FireEvent/Object Tag Parameter 예제</TITLE>
<scRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
<!--

function funsetvalue_onclick() //SetValue(개체명,값) 실행 ①
{
if( !hnwdoc.SetValue(text1.value,text2.value) )
{
stMsg = "not found object name : ";
stMsg += text1.value;
alert(stMsg);
}
}

function funsetvalues_onclick() //SetValues(값) 실행 ②
{
hnwdoc.SetValues = text2.value;
}

function funcgetvalue_onclick() //GetValue(개체명) 실행 ③
{
text2.value = hnwdoc.GetValue(text1.value);
}

function funcrunbutton_onclick() //RunButton(개체명) 실행 ④
{
if( !hnwdoc.RunButton(text1.value) )
{
stMsg = "not found object name : ";
stMsg += text1.value;
alert(stMsg);
}
}

-->
</scRIPT>

<scRIPT ID=clientHnwActivEvent LANGUAGE=javascript FOR="hnwdoc" EVENT="FireEvent(nParam1,nParam2,strParam)">
// EZgen의 FireEvent를 받음 ⑤
<!-- //EZgen에 FireEvent 버튼 실행시 발생됨 -->
Nparm1.value = nParam1;
Nparm2.value = nParam2;
Vparm.value = strParam
alert("FireEvent 실행!");
</scRIPT>

</HEAD>
<BODY>
<B>EZgen 멤버함수/FireEvent/Object Tag Parameter 예제</B><BR>
Form Tag <BR>
개체명: <INPUT id=text1 name=text1 style="HEIGHT: 19px; WIDTH: 128px">
값: <INPUT id=text2 name=text2 style="HEIGHT: 19px; WIDTH: 380px"><BR>
<INPUT id=funsetvalue language=javascript name=funsetvalue type=button onclick="return
funsetvalue_onclick()" value=SetValue(개체명,값)>
<INPUT id=funsetvalues language=javascript name=funsetvalues type=button onclick="return
funsetvalues_onclick()" value=SetValues(값)>
<INPUT id=funcgetvalue language=javascript name=funcgetvalue type=button onclick="return
funcgetvalue_onclick()" value=GetValue(개체명)>
<INPUT id=funcrunbutton language=javascript name=funcrunbutton type=button onclick="return
funcrunbutton_onclick()" value=RunButton(개체명)><BR><BR>
숫자 매개변수1: <INPUT id=Nparm1 name=Nparm1 style="HEIGHT: 19px; WIDTH: 64px">
숫자 매개변수2: <INPUT id=Nparm2 name=Nparm2 style="HEIGHT: 19px; WIDTH: 64px">
문자 매개변수 : <INPUT id=Vparm name=Vparm style="HEIGHT: 19px; WIDTH: 140px"><BR>

----------------------------------------------------------------------------<BR><BR>
EZgen <BR>
<OBJECT id=hnwdoc classid=clsid:2E68BEE5-A640-11D2-AEA4-00AA006E5B34
codebase="/hnwactive/hnwactiv_5_0_0_1.cab#version=5,0,0,1">
<PARAM NAME="initvalue" VALUE="[@InitPage]=Page1[Edit1]=aaaa[Edit2]=bbbb[Edit3]=cccc"> ⑥
<param name="hnwsrc" VALUE="hnwdoc.hnw">
<PARAM NAME="hidewnd" VALUE="N">
</OBJECT><BR>
-----------------------------------------------------------------------------
</BODY>
</HTML>

내용을 살펴보면

① SetValue - text1(개체명)에서 입력받은 값에 해당하는 이지젠 개체에 text2(값)에서 입력 받은 값을 넘겨줍니다.

위에 1)에서는 [Edit1]에 12345를 넘겨 봤습니다.

② SetValues - test2(값)에서 입력받은 값을 파라메타로 이지젠의 여러 개체에 값을 넘겨 줍니다.

형식은 [개체명]=값[개체명]값.... 입니다.

2)에서 [Edit1]=AAAAAA[Edit2]=BBBBBB[Edit3]=CCCCCC 를 파라메터로 받았고, 이것의 의미는

[Edit1]에 AAAAAA를 [Edit2]에 BBBBBB를 [Edit3]에 CCCCCC를 넘겨 준다가 됩니다.

③ GetValue - text1(개체명)에서 입력받은 값에 해당하는 이지젠 개체에서 text2(값)으로 값을 받아 옵니다.

3)에서는 이지젠의 [Edit]의 값인 ABCDEFG를 text2(값)으로 읽어 왔습니다.

④ RunButton - text1(개체명)에서 입력받은 값에 해당하는 이지젠 개체(작용단추나 그림상자)를 마우스로 눌러서
OnClick 이벤트를 발생 시키는 효과를 냅니다.

4)에서 Command1을 마우스로 눌렀을 때와 동일한 동작을 했습니다.

text1(개체명)에 Picture1을 입력하고 RunButton(개체명)을 누르면 그림상자를 클릭 하게 되겠지요...

⑤ FireEvent - 이건 스크립트가 이벤트를 일으키는 것이 아니라 이지젠이 이벤트를 일으켜서 되서 스크립트의
펑션을 호출하는 것입니다.

이지젠의 매크로에 FireEvent라는게 있지요.

그리고 지정에 들어가 보면 숫자매개변수1,2와 문자 매개변수를 지정하게 되어 있습니다.

즉, FireEvent매크로가 실행되면 ⑤의 펑션을 호출하면서 숫자매개변수1,2와 문자 매개변수를 스크립트로
넘겨주게 됩니다.

그러면 스크립트는 받은 값을 가지고 정해진 동작을 할 수 있게 됩니다.

5)에서는 받은 값을 숫자 매개변수1, 숫자 매개변수2, 문자 매개변수의 입력란으로 보내주도록 했습니다.

⑥ 초기 파라메터 전달 - 위의 ①~⑤은 이지젠 문서가 브라우져에 표시가 되고나서 스크립트와 서로 값이나
이벤트를 주고 받는 형태입니다.

하지만 초기 파라메터 전달은 이지젠 문서를 브라우져에 불러올 때 이지젠의 개체나 변수에 값을 부여하면서
불러오는 것 입니다.

때문에 이지젠의 OnIntialize에 지정되어있는 매크로들이 실행되기 전에 값이 먼저 넘어가게 되고, 변수의 경우는
Default로 지정한 값이 무시되고 여기서 넘겨준 값들이 Default값 역활을 하게 됩니다.

방식은 SetValues에서 처럼 [개체명]=값[개체명]값.... 의 형식을 사용 합니다.

Object Tag에 PARAM NAME="initvalue" 부분은 초기 파라메터 전달이라는 의미이고,

VALUE="[@InitPage]=Page1[Edit1]=aaaa[Edit2]=bbbb[Edit3]=cccc" 부분이 아규먼트에 해당 됩니다.

여기서 [@InitPage]는 이지젠 문서가 불려질 때 화면에 표시할 쪽을 의미 합니다.

이지젠 문서에 Page1,Page2의 두개의 쪽이 존재할 경우 브라우져에는 앞에 있는 Page1이 표시가 됩니다.

하지만 VALUE="[@InitPage]=Page2"를 지정하면 브라우져에 이지젠 문서가 불려질 때 Page2가 화면에 나타나게 되지요.

OnIntialize Event에 GotoPage매크로를 사용해서 Pgae2를 지정해도 Page2가 화면에 나타나지만, Page1에
이벤트이기 때문에 화면에 Page1이 잠깐 나타났다가 Page2로 화면이 바뀌게 됩니다.

<PARAM NAME="initvalue" VALUE="[@InitPage]=Page2"를 사용하는 경우는 이지젠 문서가 오픈될 때 아예
Page2로 화면에 표시됩니다.

이상 이지젠의 멤버함수와 FireEvent, Object 파라메터에 대해 살펴 봤습니다.

번호 제목 글쓴이 날짜 조회 수
22 브라우져 32/64비트에 따른 이지젠 CAB파일 처리 융정보통신 2017.05.24 82
21 [JScript] FarPoint Spread 연동 file 융정보통신 2017.05.24 20
20 [JScript] 클라이언트 및 서버 정보 샘플 융정보통신 2017.05.24 13
19 [JScript] 각종 Trim함수 융정보통신 2017.05.24 32
18 [JScript]숫자값을 1000단위마다 ',' 표시 융정보통신 2017.05.24 22
17 [JScript]숫자여부체크 융정보통신 2017.05.24 3
16 [JScript]날짜체크 함수 융정보통신 2017.05.24 8
15 [JScript]재외국인 번호 체크 융정보통신 2017.05.24 73
14 [JScript]사업자,법인 등록번호 체크 융정보통신 2017.05.24 266
13 이지젠으로 만든 QRCODE 명함(MECARD) file 융정보통신 2017.05.24 4
12 [JScript] Calendar file 융정보통신 2017.05.24 5
11 [JScript] TabControl 탭 숨기기, 보이기 융정보통신 2017.05.24 42
10 [JScript] 배열을 이용한 replaceAll 함수 구현 융정보통신 2017.05.24 2
9 서버환경설정의 Content-Type 융정보통신 2017.05.24 173
8 계산필드를 이용해 Serial Number 만들기 file 융정보통신 2017.05.24 18
7 Formula에서 엔터값 계산 융정보통신 2017.05.24 5
» 스크립트와 이지젠 멤버함수 / 파이어 이벤트 / 파라메터 값 넘기기 file 융정보통신 2017.05.24 28
5 EZgen Unicode 버젼 사용방법. 융정보통신 2017.05.24 67
4 UpLoadFile로 서버에 저장한 파일을 무조건 다운로드 받게 하는 방법(JAVA)입니다. 융정보통신 2017.05.24 32
3 UpLoadFile로 서버에 저장한 파일을 무조건 다운로드 받게 하는 방법(IIS)입니다. 융정보통신 2017.05.24 28
위로