기초문법
페이지 정보
작성자 정성규 댓글 0건 조회 13,232회 작성일 13-10-29 09:27본문
[ 파워빌더의 기초문법 ] 출처: http://cafe.naver.com/arjas.cafe
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 :
+=====================================+
ex) 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[행,열]
ex) a[2,3]
integer a[면,행,열]
ex) a[2,3,3]
6)PB의 내장함수
①날짜함수 ②시간함수
Now() "현재의 시스템의 날짜 hour()
Year() "년도 minute()
month() second()
day()
이외에도 아주 많습니다.
7)용어
①This :현재 사용중인 객체(object)를 의미
ex)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 : ex2) for i=1 to 10 :
: ..... : ..... :
: if i=5 then : if i=5 then :
: exit : continue :
: end if : end if :
: sle_1.text=string(i) : sle_1.text=string(i) :
: next : next :
: print=> 1 2 3 4 : print=>1 2 3 4 6 7 8 9 10 :
+===========================+===========================+
11) 추가 연산자
a=a+1 -> a++ 증가
-- 감소
a=a*b -> a*=b
+=
-=
/=
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1) 변수
-전역변수 :App.내에 전반적으로 사용이 가능
=>\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
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 :
+=====================================+
ex) 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[행,열]
ex) a[2,3]
integer a[면,행,열]
ex) a[2,3,3]
6)PB의 내장함수
①날짜함수 ②시간함수
Now() "현재의 시스템의 날짜 hour()
Year() "년도 minute()
month() second()
day()
이외에도 아주 많습니다.
7)용어
①This :현재 사용중인 객체(object)를 의미
ex)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 : ex2) for i=1 to 10 :
: ..... : ..... :
: if i=5 then : if i=5 then :
: exit : continue :
: end if : end if :
: sle_1.text=string(i) : sle_1.text=string(i) :
: next : next :
: print=> 1 2 3 4 : print=>1 2 3 4 6 7 8 9 10 :
+===========================+===========================+
11) 추가 연산자
a=a+1 -> a++ 증가
-- 감소
a=a*b -> a*=b
+=
-=
/=
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1) 변수
-전역변수 :App.내에 전반적으로 사용이 가능
=>\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
댓글목록
등록된 댓글이 없습니다.