책, 영상 다 보기 귀찮은, 봐도 기억 잘 못하는 분들을 위한 "파워빌더의 기초문법" 정리했습니다.
VC++(OOP개념)과 VB를 합쳐놓은것 
   1) 코딩시 대소문자 구분이 없다 but 가독성을 높이기 위해 가능한 구분하자 
     -> VB을 따왔음...가능한 단어의 첫글자는 대문자로 쓰자 
   2) 주석 : 주석다는 습관! 
     //             ->한 줄 주석 
     /*  ......  */ ->여러줄 주석 
   3) 명령문은 line단위로 이뤄진다 
     한줄에 여러 개의 명령어를 입력하고 싶을 경우 ";"으로 구분한다 
      ex) a=a+b ; b=b+10 ; c=c+7 
     하나의 명령어를 여러 줄로 나눠 입력할 경우 " &" 
        -> a=a+b+c 
            a=a+ & 
            b+ & 
            c 
   4) 변수 
    ① Variable Types 
      정수형 - integer(2byte) - 32768 ~ 32767 
                - long형(4byte) - 20억 ~ 20억 
      실수형 - real형(4byte) 
                - double형(8byte) 
      문자형 - char : 문자 한글자 저장 ex) char a='t' 
                - string형 :문자열 저장 ex) string a="korea" 
      논리형 - boolean ex) a,b=true 
      시간형(data저장형식) - time a 
                                       a=Gettime//PB의 내장함수 
      날짜형 - date a 
      시간날짜형 - DateTime a 
    ② PB만이 갖고있는 변수형!!! 
     - Blob형 : 아주 긴 문자열이나 image data저장 
     - Any형  : 가변길이형 data 
!!! 변수선언시 초기값을 주지 않을 경우      
default 숫자 = 0
	문자 = null
	boolean = false
    ③ 변수의 규칙 
      - 변수길이는 40자까지 가능 
      - 모든 변수는 반드시 선언해줘야 한다:사용자가 만들어 쓸 경우 
      - 대소문자 구분이 없다 
      - 영문자, 숫자, -, _, #, %, $로 조합 
        "-"는 반드시 창의 design/option에서 해제해줘라!!! 
   5) 배열 
!!! tool마다의 배열
a(10):0번째~9  ->C
a(10):0번째~10 ->Visual Basic
a[10]:1번째~10 ->Power Builder [예]
integer a[20]
c[3]=20
integer a[5]={1,5,3,16,4}
integer a[10 to 20]=a[10]~a[20]
    ① 가변길이 
     - 편리하지만 프로그램 속도를 떨어뜨린다 
     - 1 차원배열에서만 가능 
    ② 다차원배열 
       integer a[행,열]
a[2,3]       integer a[면,행,열] 
a[2,3,3]
   6) PB의 내장함수 
    ① 날짜함수
      Now() "현재의 시스템의 날짜
      Year() "년도
      month()
      day()② 시간함수
      hour()
      minute()
      second()이외에도 아주 많습니다. 
   7) 용어 
    ① This : 현재 사용중인 객체(object)를 의미 
      [예] cb_1에 코딩할 경우: cb_1.text="종료" 
                                    ->this.text="종료" 
    ② Parent : 현재 사용중인 객체의 부모window 
                    menu없는 창을 닫을 때 ->close(parent)
참고!!
객체를 복사할 때 두가지 방법
	-duplication :개체만 copy
	-edit/copy후 paste :개체+코딩까지 copy
따라서...
	close(parent)하는게 편하다 -> 코딩을 일일이 고칠 필요가 없다     ③ Parent Window : 메뉴가 있는 window를 말함 
                      종료시 close(parent window) 
    ④ 종료 
      Halt : application 종료 but 메모리는 해제되지 않는다 
      Halt Close : application의 close 이벤트를 발생시키면서 종료 
   8) 제어문:프로그램의 흐름을 통제 
      형식> 컨트롤이름.속성=값 
    ① if문
if 조건식 then
	명령1
end if
			OR
if 조건식 then 명령1if 조건 then
	명령1
else
	명령2
end if
                     OR
if 조건 then 명령1 else 명령2 
② choose case문
choose case 변수
	case a1
	case a2
	case a3
	case a4
	case else
