본문 바로가기
프로그래머의 길/Power Builder

Power Builder Function (7)

by 하늘아래. 2008. 1. 3.
반응형
SetColumn PowerScript Function ]

◆ 기 능
DataWindow control에서 현재의 열을 설정한다.

◆ 적 용
데이터윈도우 콘트롤과 자식데이타윈도우.

◆ 문 법
datawindowname.SetColumn(column)

* datawindowname ==> 사용자가 현재 열로 지정하기를 원하는 데이터윈도우 콘트롤과 자식데이타윈도우의 이름
* column ==> 사용자가 현재 만들기를 원하는 열. Column은 칼럼번호 또는 칼럼명.

◆ 반환값
Integer. 성공시 1, 에러발생시 -1을 반환한다. column이 1보다 작거나 column의 수보다 클 경우는 SetColumn은 실패한다.

◆ 사용법
SetColumn은 커서를 현재의 열로 움직이지만 데이터윈도우콘트롤을 스크롤하지는 않는다.
단지 편집할수 있는 column을 현재의 column으로 지정할 수 있다.

◆ Event
SetColumn은 다음의 이벤트들을 trigger 할 수 있다.
*ItemChanged
*ItemError
*ItemFocusChanged
무한루프를 피하기위해서는 ItemChanged, ItemError, 또는 ItemFocusChanged 이벤트에서
SetColumn을 호출하지 않아야 한다. 왜냐하면 SetColumn은 이러한 이벤트들을 trigger할 수 있기
때문이며 그러한 회귀적인 요구는 stack fault를 발생시킬 수 있다.

◆ 예 제
- dw_employee에서 15번째 열을 현재 열로 설정한다.
dw_employee.SetColumn(15)

--------------------------------------------------------------------------------------------------------

[ SetFocus PowerScript Function ]

◆ 기 능
지정된 object나 control에 focus를 설정한다.
◆ 적 용
모든 object

◆ 문 법
objectname.SetFocus()

Parameter----------- Description
objectname---------- focus를 맞추고 싶은 object 이름이나 control

◆ 반환값
integer. 성공하면 1. 실패하면 -1을 리턴한다.

◆ 사용법
object이름이 ListBox이면, SetFocus는 처음 item 주위의 focus 사각형을 보여준다. object이름
이 DropDownListBox이면 SetFocus는 edit box를 반전시킨다. ListBox 나 DropDownListBox 안의
item을 선택할 때 SelectItem을 이용한다.
그리기 object는 focus를 가질 수 없다. 따라서, 선,타원,직사각형,원형사각형의 SetFocus를
focus를 맞출수 없다.

◆ 예 제
lb_Actions.SetFocus()
// lb_Actions 의 첫item에 focus를 옮긴다.

--------------------------------------------------------------------------------------------------------

[ SetNull PowerScript Function ]

◆ 기 능
주어진 변수를 Data Type에 상관없이 NULL로 만든다.
◆ 문 법
SetNull ( anyvariable )

Parameter-----Description
---------------------------------------------------------
anyvariable---사용자가 null로 setting 하려는 변수


◆ 반환값
Integer, 성공하면 1을 Return 하고 실패하면 -1를 Return한다.

◆ 사용법
Database를 작성하기 전에 SetNull함수를 써서 Null변수를 지정하는 데 사용한다.
PowerBuilder는 변수를 Null로 초기화하기 않는다. 만약 변수를 선언하고 특정값들을 지정해 주지
않으면 default값으로 초기화되고 NULL값으로 초기화하려면
SetNull 함수를 사용한다.

◆ 예 제
SetNull( salary ) // salary를 null로 한다.

---------------------------------------------------------------------------------------------------

[ SetPointer PowerScript Function ]


◆ 기능
mouse pointer의 모양을 지정한다.

◆ 문 법
SetPoint ( type )

Parameter ==> type
Description ==> 원하는 포인터를 지정하는 열거 data type 포인터의 값.

Arrow!
Cross!
Beam!
HourGlass!
SizeNS!
SizeNEWS!
SizeWE!
SizeNWSE!
UpArrow!

◆ 반환값
Pointer 열거된 pointer의 type들을 바꾸고 저장해 준다

◆ 사용법
오랜시간 실행되면 스크립트의 처음에 모래시계가 display되도록 Setpointer를 이용한다.
화면을 종료 또는 화면을 바꿀때까지 pointer가 남아있도록 한다..
화면의 실행을 마칠때 포인터는 arrow로 자동적으로 바뀐다.
powerbuilder의 painter는 window, control, datawindow객체의 정의된 부분 넘어 움직일때
powerbuilder에 display 되도록 pointer의 모양을 정의한다.

