728x90

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( )

SetTabOrder PowerScript Function

기 능

객체들의 탭순서를 설정하여 데이터윈도우 내의 컨트롤의 커서방문순서를 변경한다. 어떤 객체가 탭순서에 들어가지 않게 하기를 원한다면(편집될 없는 필드 등의 객체), 객체의 순서를 0으로 설정하여Tab 번호를 0으로하면 커서가 방문하지 못한다

적 용

DataWindow control 과 child DataWindows

문 법

datawindowname.SetTabOrder(column, tabnumber)

*datawindowname 탭순서를 정하고자하는 DataWindow control과 child DataWindow명

*column 탭값을 할당한 칼럼. 칼럼은 칼럼번호(정수형)이거나 칼 럼명 (String)이 될 수 있다.

*tabnumber 탭순서번호(0 - 9999)가능. 탭순서가 0이되면, 읽기전용 이된다.

반환값

Integer. 성공인 경우 이전 TabOrder, 실패하면 -1을 리턴한다.

사용법

DataWindow 오브젝트에서 칼럼을 변경하고자 할 때 SetTabOrder 을 사용하는데 칼럼의 탭순서번호를 0으로 변경하면 읽기전용이되서 어떤 객체가 탭순서에 들어가지 못하게 된다.(편집될 수 없는 필드 등의 객체에서 사용.) 탭순서모드에서, 각 객체는 자신의 탭순서를 나타내는 정수 값을 가지고 표시되는데 탭순서는 런-타임에서 사용자가 탭 키를 누를 때 어느 객체가 선택될 것인지를 결정한다. 선택될 객체는 바로 다음 높은 탭 값을 가진 객체가 된다. 가장 높은 값의 객체가 선택된 후에, 탭 순서는 그 시리즈를 따라서 아래로 이동한다.

예 제

dw_Employee.SetTabOrder(4, 0)

데이터윈도우dw_Employee 4번째 칼럼을 읽기전용으로 탭순서를 변경하여 4번째 칼럼은 편집될 없는 필드가 된다.

integer OldTabNum

// OldTabNum에 이전 탭순서값을 준다.

OldTabNum = dw_employee.SetTabOrder(4, 0)

. . . . . //some processing

//컬럼4가 이전 탭순서값으로 리턴

dw_employee.SetTabOrder(4, OldTabNum)

SetTrans PowerScript Function

기 능

내부적으로 트랙잭션 오브젝트를 사용하여 DataWindow control 활성화시키며 데이터베이스와 통신을 하기위한 정보를 제공한다.

문 법

datawindowname.SetTrans ( transaction )

* datawindowname 사용자가 내부 트랜젝션 오브젝트의 값을 지정하고자 하 는 데이터윈도우 컨트롤 또는 자손데이터윈도우의 이름

* transaction 트랜젝션 오브젝트의 이름

반환값

Integer. 성공시 1을 반환. 실패시는 -1을 반환.

사용법

스크립트에 이 함수를 사용할 때 데이터윈도우는 자동적으로 connect disconnect 하는 내부적인 트랙잭션 오브젝트를 이용한다. 또한 connect, commit, disconnect 같은 SQL문을 쓰지 않으며 단지 retrieve 때에만 이용하게 된다. 효과적인 성능을 위해서는 settransobject함수를 사용하는 것이 바람직하다.

예 제

데이터베이스 타입과 패스워드를 바꾸는 예제

// Name the transaction object.

transaction emp_TransObj

// Create the transaction object.

emp_TransObj = CREATE transaction

// Fill the new object with the original values.

dw_employee.GetTrans(emp_TransObj)

// Change the database type.

emp_TransObj.DBMS ="Sybase"

// Change the password.

emp_TransObj.LogPass = "cam2"

// Put the revised values into the

dw_employee.SetTrans(emp_TransObj)

SetTransObject PowerScript Function

기 능

프로그래머의 특정 트랙잭션 오브젝트를 데이터윈도우에 적용시킬 경우 트랜잭션 오브젝트는 데이터베이스와 통신할 수 있는 정보를 제공한다.

문 법

datawindowname.SetTransObject ( transaction )

* datawindowname DataWindow control, child DataWindow의 이름

* transaction 트랜젝션 오브젝트의 이름

반환값

Integer. 성공시 1을 반환. 에러발생시는 -1을 반환.

사용법