end choose   
   9) 연산자 
      +, -, *, /, >, <, >=, <=, <> 
      and, or, not 
   10) 반복문 
    ① for~ next문
for 변수명=초기값 to 최종값 step 증가(+)/감소(-)값
	.......
	.......
next
 -> 횟수가 정해져 있는 경우 무제한적으로 돌아갈 경우 계산
② do while
do while 조건
		....
loop
->조건식이 참인 동안 실행
조건식이 맞지 않으면 실행을 시작하지 않을 수도 있다
do
	......
loop while 조건
->조건식이 틀리더라도 한 번은 실행이 된다//조건식이 뒤에 있으므로
   ③ do until
do until 조건식
	.......
loop
->조건식이 참이 될때까지 실행//조건이 거짓인 동안do
	.......
loop until 조건
④ 분기문(go to문)
go to 문이름
	........
문이름      ex)삼중 loop문...loop가 중첩된 경우 
   ⑤ 기타문 
        exit : 현재 수행중인 loop탈출 
        continue :skip의 개념이 강하다
ex1) for i=1 to 10
	.....
	if i=5 then
		exit
	end if
	sle_1.text=string(i)
	next
print=> 1 2 3 4
ex2) for i=1 to 10
	.....
	if i=5 then
		continue
	end if
	sle_1.text=string(i)
	next
print=>1 2 3 4 6 7 8 9 10
   11) 추가 연산자 
       a=a+1 -> a++  증가 
                 --  감소 
       a=a*b -> a*=b 
                 += 
                 -= 
                 /= 
1) 변수 
   - 전역변수 :A pp.내에 전반적으로 사용이 가능 
     => \declare\global variable에서... 
   - 지역변수 : 해당 스크립트문장내에서만 사용가능 
    (instance variable) 해당window에서만 사용할 수 있는 변수 
                               window가 닫히면 자동소멸! 
                               window가 열리면 생성, 
     cf) 다른 win에서 참조할 경우->win이름.변수명 
        if 다른win이 닫히면 참조한 창도 에러 떨어짐 
        why? instance 변수는 창이 없어지면 같이 소멸한다 
   - 공용변수 shared variable :해당win에서 사용가능 
                              해당win이 open하면 생성, 
                              해당win이 close해도 소멸되지 않는다. 
2) 함수 
   함수명(인수1,인수2,인수3,...) 
   - 지역 :\declare\function in window 
   - 전역 :아이콘 
   ① 사용자함수의 종류 
    - 리턴값이 있는 경우 :실행된 결과값을 보여준다 ex)계산 
      형식> 함수명(인수1, 인수2, ...) 인수 :함수가 처리해야 하는 값 
    - 리턴값이 없는 경우 :반복적인 처리를 많이 하는 경우 
   ② 자체함수 : PB함수
| 참고!!! tool bar의 함수 : 전역함수 Declare\Windows Function : 지역함수 Declare\Windows Structure : 구조체 | 
3) 배열 
   같은 data형의 변수를 잡아 줄때 모든 변수를 하나의 변수로 잡아준다고 생각 
   즉 하나의 보따리에 각각의 보따리를 넣는다고 생각하면...? 
   랜덤하게 섞이는것을 막을 수 있다 
   ex)학생성적표 관리:여러과목(문자)과 그에 따른 각각의 점수(정수) 
4) 구조체 
   서로 다른 data형의 변수를 하나의 커다란 변수로 잡는다 
   ex)회사의 사원관리 
   하나의 사원에 해당하는 것들 (사원이름 주소 성별 나이)->각각의 성질이 다르다 
5) Pointer 
   - 번지에 있는 값을 전달한다. -> call by value 
   - 번지값을 전달해준다 -> call by reference

'PowerBuilder' 카테고리의 다른 글
| 파워빌더 함수 - 3 (L ~ P) (0) | 2021.06.14 | 
|---|---|
| 파워빌더 함수 - 2 (E ~ G) (0) | 2021.06.08 | 
| 파워빌더 성능관리 - [5장. 그 외 사항] (0) | 2021.06.07 | 
| 파워빌더 함수 - 1 (A~D) (0) | 2021.06.07 | 
| 파워빌더 성능관리 - [4장. 데이터 조회] (0) | 2021.06.07 | 
 
										
									 
										
									 
										
									 
										
									
댓글