PowerBuilder 기능예제
출처 : 한다의 파워빌더
제목 : datawindow의 column 색깔 표현
==> datawindow/Modify datawindow / column click(전체선택) / 속성 / font메뉴
/ background color / expression! 빨간색 icon선택/ expression! 에 기술
/ if (getrow() = currentrow(), RGB(255,255,128), RGB(255,255,255))
/ ok click --> 하고 나오면 아이콘 색깔이 연두색(노란색)으로 바뀌어 있음.
<< 객체찾기<?xml:namespace prefix = o /><?xml:namespace prefix = o />
==> singlienedit box를 속성에서 visible check를 안하면 안보임
안보일때 메뉴/design / show invisible을 check하면 보임.
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 (<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /> | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | IMPORT! | 작성자 | 한단 | |
==> excel 화일을 파워빌더를 이용하여 db에 입력하기
설명 : 1. 엑셀을 실행시키고, data를 입력한다./ 숫자를 입력할 때는 fuction 부분에서 
          single quation 를 사용하여 문자로 인식하게 한다. / 파일을 저장할 때 (save as ...)
          / db II-III file의 파일 형식으로 저장.(파워빌더에서 불러오려면)
             2. create table
             3. 파워빌더에서 database를 실행시킴/ tables를 클릭/ 저장할 테이블 선택 / 오른쪽 마우스 클릭
               / Edit data/grid /   밑에 columne들이 나타나면 한 번 클릭해주고
               / 메뉴/rows/import!/select import! file/ 파일형식 클릭/
               엑셀로 저장한 db II-III file을 찾아 열기 클릭.
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | SetFocus( )의 변경 | 작성자 | 한단 | |
==> SetFocus( ) 주어진 윈도우 또는 오브젝트로 포커스를 변경하는 기능을 수행한다.
    파워빌더의 오브젝트.SetFocus( )와 유사하다.  
Global External Function:
SUBROUTINE SetFocus(long objhandle) LIBRARY "User32.dll"
Script:
SetFocus(handle(sle_1))  // This function gets the handle from PB.
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | WinExec( ) | 작성자 | 한단 | |
==>이 함수는 주어진 파일명(파일의 경로 포함)을 O/S 트리거에게 전달하며 O/S트리거는 
주어진 파일을 실행한후 그 결과를 Return한다. 파워빌더에서는 RUN() 함수를 사용하면 된다.
(i.e. Run("c:\windows\calc.exe")  
Global External Function:
FUNCTION uint WinExec(ref string filename, uint wstyle) LIBRARY "kernel32.dll"
Script:
string ls_filename
uint rtn, wstyle
ls_filename = "c:\windows\calc.exe"  //계산기
wstyle = 1
rtn = WinExec(ls_filename, wstyle)
Messagebox("Return Code", string(rtn))
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | 날짜나오게 하기 & 날짜로 조회할때 data 얻기 | 작성자 | 한단 | |
==>  edit mask에 날짜 나타나게 
     editmask/속성/mask메뉴/mask : xxxx.xx 
                            maskdatatype : stringmask!
             select TO_CHAR(ADD_MONTHS(SYSDATE, -1),'yyyymm')    
             into :em_year.text   
             from dual;
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | pb에서 sql 실행시키는 방법 | 작성자 | 한단 | |
==> 메뉴/database/view/interactive SQL click/ 밑에 창이 뜸 
    select * from tab; 작성하고 /위 메뉴 execute click
 
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | check in & check out 활용 | 작성자 | 한단 | |
---------------------------------------------------------------------------
* check in & check out 활용
---------------------------------------------------------------------------
1. 설명
 위의 기능은 여러명이서 S/W를 개발할때 버젼관리 기능의 하나입니다.
파빌 7.0에서는 상단 메뉴의 'SOURCE'를 클릭하면 바로밑에 'CONNECT'라는것이 있습니다. 
그것을 선택하여 접속을 해주면, CHACK IN, CHACK OUT 기능을 모두 사용할 
수 있습니다. 그리고 접속을 종료하면 해당 기능들은 모두 사용불가로 변합니다. 
2.설정 방법
 1) 메뉴에서 source에서 connect 를 클릭하면 
 2) 조그만 팝업창이 뜨고 
 3) 거기서 [pb native]를 선택하고 
 4) ok 버튼 클릭
 5) [set current user id] 팝업창이 뜨면 
 6) 아이디 (example : 1111)를 입력하고 엔터
 7) check out 걸 창을 선택 
 8) 마우스 오른쪽 클릭 
 9) 메뉴 check out 선택
