* Powerbuilder 10.5

드디어 파워스크립트 언어에 대해서 전반적으로 설명하는 시간입니다. 이걸 언제 하나 벼르고 있었는데요.

대부분의 파워빌더 책자들은 실습을 통해서 익히기 전에, 초보자에게는 다소 복잡할 수도 있는 언어체계를 던져주고 읽게 합니다. 프로그래밍 입문하시는 분들한테는 정말 곤란한 일이죠. 당최 뭔소리인지... 스트레스 최대치~ ㅠ.ㅠ 안습입니다. 사실 그렇게 던지는 필자 입장에서는 한번 정리해 놓고 시작하려는 의도인데, 초보자들은 욕심이 많아서 한번에 이해하려고 하니까 답답해지는건데요. 필자들도 대략 한 번 읽고 넘어가세요~ 하면서 친절하게 코치해주면 될 일인데, 그렇게 까지는 안하려고 하니까 초보자들은 고생시럽죠.

이러한 현실을 반영해서 이 강좌에서는 이제야~ 파워스크립트 언어를 정리하려고 합니다. 지금 쯤은 파워빌더에 좀 적응이 되어 가고 있을 시기라고 판단이 되고 말이죠. string 이나 int 니 좀 접했고 MessageBox 도 써봤고 ...... 파워스크립트 언어를 받아들일 준비가 됐으리라 생각하기 때문에.... 그럼 시작합니다.


제가 볼 때는 다른 어떤 언어 보다도 쉽고 명료한 언어가 바로 파워 스크립트 언어체계입니다. 좀 단순하죠. 세미콜론도  빼버리고 클래스 정의도 없고 말입니다. 반면에 구현하지 못하는 기능도 많으니, 컴퓨터 자원 활용면에서는 취약하다고도 볼 수 있네요. 그러나 단순한 만큼 생산성은 타의 추종을 불허합니다. 정말 막강합니다. 정말로....


도움말에 PowerScript 라고 검색하면 다음 내용을 영문으로 볼 수 있습니다.


대략 읽으시고. 이해 안되는 것은 댓글에 남기거나 ...걍 넘어가세요 ㅎㅎ


1. 식별자(Identifier names)

설명
변수, 라벨, 함수, 윈도우, 컨트롤, 메뉴 그리고 스크립트상에서 참조하는 어떤 것들에 이름을 붙이려고 식별자를 사용합니다. 지금까지 w_list 라고 윈도우 오브젝트 이름을 붙여 사용했습니다. 바로 w_list 가 식별자가 되는 것입니다. cb_search, cb_save 등도 마찬가지구요.

규칙
● 반드시 문자나 _(아랫선, Underscore)로 시작해야 한다.
● 예약어(reserved word)를 사용해서는 안된다.
● 최대 40자까지 사용할 수 있다.
● 공백은 포함될 수 없다.
● 대소문자를 구분하지 않는다.
● 문자, 숫자 그리고 다음 특수문자들의 조합을 가질 수 있다.

- : 대시(Dash)
_ : 아랫선(Underscore)
$ : 달러 표시
# : 숫자 표시
% : 퍼센트 표시

예외
대시를 사용할 때, 대시 좌우로 공백이 있으면 빼기 산술연산자를 의미한다.

사용예
적합한 식별자
   ABC_Code
   Child-Id
   FirstButton
   response35
   pay-before%deductions$
   ORDER_DATE
   Actual-$-amount
   Part#

부적합한 식별자
   2nd-quantity   // 문자나 _ 로 시작하지 않았음 -> 숫자로 시작하면 안돼요 안돼~
   ABC Code      // 공백을 포함했음
   Child'sId        // 허용되지 않는 특수문자(')를 사용했음, 큰따옴표(")와 작은따옴표(')는 사용할 수 없음



2. 예약어

파워빌더에서 내부적으로 사용하는 단어를 예약어라고 합니다. 예약어는 식별자로 사용될 수 없습니다.

* 가 붙은 예약어는 함수명으로 사용될 수 있습니다.



이중에서 우리가 이미 사용해본 예약어를 찾아보세요.
내장 SQL 문에 사용된 단어도 예약어로 분류가 되겠네요.

쉽게 말해서, 예약어는 파워빌더에서 사용하기 위해서 내부적으로 미리 예약해 놓은 단어입니다.
예약을 했으니 건드리지 말라는 거죠.



3. 주석 (Comment)

코딩한 내용에 대해서 간략하게 설명을 넣고 싶을 때 주석을 답니다. 이 때 필요한 것이 주석처리 방법인데요.

파워빌더에서는 // 과 /**/ 을 사용합니다.

//  : 이것을 마크(mark)한 오른쪽부터 그 라인 전체를 주석처리 합니다. -> 라인 하나만 주석처리
/**/ : /* 을 시작으로 해서 */ 으로 끝나고 그 사이를 주석처리 합니다. -> 여러 라인 주석처리 가능

예)
/* For ~ Next
    구문 테스트*/