프로그래머의 특정 트랜잭션 오브젝트는 데이터베이스 트랜젝션에 대해 많은 제어를 할 수 있게 해주며 응용 프로그램의 성능을 향상시킨다. SQL( CONNECT, COMMIT, and ROLLBACK) 사용하여 데이터베이스와 연결할 있게 해준다.

예 제

SQLCA를 사용하여 dw_employee 데이터윈도우를 데이터베이스와 연결하는 예제.

dw_employee.SetTransObject(SQLCA)

프로그래머가 정의한 트랜잭션 오브젝트를 사용하는 예제.

emp_TransObj = CREATE transaction

. . . // Assign values to the transaction object

dw_employee.SetTransObject(emp_TransObj)

ShareData PowerScript Function

기 능

ShareData 첫번째 데이타윈도우의 자료를 두번째 데이타윈도우에서 공유하여 사용하게 한다. DataWindow들간에 한 DataWindow 버퍼공유를 활성화한다. 처음 데이타윈도우에서는 SetTransObject()와 Retrieve()를 하여야 하나 둘째 데이타윈도우는 그것을 필요로하지 않는다.

적 용

DataWindow control과 child DataWindows.

문 법

dwprimary.ShareData( dwsecondary )

datawindowname.ShareDataOff ()

* dwprimary 데이터를 가지고있는 primary datawindow control명.

child DataWindow가 될 수도 있다.

* dwsecondary secondary DataWindow control명. 데이터를 공유한 다.

child DataWindow가 될 수도 있다.

반환값

Integer. 성공하면 1, 실패하면 -1을 리턴한다.

사용법

칼럼들은 DataWindow 오브젝트에서의 primary secondary DataWindow control 같다. 예를들어 SELECT문을 사용해서 DataWindow 오브젝트간에 데이터를 공유할 있다.

select dept_id from dept

select dept_id from dept where dept_id = 200

select dept_id from employee

사용자는 스크립트데이타 소스를 가진 DataWindow 오브젝트와 데이터를 공유할 있다. 그리고 칼럼은 dept_id 같은 칼럼으로 정의된다.

primary DataWindow와 secondary DataWindow control간에 데이터를 공유하기위해, 각 secondary DataWindow control들이 ShareData를 호출한다.

primary DataWindow와 secondary DataWindow에서 공유한 데이터를 반환하기위해 ShareDataOff 함수를 호출한다. primary DataWindow의 공유된 데이터가 반환되고, secondary DataWindow가 끊어지고 데이터가 사라진다. 그러나 secondary DataWindow control에서 공유한 데이터를 해제하면 primary DataWindow 나 다른 secondary DataWindow의 데이터에는 영향을 주지않는다.

예 제

프로그래머는 사용자가 검색된 동일데이타를 2부분으로 (View) 작성하도록 허용한다. 그리고 ShareData함수는 윈도우 Open 이벤트에대한 스크립트을 달성하는데 사용한다. 개의 데이터윈도우 오브젝트에대한 SELECT문은 같으나 dw_dept 데이터윈도우 오브젝트는 dw_employee에서 디스플레이된 5컬럼 dw_dept 데이터윈도우 오브젝트는 2 칼럼만 보여준다.

CONNECT USING SQLCA;

dw_employee.SetTransObject(SQLCA)

dw_employee.Retrieve ()

dw_employee.ShareData(dw_dept)

ShareDataOff PowerScript Function

기 능

ShareDataOff DataWindow들간의 DataWindow데이터 공유버퍼를 종료(해제)시킨다.

적 용

DataWindow control 과 child DataWindows

문 법

datawindowname.ShareDataOff( )

*datawindowname 데이터공유를 종료하고자하는

DataWindow control 과 child DataWindows

반환값

Integer 성공하면 1을, 실패하면 -1을 리턴한다.

사용법

하나이상의 DataWindow control primary DataWindow 데이터를 공유할 있다. 사용자가 secondary DataWindow에서 ShareDataoff 호출할 , 컨트롤은 이상 데이터를 포함하지않는다. 그러나 primary DataWindow 다른 secondary DataWindow control에는 영향을 미치지 않는다. primary DataWindow에서 ShareDataoff함수를 호출할 때는 모든 secondary DataWindow control 데이터공유는 해제, 종료된다.

예 제

데이터윈도우컨트롤간의 데이터를 공유하고 secondary DataWindow control중의 하나에대한 데이터 공유를 종료하는 문장이다.

CONNECT USING SQLCA;

dw_corp.SetTransObject(SQLCA)

dw_corp.Retrieve ()

dw_corp.ShareData(dw_emp)

