enuSpace professional 2016 기준

void PlaySound method (enuSpace in lua script)


enuSpace in lua lua function


void PlaySound(

[in] string Filename

};


Parameters

Filename[in]

Type:string

wav 파일 이름을 사용


Return value

Type : bool


Remarks

루아 스크립트에서 본 함수를 사용하는 경우, windos api PlaySound 함수 호출 수행



Examples


enuSpace script editor


function onmousedown()

PlaySound("Alarm02.wav")

end

'enuSpace for lua API' 카테고리의 다른 글

enuSpace :: ShellExecute()  (0) 2016.01.15

enuSpace professional 2016 기준

void ShellExecute method (enuSpace in lua script)


enuSpace in lua function


void ShellExecute(

[in] string Operation,

[in] string File,

[in] string Parameters,

[in] string Directory,

};


Parameters

Operation[in]

Type:string

The set of available verbs depends on the particular file or folder. Generally, the actions available from an object's shortcut menu are available verbs. The following verbs are commonly used:


edit

Launches an editor and opens the document for editing. If File is not a document file, the function will fail.


explore

Explores a folder specified by File.


find

Initiates a search beginning in the directory specified by Directory.


open

Opens the item specified by the File parameter. The item can be a file or folder.


print

Prints the file specified by File. If File is not a document file, the function fails.


File[in]

Type:string

A pointer to a null-terminated string that specifies the file or object on which to execute the specified verb. To specify a Shell namespace object, pass the fully qualified parse name. Note that not all verbs are supported on all objects. For example, not all document types support the "print" verb. If a relative path is used for the Directory parameter do not use a relative path for File.


Parameters[in]

Type:string

If File specifies an executable file, this parameter is a pointer to a null-terminated string that specifies the parameters to be passed to the application. The format of this string is determined by the verb that is to be invoked. If File specifies a document file, Parameters should be NULL.


Directory[in]

Type:string

A pointer to a null-terminated string that specifies the default (working) directory for the action. If this value is NULL, the current working directory is used. If a relative path is provided at File, do not use a relative path for Directory.



Return value

Type : void


Remarks

루아 스크립트에서 본 함수를 사용하는 경우, windows api ShellExecute 함수 호출 수행.



Examples


enuSpace script editor


function onmousedown()

ShellExecute("open", "http://enuspace.tistory.com", "", "")

end



'enuSpace for lua API' 카테고리의 다른 글

enuSpace :: PlaySound()  (0) 2016.01.15

enuSpace professional 2016 기준

enuSpace 편집기 스크립트 사용자 함수 호출 (lua script)


스크립트 내에서의 다른 함수 실행 


같은 객체 내의 함수 실행


각 객체는 다른 여러 개의 함수를 포함할 수 있으며 예시로 사용된 것처럼 직접 함수 이름을 호출할 수 있다.

다음 그림에서 GetColor함수는 같은 사각형 객체 내에 있으며 onmousedown함수에서 사용된 예이다.





이웃 객체 내의 함수 실행


각 객체에 함수는 이웃하는 다른 객체의 함수를 호출할 수 있다.

다음 그림에서 GetColor함수는 같은 사각형 객체 내에 있으며 onmousedown함수에서 사용된 예이다.



다음 그림은 "빨강"이라는 텍스트 객체에 SetFontSize함수를 이용하여 fonts-size를 바꾸는 함수를 만들고 이웃한 객체인 사각형 객체의 마우스다운 이벤트 함수를 이용하여 실행하는 함수 예시이다. 사각형 객체는 마우스를 클릭하여 index 값을 바꾸고 인덱스 값에 따라 이웃한 객체인 ID_TestRed 객체의 font-size를 바꾼다.




Lua Script 함수 실행


각 객체는 자식객체의 함수, 상위객체의 함수 페이지 함수, 전역 함수, 인터페이스 함수, 루아스크립트 함수 등을 실행할 수 있는데 실행되는 순서는 다음과 같다.

- 같은 객체 내의 함수

- 자식 객체의 함수

- 이웃 객체의 함수

- 상위 객체의 함수

- 페이지 함수

- 전역함수

- 인터페이스 함수

- .루아스크립트 함수

