본문 바로가기
PowerBuilder

완전 압축 파워빌더의 기초문법

by 엔터티 2021. 6. 7.
반응형

책, 영상 다 보기 귀찮은, 봐도 기억 잘 못하는 분들을 위한 "파워빌더의 기초문법" 정리했습니다.


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 명령1
if 조건 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

 

반응형

댓글