Visual Basic 6.0 기본 문법
description
Transcript of Visual Basic 6.0 기본 문법
1
Visual Basic 6.0 기본 문법
2
1. 프로그램 작성하기 전에 (1)
프로젝트 (*.vbp)
표준 모듈(*.bas)
폼 모듈 (*.frm)
클래스 모듈 (*.cls)
프로시저 , 형식 , 데이터 선언과 정의만 포함하는 파일을 의미함 .
어떤 기능을 공동으로 사용할 수 있도록 하기 위하여 모듈을 작성한다 .
모듈은 *.bas 로 저장
폼은 통합개발 환경 초기화면에서 폼 편집 창에 있는 빈 윈도우가 폼이다 .
도구상자의 컨트롤을 이 폼에 디자인하여 화면을 설계한다 .
*.frm 으로 저장
클래스는 도구상자에 있는 컨트롤을 말한다 . 표준도구상자에 있는 컨트롤과 같이 어떤 기능을 수행하는 클래스를 새로 만들 때 이 파일을 작성한다 . 클래스는 *.cls 로 저장
3
1. 프로그램 작성하기 전에 (2) - 모듈이란 : 폼과 코드를 기술한 하나의 기능적 단위를 말함 - 모듈 내부 . 선언부 . 이벤트 프로시저 : 이벤트와 관련된 프로시저 . 일반 프로시저 : 이벤트와 관련없는 프로시저 . 메서드로 구성됨
4
프로그램 기초 주석
– 작은 따옴표 (‘) 사용 – 작은 따옴표 뒤의 문자열은 명령문으로 처리되지 않
음 . – 명령문 뒤의 부가설명 하기 위해 주로 사용함 .– 예 ) frmForm.cls ‘ 객체 frmForm 의 화면을 지운다 .
비주얼베이직은 대소문자 구분하지 않음
5
변수 / 연산자 그리고 제어문
목표– 변수 및 배열 관련 데이터형 , 선언방법과 변환함수를
알아보자 .– 연산자의 종류와 연산우선순위를 알아보자 .– 제어문의 종류와 특징을 알아보자
6
1. 상수란 특징
– 프로그램 작성시 값이 주어짐– 프로그램이 실행되는 동안에 그 값이 변하지 않음– 일반 변수와 구분 위해 대문자 표기 권장
종류– 시스템 정의 상수
• 컨트롤에 의해 제공되는 상수 • 접두어 vb 로 시작됨 . 예 ) vbYellow 노랑색로 확정되어 있는 상수값임
– 사용자 정의 상수 • Const 문을 사용하여 사용자가 정의 하는 상수임• 사용형식
– Const PI = 3.14159
7
2. 변수 변수의 개념
– 의미• 어떤 관계나 범위 내에서 임의의 값이 변할 수 있는 수 • 변수를 선언하면 데이터 형식 (Data Type) 에 맞는 기억장소를
할당받아 사용할 수 있고 그 기억장소의 데이터를 저장하거나 저장된 데이터를 꺼내어 사용할 수 있다 .
8
변수의 선언과 사용법– 선언 방법
– 선언 규칙• 첫번째 문자는 영문자나 한글이어야 하고 기호나 숫자는 사용할 수
없다 . • 예약어 (Sub, Private, End 등 ) 를 사용할 수 없다 . • 255 자를 초과할 수 없다 . • 한글 , 영문자 , 숫자 , 밑줄 (_) 만 사용가능함 . 그 외의 특수 기호는
사용할 수 없다 . • 변수명끝에 형지정기호 (%,&,!,#,@,$) 의조합된 형태로 이루어질 수도
있다 .
Dim/Private/Public/Redim/Static 변수명 [As 데이터형식 ]
9
• 명시적 선언– Dim 과 같은 변수 선언자를 사용해서 변수를 선언한 후 사용 – 예
• 묵시적 선언– 변수사용전에 별도의 선언없이 사용하는 경우를 말함 – 변수의 데이터형식은 저장되는 값에 따라 자동으로 형이 결정– 예
Dim Kor As Integer ' 정수를 저장하기 위한 Kor 변수 선언 Kor = 20 'Kor 변수에 20 저장
Kor = " 홍길동 " 'Kor 변수에 “홍길동” 저장
단 , Option Explicit 를 일반 _ 선언에 지정하면 반드시 사용되는 변수를 선언해야 한다 .
10
• 변수 선언자의 종류– 선언되는 위치에 따라서 변수를 사용할 수 있는 영역이 결정
선언 영역에 따른 적용 범위 선언 영역에 따른 적용 범위
11
데이터 형식– 값을 표현하기 위한 최소 단위 하나하나를 컴퓨터
메모리에 저장하는 방법을 결정하는 것을 말함 예 ) 정수형태는 2 바이트내의 -32768 ~ 32767 사이의
소수점이 없는 숫자만 저장하라 .
– 지정 이유 : 데이터형식마다 컴퓨터 메모리를 차지하는 양이 다르기 때문임 .
– 만일 데이터형식을 지정하지 않고 변수선언시 기본값으로 variant 형식이 됨 .
데이터형식 (Data Type)
12
• 데이터 형식데이터형식 (Data Type)
정수실수
문자열
이진데이터
13
– 형지정기호• % : 정수형 (integer)
– 예 ) num% = 55• & : 롱정수형 (Long)
– 예 ) num& = 22• ! : 단정도 실수형 (single)
– 예 ) num! = 22.1• # : 배정도 실수형 ( double)
– 예 ) num# = 10.234• $ : 문자열 (String)
– 예 ) str$ = “ 안녕”• @ : 화폐형 (Currency)
– 예 ) aa@ = 20000000
데이터형식 (Data Type)
14
Currency 형– 주로 금액저장시 사용됨
– 소숫점 이하 4 자리와 소숫점 이상 15 자리까지 숫자를 저장할 수 있는 데이터형
– 사용예
• 예 ) Dim cur as Currency cur = 123.567856 print cur
데이터형식 (Data Type)
123.5679123.5679
15
문자열형 (String)– 문자들을 사용하기 위한 형 – 변수에 값 할당시 이중따옴표 (“ “) 로 둘러싸야 함– 선언방법
• dim str as string str = “ 안녕”
– 문자열의 연결 : “+ 연산자” 또는 “ & 연산자” 사용
데이터형식 (Data Type)
예 2) A = 5 B= “ Man” Print A & B 5 Man 출력
예 1) print “queen ” + “Elizabeth” queen Elizabeth 출력
16
부울형 (Boolean)– 참이나 거짓 (True , False) 으로 표현
• 예 ) 딸기는 검은색이다 ? 결과 : false
– 수식의 비교 결과에 활용
– 선언• Dim 변수명 as Boolean
예 ) Dim bBooltest as Boolean
bBooltest = 123 < 456
print bBooltest 결과 : True
데이터형식 (Data Type)
17
정수형 (Integer, long)– Integer : 2 바이트 크기 , -32,768~32,767– long : 4 바이트 크기 , -2,147,483,648 ~ 2,147,483, 647
– 선언방법 1• Dim 변수명 as Integer
예 ) Dim iMyNum as Ingeger
iMyNum = 2500
• Dim 변수명 as long
예 ) Dim Lnum as Long
Lnum = 2147483647
– 선언방법 2 : dim 선언 없이 접미어로 자료형식 결정 • iMynum% = 2500 ‘ integer
• Lnum& = 2147483647 ‘Long
데이터형식 (Data Type)
18
Date 형– 날짜와 시간을 표시– 국가별 설정에 따라 조금씩 달라짐
예 ) 미국 월 / 일 / 년 한국 년 / 월 / 일
– # 기호 사용하여 date 형의 값을 표시• 예 ) Dim D as Date
D = #03/12/2006 11:20:35 PM#
print D
데이터형식 (Data Type)
19
가변형 (Variant)– 가변형으로 선언된 변수는 모든 종류의 값을 가짐
예 ) Dim VarNum [as variant] -> 가변형으로 선언
VarNum = 255 -> “VarNum” 는 정수값
VarNum = "Home“ -> “VarNum” 는 문자열
VarNum = -2.314 -> “VarNum” 는 부동형값
• 사용은 편리하나 메모리의 낭비가 있음
• 숫자는 16 바이트 , 문자는 22 바이트 + 문자열 길이를 가지게 됨
데이터형식 (Data Type)
20
선언 예제 Dim Count As Integer
Dim Count % ‘ Count 를 정수형 변수로 선언 Dim Address As String Dim Address$ ‘ Address 를 문자열 변수로 선언
Dim Check As Boolean ‘ Check 를 논리형 변수로 선언
데이터형식 (Data Type)
Count = 10
Address = “Hi!!!”
Check = true
21
[ 실습하기 ] 성적 계산하기 폼에 컨트롤 추가하고 속성 설정
22
버튼 컨트롤 ( 계산 ) 의 이벤트 핸들러 작성Private Sub cmdSum_Click() Dim Kor, Mat, Eng, Total As Integer Kor = Val(txtKor.Text) Mat = Val(txtMath.Text) Eng = Val(txtEng.Text) Total = Kor + Mat + Eng lblOutput.Caption = Str(Total) End Sub
23
Val 함수 문자열 형태의 숫자를 계산이 가능한
숫자로 변환하는 함수 형식 : val( 문자열형태의 숫자 ) 사용법
– Dim MyValueMyValue = Val("2457") 2457 을 반환합니다 .MyValue = Val(" 2 45 7") 2457 을 반환합니다 .MyValue = Val("24 and 57") 24 를 반환합니다 .
24
프로그램 실행
25
연산자 산술 연산자
– 수학적 계산을 수행하는 연산자
비교 연산자
26
• 비교 연산자 사용 예Dim MyResult, Var1, Var2
MyResult = (45 < 35) ' False 를 반환 . MyResult = (45 = 45) ' True 를 반환 . MyResult = (4 <> 3) ' True 를 반환 . MyResult = ("5" > "4") ' True 를 반환 .
Var1 = "5" : Var2 = 4 ' 변수를 초기화 . MyResult = (Var1 > Var2) ' True 를 반환 .
MyResult = 10 +20 < 10-20 ' False 를 반환 .
27
– IS 연산자• 두 개체가 가리키는 변수가 같은 경우에는 True 를 , 다르면 False 를 반환하는 연산자 • 구문 형식• 예
결과 = 개체명 1 Like 개체명 2
Private Sub Command1_Click() Set 폼객체 = Form1 Set 라벨객체 = Label1 Set 라벨 1 객체 = Label1
Label1.Caption = " 폼객체는 라벨객체이다 = " & Chr(13) & Chr(10) & _ Format( 폼객체 Is 라벨객체 ) Label2.Caption = " 라벨 1 객체는 라벨객체이다 = " & Chr(13) & Chr(10) & _ Format( 라벨 1 객체 Is 라벨객체 )End Sub
28
– Like 연산자 • 매개변수를 사용하여 두 문자열을 비교하기 위해 사용• 구문 형식
• 문자열과 패턴이 맞으면 True 를 , 일치하는 것이 없으면 False 반환• 문자열과 패턴 중 하나가 Null 이면 결과는 Null 반환 .
결과 = 문자열 Like 패턴
매개변수와 의미매개변수와 의미
*를
29
– 예
Private Sub Command1_Click() Label1.Caption = " 대한민국 Like 대한민국 = " & _ Format(" 대한민국 " Like " 대한민국 ") Label2.Caption = " 대한민국 Like 대한 *= " & _ Format(" 대한민국 " Like " 대한 *") Label3.Caption = " 대한민국 Like 대 ? 민국 = " & _ Format(" 대한민국 " Like " 대 ? 민국 ") Label4.Caption = “KOREA Like K[I-O]REA = " & _ Format("KOREA" Like "K[I-O]REA") End Sub
30
논리 연산자– 참과 거짓을 나타내는 True, False 로 , AND, OR, XOR, EQV, IMP 연산을 수행하여 True, False 값을 출력하는 연산자
연결 연산자– 문자열을 연결하기 위해 사용– &, +
31
그 외 연산자– : ( 콜론 ) 두 문장을 한 줄에 작성할 경우
사용 • 예 ) A=10 : B=20
– _(underbar) 한 문장을 두 줄로 작성할 경우 사용
예 ) Label1.caption = “ 두 수의 합은 “ & _ tot & “ 이다”
32
연산자의 우선 순위
연산자의 우선 순위에 따른 계산연산자의 우선 순위에 따른 계산
33
2. 배열선언 배열
- 배열이란 동일한 데이터형을 가진 하나 이상의 자료를 하나의 변수이름으로
정의한 것을 말한다 .
- 배열은 배열명과 첨자로 구성되며 , 첨자 (Index) 의 개수에 따라 배열이 1 차원 , 2
차원 , 3 차원 배열로 분류된다 .
- 각각의 데이터 기억 저장소를 배열의 요소 (Element) 라고 부르며 , 이러한 배열
요소를 구분하는 것이 첨자이다 .
- 또한 , 데이터베이스와 연결해서 레코드의 필드내용을 보여주는 동시에 필드내
용을 수정하는 경우에도 사용한다 .
1 차원 배열선언 : Dim strArray(4) As String2 차원 배열선언 : Dim intArray(2, 3) As Integer3 차원 배열선언 : Dim dblAry(4, 2, 3) As Double