우선 순위는 같은 객체 내의 함수가 가장 높고 루아스크립트 함수가 가장 낮다. 자식 객체의 함수를 실행하기 위해서는 자식객체 id.함수 이름으로 실행해야 하며 자식객체에서 찾지 못하면 이웃 객체에서 찾는데 이웃객체에도 없으면 차례로 우선순위가 높은 순으로 찾는다. 따라서 우선 순위가 낮은 함수를 사용하려면 같은 이름의 함수는 우선 순위가 낮은 함수를 찾을 때까지 존재하지 않아야 한다. mean 함수는 테이블을 인수로 받아 테이블 내의 모든 값을 더해서 테이블의 필드 개수로 나누어 평균값을 구한 후 그 값을 반환한다. 다음 그림은 mean 전역함수를 선언한 예시이다.




다음 그림은 전역함수 mean 함수를 이용해서 onmousedown에 의해 바뀌는 index 값을 각 테이블의 필드 값에 더하고 테이블의 평균값을 구하는 전역함수 mean을 이용해서 평균값을 구해서 텍스트 객체(ID_TextRed)의 text 에 문자열을 할당하는 onmousedown함수 예제와 그 실행된 상태를 표시하는 예시이다.





다른 함수를 실행함으로써 바뀐 값을 그 후에 사용하는 방법


다른 함수를 실행함으로써 전역 변수나 다른 기타의 변수가 바뀐 상태의 것을 현재의 스크립트 함수에서 다시 사용하고자 할 때 값을 다시 가져오는 GetValue(변수이름) 을 사용하여야 하며 그냥 사용할 시는 변경된 값이 적용되지 않는다.

다음 그림은 스크립트 내에서 index의 값을 사용하는 예시를 보여준다. IncreaseIndex함수는 index값을 1씩 증가시키므로 IncreaseIndex함수가 실행된 후에는 index 값이 1이 증가되어 있으나 스크립트 내에서는 아직 이전 값을 가지고 있다. 변경된 값을 가져오기 위해서 GetValue(index)를 사용하여 현재의 값을 가지고 와서 사용한다.










enuSpace professional 2016 그래픽 편집기와 루아 스크립트



그래픽 편집기는 그래픽에 대한 속성들과 사용자 정의 전역 및 지역 변수 들을 가지고 있으며 현재의 값을 Lua Script에 전달하고 Lua Script에서 함수의 실행에 의해 바뀐 값을 그래픽 편집기의 그래픽 속성이나 전역 또는 지역변수에 전달하여 값을 변경시킨다. 모든 값을 변경시키는 행위는 프로그램이나 사용자의 마우스 이벤트 등에 의해 발생되며 현재 값의 전달 및 변경된 값의 반환이 함수의 실행 전과 실행 후에 각각 발생한다. 아래 그림은 그래픽 편집기에서 객체의 사용자 정의 함수인 GetColor()에 대한 예시를 나타낸 것이다.





아래 그림은 그래픽 편집기에서 객체의 사용자 정의 함수인 onmousedown()에 대한 예시를 나타낸 것이다.




Lua Script 내부에서만 실행되는 변수 및 함수는 별도로 User Interface가 지원되며Lua Script내부에서는 이벤트 또는 사용자 함수에 의해서 사용 가능하다.



그래픽 편집기에서 Lua Script를 사용하는 방법은 아래와 같다.

1. Lua Script 편집 창을 연다. 

2. Lua Script 편집 다이얼로크 창에서 편집된 내용을 Lua Script에 등록한다.

3. Lua Script에 등록된 변수의 값을 확인하거나 새로운 값을 할당하는 스크립트를 작성한다.

4. 3번 항목에서 작성된 스크립트를 Lua Script에서 실행한다.

5. COLOR 테이블을 Lua Script에 작성하는 스크립트.

6. COLOR 테이블에서 Red 필드.

7. 4번 항목에서 실행한 결과 값의 표현.

그래픽 편집기에서는 전역변수 및 각 객체의 속성 등 다양한 구조적 변수를 가지고 있으며 이러한 구조적 변수를 Lua State에 그대로 가지지 않는다. 모든 값의 변경은 Lua Script에 등록된 함수의 실행에 의해 이루어 지며, 사용되는 변수와 함수 스크립트는 Lua Script에 테이블을 생성하여 변수 및 함수로 등록한다. 이벤트 및 프로그램에 의해 실행되는 함수는 각 함수에 해당하는 Lua Script 테이블과 1:1 대응 관계에 있으며 변수의 인터페이스나 반환 값이 없는 경우 그래픽 편집기 함수는 Lua State에 등록되지 않는다. 아래 그림은 그래픽 편집기의 데이터 구조를 나타낸 것이다.





아래 그림은 Lua Script데이터 구조에 대해 나타낸 것이다.











+ Recent posts