◆ 예 제
SetPointer ( HoutGlass! ) // 모래시계 모양의 포인터로
pointer oldpointer // Declares a pointer variable
oldpointer = SetPointer (HourGlass!)
...... // performs some long activity
SetPointer (oldpointer)

--------------------------------------------------------------------------------------------------------

[ SetRow PowerScript Function ]


◆ 기 능
DataWindow control의 현재의 행을 설정한다.

◆ 적 용

데이터윈도우 컨트롤 및 자식데이타윈도우

◆ 문 법
데이터윈도우명.SetRow (row)

Parameter--------Description
------------------------------------------------------------
데이터윈도우명---데이터윈도우 컨트롤명이나 child 데이터윈도우는 현재의 행을 지정 할수 있다
행---------------행은 long형의 식별자를 가진다

◆ 반환값
integer-->리턴값이 1이면 성공 에러인 경우 -1을 리턴한다
만약 1보다 작거나 크다면 SetRow는 실패

◆ 사용법
SetRow는 커서를 현재의 행으로 이동시키지만 데이터윈도우콘트롤을 스크롤하진 않는다.
Event
SetRow는 다음의 이벤트들을 트리거할 수 있다.
#ItemChanged
#ItemError
#ItemFocusChanged
#RowFocusChanged
무한루프를 피하기위해서는 위의 이벤트들에서의 SetRow를 불러서는 안된다.

◆ 예 제
dw_employee.SetRow(15)
//dw_employee에서 현재행을 15로 설정한다.
dw_employee.SelectRow(0, FALSE)
//모든열이화면에서 강조되지않는다.
dw_employee.SetRow(15)
//현재행을 15로 설정하고 그것이 강조된다.
dw_employee.SelectRow(15, TRUE)
//15번째 행이 보이지않는다면, Row대신 ScrollToRow를 사용할 수 있다.

------------------------------------------------------------------------------------------------------------

[ SetSort PowerScript Function ]

◆ 기 능
데이터윈도우를 Sort하는 방법을 지정한다.

◆ 적 용
DataWindow control 과 child DataWindows

◆ 문 법
datawindowname.SetSort(format)

* datawindowname Sort기준 및 방법을 지정하고자하는 datawindow control 이나 childDataWindow명
* format 해당 datawindow에대해 sort방법을 유효하도록 하는 값을 가진 문자열. 이표현은 칼럼명과 번호를 갖는다.
칼럼번호는 파운드 기호(#)다음에 온다.
만일 format이 Null이면 이용자가 Sort방법을 입력하도록 해야된다.

◆ 반환값
Integer. 성공한 경우 1, 실패하면 -1을 리턴한다.

◆ 사용법
데이터윈도우 오브젝트는 정의의 한부분으로서 특정한 소트방법을 갖을 수 있다. 데이터윈도
우에 새로운 소트방법을 제공하기위해 SetSort를 중복정의할 수 있다.

소트순서에대한 문법-------- 예제
columnname order---------"emp_lname A" "emp_lnameA, dept_id D"
#columnnumber order------"#3 A"

위의 테이블은 칼럼에대한 정렬방법을 기술한 하나의 형식으로서 이용자는 칼럼을 칼럼명과 번
호로 지정할 수 있다. 정렬순서의 A는 오름차순, D는 내림차순을 의미한다. 부가적인 sort를 지
정할 수 있다. 각각의 지정된 칼럼은 콤마( , )로 구분한다.
이용자가 정렬방법을 지정하기위해선, SetSort 함수값이 널스트링이 되어야 한다.

◆ 예 제
dw_employee데이타 윈도우에 대한 정렬방법을 지정한다. emp_status는 오름차순으로
emp_salary는 내림차순으로 정렬한다.
dw_employee.SetSort("emp_status A, emp_salary D")

dw_employee데이타 윈도우에서 emp_status는 첫 번째 컬럼이고 emp_salary는 다섯 번째 컬럼
이라면, 아래 문장은 위에 SetSort문과 같다.
dw_employee.SetSort("#1 A, #2 D")

아래의 예는 status컬럼은 오름차순으로, salary컬럼은 내림차순으로 정렬하기위해 소트방법을
정의한 것이다. 데이터윈도우 dw_emp에 대해 정렬방법을 지정한 후에 dw_emp를 sort한다.
string newsort
newsort = "emp_status A, emp_salary D"
dw_emp.SetSort(newsort)
dw_emp.Sort( )

반응형