dw_corp.ShareData(dw_dept)

....// Some processing

dw_emp.ShareDataOff()

Show PowerScript Function

◆ 기 능

object가 감춰져 있다면, object, control을 보이게 한다. 이미 object가 보이면, SHOW는 맨 위에 위치시킨다.

◆ 적 용

모든 object

◆ 문 법

objectname.Show()

Parameter Description

objectname object의 이름이나 나타내고 싶은 control

반환값

integer. 성공하면 1. 실패하면 -1을 리턴한다.

사용법

지정된 object open되지 않은 윈도우이면, 실행 error 일어난다.

Show함수는 dropdown 이나 cascading menu나 parent window 로 MDI frame을 가지고 있는 menu에 쓸수없다.

◆ 동일 문법

objectname. Visible = TRUE

다음 문장:

m_status.m_options.Visible = TRUE

은 아래 문장과 같다.

m_status.m_options.Show( )

◆ 예 제

m_status.m_options.Show( )

// menu m_status에서 m_options을 부르고 Menuitem을 보 이게 한다.

w_child.Show( )

// child window인 w_child를 보이게 한다.

Sort PowerScript Function

기 능

데이터윈도우 컨트롤의 현재 정렬방법을 사용하여 행을 Sort한다.

적 용

DataWindow control 과 child DataWindows

문 법

datawindowname.Sort( )

* datawindowname 이용자가 row정렬을 하고자하는 DataWindow control 과 childDataWindows명

반환값

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

사용법

해당 데이터윈도우에대한 현재의 Sort방법을 사용하여 Sort한다. SetSort함수를 호출하여 소트 방법을 정한 Sort함수를 사용하여 정렬한다. 만일 Sort함수를 호출하기전에 SetSort함수가 호출되지 않는다면 DataWindow 오브젝트에 지정된 소트방법을 이용하여 Sort한다.

Sort함수는 SetSort함수를 사용하여 Sort하는 방법을 변경한 후에 호출되어 Sort를 수행하는데 사용되고 이용자가 입력하거나 처리하여 데이터가 변경된 후에 사용한다.

Sorting 과 groups

데이터윈도우 오브젝트를 그룹으로 소트하기위해선 Sort 함수를 호출한 후에 GroupCalc함수를 호출한다.

예 제

dw_employee데이타윈도우의 1 컬럼은 오름차순으로, 2 컬럼은 내림차순으로 소트방법을 지정한후 그 행을 sort한다.

dw_employee.SetSort("#1 A, #2 D")

dw_employee.Sort( )

dw_depts데이타윈도우에서 부서명에의해 그룹짓고 employee name에의해 정렬할 때 사용하는 예이다. 만일 이용자가 여러 고용인들의 부서를 변경한다면, 다음의 커맨드로 sort 방법을 적용하므로서 각 그룹은 알파벳순으로 정렬되고 그 그룹에의해 row를 재정렬한다.

dw_depts.Sort( )

dw_depts.GroupCalc( )

아래 예는 정렬 기준이 null 정해졌기 때문에 파워빌더가 지정된 sort컬럼다이얼로그를 보여주도록 것이다.

string null_str

SetNull(null_str)

dw_main.SetSort(null_str)

dw_main.Sort( )

String PowerScript Function

기 능

string은 두가지 syntax를 갖는다.

Syntax1은 date, DateTime, numeric, time데이타를 설정된 포맷 마스크에 따라서 스트링형으로 포맷한다.

Syntax2는 blob을 string형으로 바꾼다.

문법 1

String (data, {format})

parameter Description

data 특화된 format형식의 문자열로 바꾸기 원하는 소스 데이

타로 date, DateTime, numeric, time, string데이타타입

이 올 수 있다.

format(optional) 데이타가 디스플레이 될 특정 마스크 형태의 문자열.

만약 변경될 데이타가 string 경우 반드시 format인자

가 필요하다.

format은 하나이상의 mask로 구성될 수 있는데, 세미콜

(;)으로 구별한다.

반환값 2

성공하면 설정된 format형식으로 데이타가 리턴, 데이타 타입과 format 형식이 다르면 ""( 문자열) 리턴한다.

문법 2

String( blob )

parameter Description

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

blob 스트링으로 바꾸고자하는 blob의 데이타 값

반환값 2

성공하면 blob값을 스트링으로 변환해서 리턴하고, 실패시 ""( 문자열) 리턴한다.

사용법 2

사용자가 format 방식을 지정하지 않으면 파워빌더는 디폴트 format 형식을 취해서 string으로 변환 리턴한다.