10) [check out library entries] 창이 뜨고
11) check out할 창이 있는 라이브러리와 다른 라이브러리를 선택
12) 창옆에 check out 표시가 나타남
3. 해제
 1) source 메뉴에서
 2) clear check out status 를 선택
 3) 해제
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | 단축키  | 작성자 | 한단 | |
==> ctrl + tab : 창의 이동(마우스가 창에 있어야)
               속성창에 cursor 가 있으면 tab menu 이동 선택
    tab : 속성창에서 속성들의 선택,, 아래방향
shift + tab : 위 방향
ctrl + W : window close
ctrl + Q : 파워빌더 종료
ctrl + R : 실행
ctrl + F : 찾기  ,, ctrl + G : 다음 찾기
ctrl + H : replace
ctrl + L : 컴파일
ctrl + F : 찾기
shift + F10 : 라이브러리
shift + F1 : 블럭설정되어 있는 항목 도움말보기
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | ODBC 설정방법 | 작성자 | 한단 | |
1) 어려운 방법
제목 : 오라클과 파워빌더 연결(ODBC로 사용)
1. 유저 생성
 sqlplus를 실행을 시킨다(system/manager). -->  create user를 하는데 명령어는 create user bae identified by bae ;   (처음 bae는 유저명, 나중 bae는 패스워드)  --> 권한부여,  grant dba to bae ;
---> exit 를 실행시키고 빠져 나온다.
2. oralce net8 easy config 에서 환경설정
시작/프로그램/oracle for  windows 95/oracle net8easy config를 실행시킨다.  ---> choose action의 라디오 버튼을 add/new service를 선택 -->  choose service name에 bae를 입력 , 다음  클릭  --> baqueath(local database)를 선택,  다음을 클릭 -->다음 클릭 --> database sid :ORCL 상태에서 다음을 클릭 --> test service 를 클릭 -->  user id와 password에 system/manager를 입력하고 text함 
위 사항은 같고 --> user id와 password에 bae/bae(사용할 db)를 입력하고 text함 ....
  
3.데이터베이스 원본 만들기
설정  -->  제어판  -->  ODBC 데이터원본 click   -->
   ⓐ 사용자 DNS tab  ----> 추가 ---> oracle ODBC Driver 선택  ---> 마침 ---> oracle8 ODBC driver setup 창이 뜬다.  거기에서 data source name 에  bae ,    service name 에 bae ,       userid 에  bae 를 입력하 고  ok 클릭.
  ⓑ 시스템 DNS tab  ----> 추가 --> oracle ODBC Driver 선택  ---> 마침 ---> oracle8 ODBC driver setup 창이 뜬다.  거기에서 data source name 에  bae ,    service name 에 bae ,       userid 에  bae 를 입력하 고  ok 클릭.
  ⓒ 파일 DNS tab  ----> 추가 --> oracle odbc driver 선택 --> 다음 클릭 --> 찾아보기 클릭  --> Data Sources 에 파일이름을  bae로 입력하고 저장 ---> 마침 클릭 --> oracle8 odbc driver connect  --> service  name : bae
                                                                           user name       : bae
                                                                      password       : bae 를 입력하고 ok 클릭 하면 생성이 된다.
4. 파워빌더에서 만든 bae database에 연결...
주의) 처음으로 ODBC와 연결을 하려면 system/manager로 들어갔다가 나와야 한다.
ⓐ 파워빌더 실행 --> batabase를 클릭 --> installed database interfaces메뉴에서 O84 Oracle 8.0.4/8.0.5 를 클릭 --> 오른쪽 마우스 클릭 --> new profile을 클릭 --> profile name : 아무이름이나 (or korea) bae 로 입력
      Login ID : system
       Password : manager 로 입력하고 apply 클릭 하면 생성이 된다.
