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