numeric데이타는 디폴트로 General 포맷형식이다.

스트링 데이타는 format 형식이 필요하다. 그렇지 않으면 함수가 작동하지 않는다.

date, DateTime, string, time 데이타는 하나 또는 두개의 포맷형식을 포함할 수 있다. 첫뻔째 마스크는 데이타를 위한 마스크이고, 두번째는 NULL값에 대한 포맷형식이다.

numeric 데이타는 네개까지 format 마스크를 가질수 있다. mask각각은 순서대로 양수, 음수, 제로, NULL에 대한 포맷형식이다.

format은 색깔설정을 포함할 수 있는데, Powerscript의 문자열에서는 효과가 없으나 DataWindow Painter에서 설정된 포맷으로 효과가 나타난다.

포맷방식이 데이타타입과 맞지 않으면, 파워빌더는 유사한 결과를 얻기위해 마스크를 적용하려고 노력한다.

또한 string 함수는 TriggetEvent PostEvent 호출된 후에 메세지 오브젝트로부터 문자열을 추출할때 사용할 있다.

예제 1

// 1998-01-31을 jan 31, 1998로 바꾼다.

String(1998-01-31, "mmm dd, yyyy")

// 1995-06-11을 6-11-95로 바꾼다.

Date order_date=1995-06-11

string date1

date1 = String(order_date, "m-d-yy")

// order_date가 NULL일 경우 'none'으로 바꿔준다.

Date order_date=1995-06-11

string date1

SetNull(order_date)

date1 = String(order_date, "m-d-yy;'none'")

// 1998-01-31, 06:08:00을 Jan 31, 1998 6 hrs and 8 min으로 바꾼다.

String(DateTime(1998-01-31, 06:08:00), &

'mmm dd, yyyy h "hrs and" m "min"')

// Today와 Now함수로부터 DateTime값을 얻어 6-11-95 8:06 pm:의 형태로 // 출력. 만약 NULL이면 'none'으로 리턴해준다.

DateTime sys_datetime

string datetime1

sys_datetime=DateTime(Today(), Now())

sle_date.text=String(sys_datetime, "m-d-yy h:mm am/pm;'none'")

// numeric값을 $5.00형태로 출력한다.

String(5,"$#,##0.00")

// nbr의 값이 양수면 xxx로 음수면 (xxx)로 0이면 ****로 NULL이면 empty // 로 리턴한다.

integer nbr=123

string string1

string1 = String(nbr,"0000;(000);****;empty")

// @는 하나의 문자를 가르킬 수 있다. 첫번째는 ABC를 A*B로 바꾸어주고 // 두번째는 ABC를 A-B-C로 바꾸어 출력한다.

String("ABC","@*@")

String("ABC","@-@-@")

// 08:06:04를 8:06:04 am으로 바꾸어준다.

String(08:06:04, " h:mm:ss am/pm")

예 제 2

// blob형의 ib_sblob인스턴스값을 string으로 바꾸어 sstr에 저장한다.

string sstr

sstr = String(ib_sblob)

// blob bb에서의 현재의 날짜와 test상태정보를 저장한다.

pos1은 상태문장의 시작위치이고, pos2는 종료위치이다.

Blobmid함수는 string으로 바뀐 상태문장의 sub-blob을 추출해서 sle_status에 저장한다.

blob {100} bb

long pos1,pos2

string test_status

date test_date

test_date=Today()

IF DayName(test_date) = "Wednesday" THEN &

test_status = "Coolant Test"

IF DayName(test_date) = "Thursday" THEN &

test_status = "Emissions Test"

// blob에서 데이타를 저장한다.

pos1=BlobEdit(bb, 1, test_date)

Pos2=BlobEdit(bb, pos1, test_status)

..... // 어떤 일을 하고 나서

// bb에 저장된 상태정보를 추출해서 디스플레이 한다.

sle_status.text = String( BlobMid(bb, pos1, pos2 - pos1 ))

Today PowerScript Function

◆ 기 능

시스템의 오늘 날짜와 클라이언트 환경의 현재의 시간을 가져온다.

◆ 문 법

Today()

◆ 반환값

Today() : Date. 현재 시스템의 날짜를 리턴한다.

◆ 사용법

Today(): 이 함수의 데이터 타입이 date임에도 불구하고, 현재의 시간 도 리턴할 수 있다. 이런 일은 Today()가 다른 함수의 인수로써 쓰이 고, 그 인수가 다른 형의 데이터 타입을 허락할 때 발생한다.

