* Powerbuilder 10.5

이번 강의에서는 파워빌더(이하 파빌)을 이용해서 기초 중의 기초인 window를 하나 만들어 보겠습니다.

그냥 알려드리는 대로 따라만 하시면 됩니다.

저번 시간에 파빌 설치하고 버전패치까지 끝냈습니다.
파빌 우측 하단에 Version 10.5.2 Build 7599 라고 되어 있으면 됩니다.


 



옆에 보이는 화면이 파빌을 최초로 열면 나오는 화면입니다.
No Workspace 라고 되어 있는 창이 시스템트리(System Tree)입니다.

 

그 아래에 있는 창은 클립(Clip) 입니다. 클립은 자주쓰는 스크립트를 복사한 뒤 저장해서 재사용하기 위한 공간입니다. 강의 시에는 사용하지 않습니다. 클립을 닫으세요.

시스템트리는 파빌로 프로그램을 만들면서 생성되는 모든 내용들을 한 눈에 볼 수 있는 공간입니다.

메뉴-Window-System Tree
(이렇게 표시하면 메뉴에서의 위치입니다.)



































먼저 실습을 하면서 만든 파일들을 저장할 공간을 만들겠습니다.
윈도우 C 드라이브에 pb_study 라는 이름의 폴더를 만드세요.

그리고

메뉴 - File - New... 를 클릭~

 

 

 


그럼 위의 창이 나옵니다. 파빌로 뭐든 새로 만들려면 이 창을 열어야 합니다.
여러 개의 탭이 있네요. Tool 탭을 제외하고 다른 탭들은 앞으로 다 열어봐야 합니다.

Workspace 탭에는 Workspace 밖에 없네요. OK 버튼 클릭~

 


 

 

위에서 만들어 뒀던 C:\pb_study 를 선택하고 파일 이름도 pb_study 로 입력하세요.
저장 버튼 클릭~

 

 

 


 

 

왼쪽 화면처럼 시스템트리에 뭔가가 생성됐으면 성공입니다.

pb_study 는 workspace의 이름입니다. 괄호 안에 있는 경로가 workspace가 생성된 경로구요.


workspace는 어플리케이션을 관리하는 공간이라고 생각하시면 됩니다. (자세한 설명은 나중에 합니다)




 


 


좀 전에 New 창 기억나시죠?  메뉴 - File - New... 로 오픈했었는데요.

이번에는 New 창을 여는 방법을 달리해 볼까요?

 


 

 

 



 

시스템트리 영역으로 가서 만들어둔 워크스페이스에 마우스를 가져간 뒤 마우스 우클릭을 하면 팝업창이 열립니다.

그리고 가장 위의 New... 클릭~





 

 

 

 








 


 

 


그럼 New 창에서 Target 탭이 기본적으로 선택이 됩니다.
메뉴에서 열어도 됩니다만 프로그래밍 속도 향상을 위해서 이 정도 방법은 익혀두세요.

여기서 Application 을 선택하세요.

 

 


Application Name 을 test 라고 하고 엔터를 누르면
LibraryTarget 칸에 워크스페이스가 있는 경로 안에 위와 같은 파일이 자동으로 생성됩니다.

Library 는 파빌로 만든 소스가 저장되는 파일입니다.
Target 은 워크스페이스에서 파빌로 만든 단위 프로그램을 관리하기 위해서 만들어 놓은 것입니다.

파빌7 까지는 시스템트리가 없었어요. 라이브러리 페인터라는게 있어서 그걸로만 프로그램 소스를 볼 수가 있었는데, 문제는 프로그램 하나만 볼 수 있다는 겁니다. 내가 만들어 놓은 여러 프로그램들을 한 눈에 볼 수 없으니 코드 재사용이 쉽지 않았습니다.

이를 해결하고자 파빌8부터 시스템트리를 만들어서 프로그램들을 한 눈에 보면서 관리할 수 있게 해놓았습니다. 워크스페이스가 최종 관리자라면 그 밑에 타겟이라는 걸 만들어서 단위 프로그램을 한번에 묶어서 관리할 수 있도록 만들어 둔 것입니다. 타겟은 하나의 단위 프로그램의 구분자입니다. 단지 그 역할 밖에 안합니다. 이해가 안되도 상관없습니다. 실습하면서 자연스럽게 이해가 될테니까요. 억지로 이해하려고 하지 마세요.

Application Name 있죠? 그게 뭘까요? 여기서 아무리 설명해도 이해하기 어렵습니다.
일단  Finish 버튼 클릭~

 

시스템 트리에 뭔가가 여러개 생겼네요.

워크스페이스 바로 아래에 있는 녹색의 원형 아이콘이 바로 Target 입니다.

그 밑에 test.pbl 이 Library 구요.

그 밑에 test 가 Application 입니다.

이 세개의 이름을 달리할 수도 있지만 관리상 동일한 이름을 쓰는게 편리합니다. 파빌에서도 같은 이유로 자동으로 동일한 이름을 만들었습니다.



어플리케이션(Application)은 단위 프로그램을 시작하고 종료시키는 역할을 합니다.

C:\pb_study 경로를 열어보세요.

 

 


확장자 pbw -> 워크스페이스
확장자 pbl -> 라이브러리
확장자 pbt -> 타겟




