PowerBUilder 함수 정리

2017. 1. 25. 14:53IT/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


 

반응형