◆ 예

- Today() // 현재의 시스템 날짜를 리턴한다.

- IF Today() < 1995-04-15 THEN ....

// 현재의 시스템 날짜가 1995년 4월 15일 전이면, 어떤 문장을 수 행 하라는 문장.

- st_date.Text = String( Today(), "m/d/yy")

// 윈도우의 코너에 StaticText st_date에 저장된 현재의 날짜를 표 시한다.

- st_date.Text = String( Today(), "m/d/yy hh:mm")

// 현재의 날짜와 시간을 st_date에 표시한다.

TriggerEvent PowerScript Function

◆ 기 능

triggerevent는 event를 즉시 trigger 시킨다. 이 기법은 함수로 코드를 호출하는 것과 같다. 이벤트 스크립트는 clicked 이벤트의 모든 코드가 실행될 때까지 중지하고, 기다리고, 그리고 나서 계속한다. 중지하고 기다리기 때문에 동시성 호출로 언급된다.

문 법

objectname.TriggerEvent (event {, word, long })

objectname에는 연합된 event를 가지는 powerbuilder의 object나 control의 이름을 기입한다. event에는 Clicked!, Modified!, 또는 DoubleClicked! 등이 기입된다. word는 option이다. 긴 값은 시스템의 메시지 object의 wordparm 속성에 저장된다. long은 option이다. 긴 값이나 string은 시스템의 메시지 object의 longparm 속성에 저장된다. string이나 string 포인터를 지정할 때 그것은 longparm 속성에 저장된다. 따라서 string 함수에 접근할 수 있다.

반환값

리턴값은 Integer이다. 성공일 떼에는 1 리턴하고, 실패일 때에는 -1 리턴한다.

동일 문법

다음 두 문장의 결과는 같게 나타난다.

Send(Handle(Parent), 273, 0, Long(Handle(cb_OK), 0))

cb_OK.TriggerEvent(Clicked!)

사용법

TriggerEvent enumerated data type의 값 대신에 이벤트의 이름을 지정하고자 한다면 더블 쿼테이션 마크로 이름을 묶어야 한다.

word와 long 매개변수를 가진 이벤트 스크립트에 정보를 건넬 수 있다. 그 정보는 Message object에 저장되어 있다. 스크립트에서 정보에 접근하기 위해서 메시지 오브젝트의 WordParm과 LongParm 영역을 참조할 수 있다.

long에 대한 스트링을 지정했다면 format parameter로서 키워드 "address"를 가진 String 함수를 사용함으로써 트리거된 이벤트에 접근할 수 있다.

예 제

cb_OK라는 버튼의 Clicked 이벤트를 즉시 실행하기 위하여 다음과 같이 코드한다.

cb_OK.TriggerEvent(Clicked!)

parent window에서 사용자 정의의 cb_exit_request를 실행하기 위해서는 다음과 같이 코드한다.

Parent.TriggerEvent("cb_exit_request")

Trim PowerScript Function

기 능

주어진 문자열로부터 처음과 마지막의 공백을 제거한다.

문 법

Trim(string)

string은 leading and trailing의 space를 삭제하고 원하는 문자열을 반납한다.

반환값

리턴값은 string이다. space 삭제가 성공하면 복사문자열을 return하고 실패하면 ("") return한다.

예 제

Trim (" BABE RUTH ") // 이 문장은 BABE RUTH를 반납한다.

string emp_fname;

emp_fname = LeftTrim(sle_emp_fname.Text)

이 문장은 SingleLineEdit sle_emp_fname.text로부터 앞뒤의 spaces 삭제후 emp_fname 저장한다.

Uncheck PowerScript Function

기 능

dropdown 또는 cascading menu의 아이템에 있는 체크마크를 제거한다. 아이템의 체크된 attribute를 FALSE로 지정한다.

적 용

Menu objects에 있는 Menuitems

문 법

menuitem . uncheck ()

Parameter Description

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

menuitem 체크표시를 삭제하고자 하는 menuitem의 이름을 지정한다.

item menu baritem 아니라 반드시 dropdown이나

cascading menu 이어야 한다.

반환값

integer. 성공하면 1, 실패하면 -1을 리턴한다.

사용법

check와 동일.

uncheck를 호출하는 대신, 객체의 Checked 속성을 지정할 수 있다.

menuitem.Checked = False

, Menu_Appl.m_view.m_grid.checked = False 라는 문장은