int i
For i = 1 to 10
   i += 1     // i = i + 1 과 동일
Next



4. 구문 (Statement)

파워빌더에서 사용하는 구문은 다음과 같습니다.

Assignment
CALL
CHOOSE CASE
CONTINUE
CREATE
DESTROY
DO...LOOP
EXIT
FOR...NEXT
GOTO
HALT
IF...THEN
RETURN
THROW
THROWS
TRY  CATCH  FINALLY  END TRY

구문들은 필요한 것들 위주로 앞으로 설명하겠습니다.



5. 구문 연결 (Statement continuation)

파워빌더에서는 라인이 다르면 다른 구문으로 판단합니다. C 나 자바와는 완전 다르죠.

int a, b, c, d

d = a + b +
     c

위 처럼 쓰면 C나 자바에서는 문제가 없지만 파워빌더에서는 저장할 때 컴파일 에러가 생깁니다.
(파워빌더에서는 저장할 때 컴파일을 합니다. 컴파일이란 고급수준의 언어를 기계가 읽을 수 있는 기계어로 번역하는 일.)
    
이럴 때는 다음과 같이 처리 합니다.

d = a + b + &
     c

& (ampersand) 를 붙이면 구문을 연결시키는 기능을 합니다.



6. 구문 분리 (Statement separation)

구문의 끝에 세미콜론을 사용해도 되고 안 해도 됩니다. 하지만 여러 개의 구문을 한 라인에 연속해서 작성하려고 할 때는 반드시 세미콜론을 구문의 끝에 붙여야 합니다. 단, 마지막 구문에는 안 붙여도 됩니다.

a = 1
b = 1
c = 1

->
a = 1; b = 1; c = 1



7. 특수 ASCII 문자

컴퓨터 기계어는 기본적으로 숫자로 데이터를 저장합니다. 문자도 숫자에 대응시켜 저장합니다.
어떤 문자가 어떤 숫자에 대응할 것인가를 정하는 것을 인코딩이라고 하고 다양한 인코딩 방식이 존재합니다.
아스키(ASCII) 는 영문 알파벳을 표현하는 문자 인코딩 방식으로 가장 널리 사용되고 있습니다.

아스키 문자 중 특수문자들이 있습니다. 특수문자는 Tilde (~, 틸데, 물결) 문자를 이용하여 표현합니다.

카테고리

표시문자 

사용방법

비고

일반적인 ASCII 문자

Newline

~n

새로운 라인을 생성해서
커서를 이동.

Tab

~t

Vertical tab

~v

Carriage return

~r

커서를 맨 처음으로 이동.

Form feed

~f

Backspace

~b

Double quote

~"

Single quote

~'

Tilde

~~

진수 표현 ASCII 문자

Decimal

~###

10진수, ### = 3자리; 000 에서 255 까지

Hexadecimal

~h##

16진수, ## = 2자리 ; 01 에서 FF 까지

Octal

~o###

 8진수,  ### = 3자리 ; 000 에서 377 까지



사용예)

표현

결과

"dog~ncat"

dog        
cat    

"dog~tcat~ttiger"

dog   cat   tiger


표현

설명

"~249"

10진수 249

"~hF9"

16진수 F9

"~o371"

8진수 371





특수 ASCII 문자 부분에서 ~n, ~r 이 가장 많이 사용됩니다.

이 밖에 더 설명할 내용들이 있지만 지금은 때가 아닌 것 같습니다. 기회를 봐서 설명하겠습니다.

다음 시간에는 파워스크립트 Data type에 대해서 알아보겠습니다. 

수고하셨습니다.



* 질문은 댓글로 남기세요.


Posted by A4M
,