PowerBUilder 함수 정리
파워빌더로 시스템을 운영중입니다. 함수 찾아볼때 편하게 이용하려고 퍼온글입니다. 참고하시면 좋을 것 같습니다.
[출처] IT.DevInfo ∽ 힘든 IT개발자들의 즐거운 공유(ITDI.co.kr) - http://wss02.ivyro.net/onuri/bbs/board.php?bo_table=02_2&wr_id=95
1. 배열(Array)처리 함수
LowerBound : 지정한 배열의 하위 경계
UpperBound : 지정한 배열의 상위 경계
2. Bolb관련 함수
Blob : 텍스트 데이터를 Blob 데이터로 변환 또는 복사
BlobEdit : PB가 지원하는 데이터를 Blob변수로 복사
BlobMid : Blob 데이터 문자열에서 N번째 문자를 반환
Len : 문자열의 길이
3. 데이터형 검사 및 변환 함수
Char : blob,정수,문자열을 문자로 바꿔서 반환
Dec : 문자열의 내용을 십진수로 바꿔서 반환
Double : 문자열의 내용을 Double로 바꿔서 반환
Integer : 문자열의 내용을 정수로 바꿔서 반환
Long : 문자열의 내용을 long으로 바꿔서 반환
Real : 문자열의 내용을 실수로 바꿔서 반환
Date : 데이터베이스로부터 읽은 DateTime값에서 Date부분만 빼온다.
DateTime : Date나 Time을 DateTime 값으로 변환한다.
IsDate : 지정한 문자열이 유효한 Date값을 지녔는지 검사한다.
IsNull : 넘어온 인자가 NULL인지 검사한다.
IsNumber : 지정한 문자열이 숫자값을 지녔는지 검사한다.
IsTime : 지정한 문자열이 유효한 Time값을 지녔는지 검사한다.
String : 지정한 형식으로 문자열을 얻는다.
Time : 데이터베이스로부터 읽은 DateTime값에서 Time부분만 빼온다.
4. 날짜,요일,시간 처리 함수
Day : 일자를 구한다(1에서 31 사이의 정수)
DayName : 주간의 요일명을 구한다.
DayNumber : 주간의 요일을 숫자로 표현한다.(예를들면 일요일은1, 목요일은 5)
DaysAfter : 지정한 날짜에 n일전,후를 구한다.
Hour : 주어진 시간의 시 값을 구한다.
Minute : 주어진 시간의 분 값을 구한다.
Month : 주어진 날짜의 월 값을 구한다.(1에서 12까지)
Now : 클라이언트의 시스템 시간을 구한다.
RelativeDate:주어진 날짜를 기준으로 n일 후 날짜를 구한다.
RelativeTime:주어진 시간을 기준으로 n초 후 시간을 구한다.
Second : 주어진 시간의 초 값을 구한다.
Today : 클라이언트의 현재 날짜를 구한다.
Year : 주어진 날짜의 년 값을 구한다.(1000에서 3000년까지임)
5.DDE클라이언트 함수
CloseChannel:OpenChannel함수로 열린 DDE서버 어플리케이션의 채널을 닫는다.
ExecRemote : 서버 어플리케이션에게 명령 실행을 요구한다.
GetDataDDE : 연결된 서버 어플리케이션으로부터 새로운 데이터를 받아온다.
GetDataDDEOrigin:연결된 서버 어플리케이션으로부터 원래의 데이터를 받아온다.
GetRemote : 서버 어플리케이션에게 데이터를 요구한다.
OpenChannel: DDE서버 어플리케이션을 연다.
RespondRemote:서버에게 명령 또는 데이터가 클라이언트에게 받아들여졌는지를 알려준
다.
SetRemote : 서버 어플리케이션에게 지정한 값을 설정하도록 한다.
StartHotLink:서버 어플리케이션과의 연결을 시작한다.
StopHotLink: 서버 어플리케이션과의 연결을 종료한다.
6. DDE서버 함수
GetCommandDDE: 클라이언트 어플리케이션이 보낸 명령을 구한다.
GetCommandDDEOrigin:어떤 클라이언트 어플리케이션이 명령을 보냈는지 구한다.
GetDataDDE : 클라이언트 어플리케이션이 보낸 데이터를 구한다.
GetDataDDEOrigin:어떤 클라이언트 어플리케이션이 데이터를 보냈는지 구한다.
RespondRemote:클라이언트에게 명령 또는 데이터가 서버에게 받아들여졌는지를 알려준
다.
SetDataDDE : 클라이언트 어플리케이션에게 데이터를 보낸다.
StartServerDDE:파워빌더를 서버로 동작하게 한다.
StopServerDDE:파워빌더가 서버로 동작하는 것을 중지한다.
7. 파일처리 함수
FileClose : 파일 닫기
FileDelete : 파일 삭제
FileExists : 파일 존재 유/무
FileLength : 파일 길이
FileOpen : 파일 열기
FileRead : 파일 읽기
FileSeek : 파일 내 위치 이동
FileWrite : 파일에 쓰기
GetFileOpenName:파일 열기 공통 다이얼로그 열기
GetFileSaveName:파일 저장 공통 다이얼로그 열기
8. 라이브러리 함수
LibraryCreate:라이브러리 생성
LibraryDelete:라이브러리 삭제
LibrarDirectory:pb라이브러리 파일의 모든 오브젝트의 리스트를 구한다.
LibraryExport:라이브러리 파일의 모든 오브젝트를 Export한다.
Library Import!:지정한 라이브러리 파일에서 오브젝트를 Import!한다.
9.MAPI함수
mailAddress :메일 메세지에 주소를 주거나 주소 리스트를 보여준다.
mailDELETEMessage :메일 메시지를 지운다.
mailGetMessages :메지시 id를 얻어온다.
mailHandle :내부 메일 시스템 핸들을 얻어온다.
mailLogOff :메세징 시스템과의 세션을 끊는다.
mailLogOn :메세징 시스템과의 세션을 시작한다.
mailReadMessage :메일 메시지를 읽는다.
mailRecipientDetails:지정된 수취인의 주소 정보를 보여준다.
mailResolveRecipient:불분명한 수취인 명을 결정한다.
mailSaveMessage :사용자 수신함에 새로운 메시지를 생성하거나 기존에 있는 메시
지를 대체한다.
mailSend :메일 메시지를 보낸다.
10. 수치 처리 함수
Abs : 수치의 절대값을 얻는다.
Ceiling : 지정한 수보다 크거나 같은 최소 정수를 구한다.
Cos : 주어진 각도의 코사인 값을 구한다.
Exp : e를 Number만큼 거듭제곱한 값을 구한다.(e=2.71828182845904)
Fact : 계승값을 구한다. Number의 계승값은 1*2*3*...* Number이다.
Int : 소수점 이하를 버리고 가장 가까운 정수로 변환한다.
Log : 지정 숫자의 자연로그값을 구한다.
LogTen : 지정한 숫자에 대해 밑이 10인 로그값을 구한다.
Max : 두 수 중 큰 수를 구한다.
Min : 두 수 중 작은 수를 구한다.
Mod : 두 수를 나눈 나머지를 구한다.
Pi : 3.14159265358979를 구한다.
Rand : 난수를 구한다.
Randomize : 난수 발생기를 초기화한다.
Round : 숫자를 지정한 자릿수로 반올림한다.
Sign : 숫자의 부호를 결정한다. Number가 양수이면 1을 표시해주고 0이면 0,
음수이면 -1을 표시한다.
Sin : 주어진 각도의 사인 값을 구한다.
Sqrt : 양의 제곱근을 구한다.
Tan : 주어진 각도의 탄젠트 값을 구한다.
Truncate : 숫자의 소수점 이하를 버리고 정수로 변환한다.
11. 출력(Print)함수
Print : 현재 글꼴로 문자열을 인쇄한다.
PrintBitmap: 지정한 인쇄공간에 비트맵 이미지를 인쇄한다.
PrintCancel: 인쇄를 취소한다.
PrintClose : 현재 페이지를 프린터에 보내고 인쇄를 멈춘다.
PrintDefineFont:인쇄작업시 폰트를 정의한다. 파워빌더는 각각의 인쇄 작업에 대해 8
가지 폰트를 제공한다.
PrintLine : 지정한 위치에 지정한 굵기로 타원을 그린다.
PrintOpen : 현재 페이지를 프린터에 보내고 새로운 페이지를 셋한다.
PrintOval : 지정한 위치에 지정한 굵기로 타원을 그린다.
PrintPage : 지정한 위치에 지정한 굵기로 둥근 모서리의 사각형을 그린다.
PrintRect : 지정한 위치에 지정한 굵기로 사각형을 그린다.
PrintRouneRect:지정한 위치에 지정한 굵기로 둥근 모서리의 사각형을 그린다.
PrintSend :지정한 문자열을 프린터에게 보낸다.
PrintSetFont:현재 인쇄 작업에 대한 글꼴을 지정한다.
PrintSetSpacing:라인간 너비를 지정한다.
PrintSetup : 프린터 설정 다이얼로그 박스를 부른다.
PrintText : 지정한 위치에 지정한 문자를 인쇄한다.
PrintWidth : 현재 글꼴에서 지정된 문자열의 너비를 구한다.
PrintX : 커서의 X좌표를 구한다.
PtintY : 커서의 Y좌표를 구한다.
12. 문자열 처리 함수
Asc : 문자열의 첫번째 문자의 ASCII값을 구한다.
Char : 주어진 ASCII값에 해당하는 문자를 구한다.
Fill : 지정한 문자를 반복시켜서 문자열을 만든다.
Left : 문자열의 시작부터 지정한 수의 문자를 읽어온다.
LeftTrim : 문자열의 시작에 있는 공백을 없앤다.
Len : 문자열의 길이를 구한다.
Lower : 주어진 문자열 내의 대문자를 소문자로 고친다.
Mid : 주어진 문자열에서 시작 위치와 끝 위치를 지정해 문자열의
일정 부분만을 구한다.
Pos : 다른 문자열에서 주어진 문자열의 위치를 찾는다.
Replace : 문자열의 일부를 다른 문자열로 바꾼다.
Right : 문자열의 끝에서 주어진 수의 문자를 얻어온다.
RightTrim : 문자열의 끝에 있는 공백을 없앤다.
Space : 지정한 길이로 공백 문자열을 얻는다.
Trim : 문자열의 시작과 끝의 공백을 없앤다.
Upper : 지정한 문자열 내의 소문자를 대문자로 고친다.
13. 시스템 및 환경 함수(System and Environment)
Clipboard : 윈도우의 클립보드의 내용을 얻는다.
GetApplication:현재 어플리케이션의 핸들을 구한다.
CommandParm: 어플리케이션 실행시 지정된 파라미터가 있을 경우 그값을 구한다.
DoScript : 애플 스크립트(AppleScript)를 실행한다.(매킨토시 버전에만 해당)
GetEnvironment:시스템의 운영체제와 프로세서 등과 같은 정보를 얻는다.
Handle : Window SDK함수를 부르기 위해 사용한다.
Post : 지정한 윈도우에 대한 메시지를 메시지 큐에 마지막에 삽입한다.
ProfileInt : 지정한 프로파일에서 숫자값을 얻어온다.
ProgileString:지정한 프로파일에서 문자열을 얻어온다.
Restart : 모든 스크립트의 실행을 중지하고, 모든 윈도우를 닫으며 데이터베이스
에
Commit한후 연결을 끊고 다시 어플리케이션을 실행시킨다.
Run : 지정한 어플리케이션을 실행시킨다.
Send : 지정한 윈도우에 메시지를 순차적으로 보낸다.
SetProfileString:지정한 프로파일 값을 저장한다.
ShowHelp : 윈도우 3.x에 있는 도움말(Help)파일을 읽어 파워빌더 어플리케이션에서
사용할 수 있다.
SignalError: 어플리케이션 레벨에서의 시스템 에러를 발생한다.
Yield : 반복문 안에서 다른 오브젝트나 어플리케이션의 메시지가 발생
됐는지를 체크할수 있게 한다.
14. 시간처리 함수
CPU : 현재 실행중인 PB어플리케이션 프로그램의 시작 시간부터 현재까지의
CPU시간을 구해준다.
Idle : 사용자가 아무런 입력이 없이 지정한 시간이 흐르면 Idle이벤트
발생시킨다.
Timer : 지정한 윈도우에 일정한 간격의 타이머를 지정하여 Timer이벤트를
발생시킨다.
15. 그밖의 함수
Beep : 정해진 시간(초단위)동안 경고음을 발생한다.
DBHandle : DBMS의 핸들을 반환한다.
IsValid : 지정한 윈도우가 열려있는지 검사한다.
KeyDown : 사용자가 특정한 키를 눌렀는가 검사한다.
MessageBox : 메시지 박스를 출력한다.
PixelsToUnits: 픽셀(Pixel)을 PB의 Unit로 바꾼다.
RGB : 특정 색상을 표현하는 Long형 값을 반환한다.
SetNull : 변수의 유형에 상관없이 변수를 Null로 지정한다.
SetPointer : 마우스 포인터를 지정한 모양으로 바꾼다.
TypeOf : 오브젝트의 형을 결정한다. 예를들면 CheckBox, Picture, RadioButton
등이다.
UnitsToPixels: PB의 Unit를 픽셀(Pixel)로 바꾼다.
1. UpperBound(배열명,{배열차원}) : 가끔 사용
(1) 개념 : 배열의 가장높은 경계값을 알아낸다.
Option으로 배열의 차원을 지정할 수 있으며 Default 차원은 1차원이다.
(2) Return : integer(배열의 가장높은 경계값)
(3) 예제
가)
integer li_number[7] , li_return
li_return = UpperBound(li_number) // li_return 은 7이 된다.
나)
string ls_name[5,6] integer li_return
li_return = UpperBound(ls_name,1) // li_return 은 5가 된다
li_return = UpperBound(ls_name,2) // li_return 은 6이 된다
(4) 메모 : 가변길이 선언 배열에서 ( ls_text[] )
위의 함수를 사용하여 0이 Return되면 배열이 아직 현 메모리에 적재되지 않았음을
의미한다.
(5) 상대함수 : LowerBound()
2. IsDate(string) : 자주 사용
(1) 개념 : 특정한 String이 정확한 Date인지를 확인한다.
(2) Return : Boolean ( Date가 맞으면 True 아니면 False이다. )
(3) 예제 boolean lb_check
lb_check = IsDate("1996/05/22") // lb_check 는 True이다
lb_check = IsDate("1996/00/22") // lb_check 는 False 이다
(4) 메모 : 특정한 String등을 Date로 변환시키기 직전에 많이 사용한다.
(5) 유사함수 : Isnull() , Isnumber() , Istime() , Isvalid()
3. Date(datetime) , : 자주사용 Date(string) , Date(year,month,day)
(1) 개념 : datetime , string , 년월일의 integer값을 Date 변수타입으로 변환한
다
(2) Return : Date ( Valid 한 Date가 아닐때는 1900-01-01을 Return한다 )
(3) 예제 datetime ldt_this date ld_new
ld_new = Date(ldt_this)
IF ld_new = Date("1900-01-01") THEN
Messagebox("ERROR",'정확한 일자가 아닙니다 !!')
return
END IF
ld_new = Date("1996/08/15") ld_new = Date(1999,11,23)
(4) 유사함수 : DateTime()
4. Control명.ClassName() : 가끔사용 ClassName(변수명)
(1) 개념 : 특정한 Object의 Class명을 String으로 알아낸다.
(2) Return : String ( Error 발생시에는 empty string "" 이 반환된다)
(3) 예제
가)
string ls_name
ls_name = Parent.ClassName()
IF ls_name = "w_insa001u" THEN
sle_1.text = ls_name
END IF
// 어떤 Object의 Dragdrop Event 에서
string ls_name dragobject ldr_what
ldr_what = DraggedObject() ls_name = ldr_what.ClassName()
IF ls_name = 'em_delete' THEN
ldr_what.Drag(end!) Messagebox("Drag Object",'Drag된 Object 는 '& + ls
_name + '입니다')
END IF
나)
long ll_qty string ls_class
ls_class = ClassName(ll_qty) // ls_class 는 'long' 을 받아온다
ls_class = ClassName(this) // ls_class 는 현 Object 의 Class 명칭을 받아
온다
5. Object명.PostEvent(event명) : 자주사용
(1) 개념 : Script가 쓰여진 현 Event가 끝난뒤 특정 Object의 Event를 수행하게
한다.
위의 function은 script가 쓰여진 위치에 관계없음으로 그 이후에 어떤 scrip
가 있다면
그것을 모두 수행한후에 실행된다.
(2) Return : Boolean (성공하면 true , event가 없거나 script가 없으면 false)
(3) 예제
cb_close.PostEvent(clicked!) // object에 기본적으로 있는 event일때
cb_close.PostEvent("ue_keydown") // User가 정의한 event일때
6. Object명.TriggerEvent(event명) : 매우 자주사용
(1) 개념 : 현 Event에서 어떤 특정Object의 특정Event를 즉각적 수행하고 돌아온
다.
Script가 쓰여진 위치가 중요하다
(2) Return : Boolean (성공하면 true , event가 없거나 script가 없으면 false)
(3) 예제
cb_check.TriggerEvent(clicked!) // object에 기본적으로 있는 event일때
cb_check.TriggerEvent("ue_check") // User가 정의한 event일때
(4) 메모 : 어떤 Event의 Script를 수행한다는 면에서는 Postevent와 Triggerevent
는 동일하며
두 이벤트 중 어떤것을 써야할지의 선택기준은 현재의 Event가 수행되고 난뒤
어떤 Event를 이어서 수행시키느냐 (Postevent) , 즉각적으로 어떤 Event를
수행하느냐 (Triggerevent) 의 차이이다.
[출처] IT.DevInfo ∽ 힘든 IT개발자들의 즐거운 공유(ITDI.co.kr) - http://wss02.ivyro.net/onuri/bbs/board.php?bo_table=02_2&wr_id=95