Menu_Appl.m_view.m_grid.uncheck()와 같다.

예 제

IF m_appl.m_view.m_grid.checked = True THEN

m_appl.m_view.m_grid.uncheck()

ELSE m_appl.m_view.m_grid.check()

END IF

Update PowerScript Function

기 능

DataWindow의 변경된 내용으로 database를 갱신한다.database를 갱신하기 전에 현재 row와 colomn에 대한 AcceptText를 호출한다.

적 용

DataWindow control 및 자식 DataWindow.

문 법

DataWindowName.Updata({accept{,resetflag}})

Parameter Description

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

datawindowname database를 갱신할 때 사용할 정보를 포함하는

DataWindow의 이름

accept DataWindow control이 update를 수행하기전 AcceptTex를

(선택사항) 자동으로 수행할 것인지를 결정.

. TRUE: (default) AcceptText를 수행

. FALSE: AcceptText를 수행 않음

resetflag updateflags를 자동으로 reset 시킬것인지를 결정

(선택사항) . TRUE: (default) flags를 reset시킴

. FALSE: flags를 reset 시키지 않음

반환값

long. 정상적으로 수행되면1, 실패하면 -1을 return.

사용법

accept가 TRUE이면 data가 맞는지 확인 후 갱신된다.

Update함수를 실행전 SetTrans나 SetTransObject를 database연결에 이용해 야한다.

default로, 정상적으로 갱신 후 Update함수는 update flag을 고쳐쓴다.

resetflag이 FALSE일 경우에는 반드시 SetTransObject만을 사용한다.

하나의 DataWindow 있는 여러 table 갱신하고자 한다면 Modify 사용 한다.

하나의 transaction안에서 다중 DataWindow 갱신하고자 한다면 resetflag FALSE 놓는다.

Caution:Itemchanged event에서 Update함수를 호출하면, 무한루프에 빠지 지 않기 위해 반드시 accept를 FALSE로 놓아야한다.

Event

Update는 다음과 같은 event를 trigger한다.

.DBErrer

.SQLPreview

.UpdateEnd

.UpdateStart

AcceptText가 수행될 때 다음과 같은 event를 trigger한다.

.ItemChanged

.ItemErrer

예 제

다음 예제는 database 연결하고 SetTransObject DataWindow 대한 transaction object 기술하고,변경된 database 갱신한다.

CONNECT USING SQLCA;

dw_employee.SetTransobject(SQLCA)

. . .

dw_employee.Update()

다음 예제는 Update database 갱신하기전에 AcceptText 수행하지 않고 status flag 고쳐쓴다.

CONNECT USING SQLCA;

dw_employee.SetTransObject(SQLCA)

. . .

dw_employee.Update(FALSE, TRUE)

다음 예제는 Update함수가 수행된 COMMIT ROLLBACK 실행한다.

integer rtn

CONNECT using SQLCA;

dw_employee.SetTransObject(SQLCA)

rtn=dw_employee.Update()

if rtn = 1 then

COMMIT using SQLCA;

else

ROLLBACK using SQLCA;

end if

Year PowerScript Function

◆ 기 능

date형의 값에서 연도의 값을 취한다.

◆ 문 법

Year( date )

parameter Description

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

date Date형으로 부터 year를 가져온다.

반환값

Integer형이다. 성공하면, date형의 년도 부분에서 얻은 네자리 숫자로 된 정수를 리턴하고, 에러가 발생했을 경우 1900을 리턴한다. 만약 date형에 두자리 string으로 년도를 치환하면, Power Builder에서는 다음과 같이 세기를 선택한다. 만약 년도가 00과 49사이에 있으면, Power Builder는 처음 두 숫자를 20으로 취하고, 50과 99사이라면 Power Builder는 19를 취한다.

사용법

Power Builder는 연도수로 1000 부터 3000까지 사용한다.

데이터가 1950년도 이전날짜를 포함하고 있다면, Year함수나 다른 Power Builder 함수에서도 항상 4자리 숫자로 년도를 표현하는 것이 좋다.

예 제

// '1995' 를 리턴한다.

Year( 1995-01-31 )

728x90

'PowerBuilder' 카테고리의 다른 글

datawindow does not hava update capability  (0) 2012.07.29
SELECT ERROR: column lists do not match  (0) 2012.07.29
파워빌더 함수 3  (0) 2012.07.29
파워빌더 함수 2  (0) 2012.07.29
파워빌더 함수 1  (0) 2012.07.29

+ Recent posts