어? 어플리케이션은 안 보이네요? 
test.pbl 속에 잘 숨어 있습니다.
그리고 어플리케이션은 실제 코딩 할 대상입니다.


오늘의 학습목표가 기본 윈도우를 만드는 것이니... 이제 부터 윈도우를 만들어 볼까요?

시스템트리 - test 타겟 - 마우스 우클릭 - 팝업에서 New...
(메뉴 - File - New... 해도 됩니다. 차이점은 아시겠죠? 선택되는 탭이 다릅니다.)

New 창에서 PB Object 탭이 선택되어 있습니다.

Window 를 선택하세요.



 

 

 

 


위의 화면이 나오네요. 파빌 윈도우입니다. 화면이 아까보다는 좀 복잡해졌죠.
오른쪽에 세로로 길게 배치되어 있는 것이 Properties 에요. 흔히 프라퍼티 또는 속성창이라고 부르죠.

프라퍼티의 첫번째 항목인 Title 에다가 "메인 윈도우" 라고 입력하세요.

그리고 저장하세요. 메뉴 - File - Save 또는 ctrl + S

Save Window 창이 보이면  Windows: 에다가 w_main 이라고 입력하시고 OK 버튼 클릭~

그럼 시스템트리에 w_main 이 생깁니다. 여기까지 잘 따라 오셨죠?

이제 이 윈도우 창을 닫으세요. (안 닫아도 되지만 닫는 연습 좀하려구요)

 


메뉴 아래에 왼쪽과 같은 X 를 누르면 화면이 닫힙니다.
물론 윈도우 화면 우측 상단에 있는 윈도우 컨트롤 메뉴의 X 를 이용해도 되구요.


이제부터 w_main 윈도우를 오픈하는 스크립트를 작성해 보겠습니다.

시스템트리에서  test 어플리케이션을 더블클릭해서 오픈시키세요.
첨에 만들었던 어플리케이션을 이제야 열어보네요.


 

 


가운데 큰 사각형 영역이 바로 스크립트 영역 입니다.
오른쪽에 세로로 붙어 있는 영역이 프라퍼티입니다.

스크립트 영역 맨 아래를 보면 몇 가지 탭이 있네요.


 

 


현재는 open 이라는게 선택되어 있구요.

open 은 이벤트입니다.
그러니까 어플리케이션이 열릴 때를 의미하고 여기서 원하는 코딩을 하면 됩니다.
다른 탭들은 한 번씩 열어보는 걸로 끝내겠습니다.


open 이벤트에 open(w_main) 이라고 입력합니다.


Open 은 윈도우를 오픈하는 내장함수로 w_main 윈도우를 오픈하라는 뜻입니다.

내장함수(built-in function)
란 파워스크립트에서 기본적으로 제공하는 함수입니다.

open 과 같은 기본적인 내장함수는 꼭 익히고 넘어가야 합니다.
지금 익히세요~

파워스크립트는 파워빌더에서 제공하는 프로그래밍 언어를 뜻합니다. 내장함수도 파워스크립트에 포함되어 있구요. 파워스크립트는 C, C++, Java 와 비교하면 배우기에는 매우 손쉬운 언어입니다.
하지만 파워스크립트의 내장함수를 통해서 구현하지 못하는 것들이 많습니다. 그래서 내장함수 이외에 외장함수(External Funtion)을 통해서 보완하고 있습니다. 외장함수에 대해서는 지금 몰라도 상관없습니다.


오픈이벤트에  open(w_main) 이라고 입력했으면 저장하시고....이제 실행해 보겠습니다.

메뉴 - Run - Run test

또는

 

 


 

시커먼 사람 모양의 아이콘(화살표가 없는 걸로)을 클릭~




또는
단축키 ctrl + R

 


파빌이 사라지면서 위 화면이 오픈되면 성공입니다.
(위 화면을 닫으면 다시 파빌이 열립니다.)

어플리케이션의 타이틀 프라퍼티에 입력했던  "메인 윈도우" 가 화면 좌측상단에 보이네요.



지금까지 정말 간단한 윈도우 하나를 만드어 봤는데요.
간단하지만 필수적인 파빌의 구동 구조를 익힐 수 있었습니다. 이 구조를 잘 알아두세요.

어플리케이션(test) -> 윈도우(w_main)

이 구조에서 워크스페이스와 타겟은 들어있지 않습니다. 
이 둘은 단지 프로그래밍에 편의를 제공하고 소스를 관리하는 역할만 합니다.

(워크스페이스 파일과 타겟 파일을 삭제해도 다시 만들어서 복구하면 되기 때문에 큰 문제가 되지 않습니다. 단, 타겟 파일은 복구하는데 조금 복잡한 과정이 필요하므로 삭제되는 일이 없도록 신경쓰는 것이 좋습니다.)

오늘 배운 것을 꼭 복습해 보시기 바랍니다.
이 강의를 보지 않고 스스로 할 수 있을 때까지 연습하는게 좋습니다.
앞으로 점점 더 복잡한 내용들이 여기 저기서 튀어 나옵니다.
지금과 같은 기본적이고 간단한 내용은 꼭 알고 넘어가야 합니다.
ctrl + S, ctrl + R 과 같은 단축키도 익히면 프로그래밍 시간을 단축시킬 수 있습니다.

그럼 다음 강의에서 뵐께요. 수고하셨습니다.

 

 

 

Posted by A4M
,