오른쪽 마우스 클릭 하여 connect 한다.  
그러면 파워빌더에서 사용할 테이블을 생성하기 위하여 5개의 테이블들이 system/manager에 들어가게 됨.  ---> sqlplus를 실행하여 5개의 테이블이 생성이 되었는지 확인한다. select * from tab; 
 ⓑ 파워빌더 실행 --> batabase를 클릭 --> installed database interfaces메뉴에서 O84 Oracle 8.0.4/8.0.5 를 클릭 --> 오른쪽 마우스 클릭 --> new profile을 클릭 --> profile name : bae 로 입력
      Login ID : bae
       Password : bae 로 입력하고 apply 클릭 하면 생성이 된다.
오른쪽 마우스 클릭 하여 connect 한다.  
                                                                  
5. application open event에 preview내용을 그대로 copy...............
  
2) 다른 쉬운 방법
제목 : 오라클과 파워빌더 연결(ODBC로 사용)
1. 유저 생성
시작/프로그램/oracle8 personal edition/oralce navigator를 실행 ---> oracle8 presonal edition를 클릭  -->local batabase를 클릭 --> user에서 오른쪽 마우스 클릭 ,  new를 선택하여 bae를 만듬.
2. oralce net8 easy config 에서 환경설정
시작/프로그램/oracle for  windows 95/oracle net8easy config를 실행시킨다.  ---> choose action의 라디오 버튼을 add/new service를 선택 -->  choose service name에 bae를 입력 , 다음  클릭  --> baqueath(local database)를 선택,  다음을 클릭 -->다음 클릭 --> database sid :ORCL 상태에서 다음을 클릭 --> test service 를 클릭 -->  user id와 password에 system/manager를 입력하고 text함 
위 사항은 같고 --> user id와 password에 bae/bae(사용할 db)를 입력하고 text함 ....
 
3. 파워빌더에서 만든 bae database에 연결...
주의) 처음으로 ODBC와 연결을 하려면 system/manager로 들어갔다가 나와야 한다.
ⓐ 파워빌더 실행 --> batabase를 클릭 --> installed database interfaces메뉴에서 O84 Oracle 8.0.4/8.0.5 를 클릭 --> 오른쪽 마우스 클릭 --> new profile을 클릭 --> profile name : 아무이름이나 (or korea) bae 로 입력
      Login ID : system
       Password : manager 로 입력하고 apply 클릭 하면 생성이 된다.
오른쪽 마우스 클릭 하여 connect 한다.  
그러면 파워빌더에서 사용할 테이블을 생성하기 위하여 5개의 테이블들이 system/manager에 들어가게 됨.  ---> sqlplus를 실행(system/manager)하여 5개의 테이블이 생성이 되었는지 확인한다. select * from tab; 
 ⓑ 파워빌더 실행 --> batabase를 클릭 --> installed database interfaces메뉴에서 O84 Oracle 8.0.4/8.0.5 를 클릭 --> 오른쪽 마우스 클릭 --> new profile을 클릭 --> profile name : bae 로 입력
      Login ID : bae
       Password : bae 로 입력하고 apply 클릭 하면 생성이 된다.
오른쪽 마우스 클릭 하여 connect 한다.  
                                                                  
4. application open event에 preview내용을 그대로 copy...............
  
| 시스템 명 | LOGISTEC-LIS | 한단의 파워빌더 ( | (주)handanCorporation | |
| 분     류 | 파빌기능 | 작성일 |  | |
| 제     목 | clipboard [클립보드, 클립판] | 작성자 | 한단 | |
윈도우를 사용하는 시스템에서 프로그램과 프로그램 사이의 정보 교환을 위하여 
사용되는 특별한 형태의 기억 장치. 즉, 프로그램에서는 자신이 가지고 있는 데이터의 
일부를 클립보드에 저장할 수 있다. 또한 프로그램에서는 클립보드에 저장되어 있는 
데이터를 읽어와서 자신의 데이터로 사용할 수 있다. 따라서 프로그램에서는 클립보드를
사용하여 데이터의 위치를 이동시킬 수도 있고, 다른 프로그램에 전달할 수도 있다.
[출처] 파워빌더 기능예제 (다우빌더) |작성자 어린왕자