visual basic

55
VISUAL BASIC 양 양 양

Upload: hye

Post on 21-Jan-2016

75 views

Category:

Documents


3 download

DESCRIPTION

VISUAL BASIC. 양 계 탁. Visual Basic 이란 ?. Window 용 프로그램을 작성하는 프로그래밍 도구 Basic 은 초보자를 위한 대화형 언어로 1964 년 개발 ( 구조화 안됨 ) 1975 년 빌 게이츠가 베이직을 수정 Visual + Basic 쉽고 빠르게 프로그램을 작성 프로그래머와 일반인의 경계 없어짐. Visual basic 의 특징. Visual 한 개발환경의 지원으로 쉽고 빠르게 작성할 수 있다 . 객체 지향적 개발환경 지원 자동화된 개발환경의 지원 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: VISUAL BASIC

VISUAL BASIC

양 계 탁

Page 2: VISUAL BASIC

Visual Basic 이란 ?

Window 용 프로그램을 작성하는 프로그래밍 도구

Basic 은 초보자를 위한 대화형 언어로 1964년 개발 ( 구조화 안됨 )

1975 년 빌 게이츠가 베이직을 수정Visual + Basic쉽고 빠르게 프로그램을 작성프로그래머와 일반인의 경계 없어짐

Page 3: VISUAL BASIC

Visual basic 의 특징 Visual 한 개발환경의 지원으로 쉽고 빠르게 작성할 수 있다 . 객체 지향적 개발환경 지원 자동화된 개발환경의 지원 사건 중심형 (Event Driven Method) 처리방식 클라이언트 / 서버 (Client/Server) 프로그램 개발 지원 OLE(Object Linking and Embedding) 기능지원

Page 4: VISUAL BASIC

기본사항

입력장치

출력장치CPU

RAM

ROM

프로그램

소스파일(*.FRM)

컴파일 실행파일(*.EXE)

Page 5: VISUAL BASIC

기본 용어객 체 : 데이터를 갖을 수 있고 어떤

동작을 수행할 수 있는 단위 ( 자동차 )컨트롤 : 객체를 그래픽으로 표시한 것메서드 : 객체가 수행하는 행위속 성 : 객체의 데이터이벤트 : 폼이나 컨트롤이 사용자나 시스템에서 받는 명령이벤트 프로시저 : 이벤트가 발생했을 때

자동으로 호출되는 프로시저

Page 6: VISUAL BASIC

Visual Basic 기동 모습

메뉴 :표준도구모음 : 다양한 컨트롤을 모아 놓은 곳프로젝트 창 : 프로그램 파일을 관리 하는 곳속성 창 : 컨트롤의 정보를 표시하는 곳폼 : 프로그램 실행 시 표시되는 화면코드 창 : 프로그램을 기술하는 곳

Page 7: VISUAL BASIC

Visual Basic 프로그램 과정

폼의 설계

코드 작성

컴파일 실행파일(*.EXE)

Page 8: VISUAL BASIC

이벤트 처리 방식 프로그래밍

프로시저 프로그래밍 프로그램이 순차적으로 실행 프로그래머 위주로 작성이벤트 처리방식 프로그래밍 프로그램이 이벤트의 발생에 따라 처리 ( 윈도우 처리방식 ) 특정행동 발생시 프로그램이 작동되도록 프로그램 (Visual Basic)

Page 9: VISUAL BASIC

Visual Basic 프로그램 작성순서

폼과 컨트롤의 배치속성의 변경코딩작업파일의 저장실행실행 가능 파일 작성

폼의 설계

Page 10: VISUAL BASIC

VISUAL BASIC 프로그램의 기초

어떤 개체가 어떠한 이벤트를

발생시켰을 때 어떠한 처리를

실행할 것인가

< 확인 > 버튼을

클릭하였을 때

현재의 시각을 표시한다

Page 11: VISUAL BASIC

폼의 이벤트

Activate 폼이 액티브 되었을 때 실행Click 폼의 내부 클릭 시 실행

DblClick 폼의 내부를 더블클릭 시 실행Load 폼을 열기 직전에 실행

UnLoad 폼을 닫기 직전에 실행

이벤트 설 명

Page 12: VISUAL BASIC

개체의 속성

속성은 개체의 설정 값처음에는 속성값을 속성 창에서 줄 수 있다

개체명 . 속성명 = 설정값

= 오른쪽의 설정 값을 왼쪽 개체의 속성에 대입한다

Page 13: VISUAL BASIC

컨트롤의 이름을 붙이는 방법

컨트롤 이름을 붙이는 규칙

1. 이름 맨 첫 자는 알파벳 a – z(A - Z) 이어야 한다 .2. 이름으로 사용할 수 있는 문자는 알파벳 , 숫자 , 언더스코어 이다 .3. 이름은 40 자 이내이다 .

Page 14: VISUAL BASIC

개체이름 약칭폼 frm

체크박스 chk

콤보박스 cbo

커맨드버튼 cmd

디렉토리 리스트박스 dir

드라이브 리스트박스 drv

파일리스트박스 fil

프레임 fra

이미지 img

개체이름 약칭레이블 lbl

라인 lin

리스트박스 lst

메뉴 mnu

옵션버튼 opt

픽쳐박스 pic

셰이프 shp

텍스트박스 txt

타이머 tmr

Page 15: VISUAL BASIC

함 수 (1) Val( 문자열 ) : 문자열형을 숫자형으로 변환

Str( 숫자 ) : 숫자형을 문자열형으로 변환

Format( 데이터 , “ 표시형식” )n =345.6, m=5,

A=Format(n, “##,##0,00”)B=Format(n, “##0,0”)C=Format(m, “0.00%”)

A=345.60

B=345.6

C=500.00%

숫자표시 형식변경

Page 16: VISUAL BASIC

산술 연산자 연산자 기 능 사용 예

^ 제 곱 7^2 => 49

- 마이너스 부호 -9

* 곱 하 기 9*2 => 18

/ 나 누 기 9/2 => 4.5

\ 정수 나눗셈 9\2 => 4

MOD 정수 나눗셈의 나머지 9 MOD 2 => 1

+ 더 하 기 9 + 2 => 11

- 뺄 셈 9 – 2 => 7

&, + 문자열 연결 “ 한” & “ 국” => “ 한국”

Page 17: VISUAL BASIC

관계 연산자 , 논리 연산자연산자 기 능 종 류

= 같 다 관계 연산자<> 같지 않다 관계 연산자< 작 다 관계 연산자> 크 다 관계 연산자

<= 작거나 같다 관계 연산자>= 크거나 같다 관계 연산자

Not 부 정 논리 연산자And 논 리 곱 논리 연산자Or 논 리 합 논리 연산자

Page 18: VISUAL BASIC

Change 이벤트

한 컨트롤의 변화가 다른 컨트롤에 변화를 일으키게 할 수 있다 .

텍스트 박스에 사용자가 입력드라이브 박스에서 드라이브 선택콤보 박스에서 항목선택

Page 19: VISUAL BASIC

변 수불 특정한 값 , 문자 또는 식을 임시로 저장하는 장소

Dim 변수명 ( As 데이터형 )

1. 변수명의 앞자는 알파벳 문자 또는 한글 )2. 기호 사용 가능 ( · 는 안됨 )3. 영문 255 자 이내 , 또는 한글 127 자 이내

Page 20: VISUAL BASIC

데이터 형데이터형 명 칭 설 명Integer 정수형 -32768 ~ 32767Long 배장정수형 -2147483648 ~ 2147483648 Single 단정도실수 -3.4 E^38 ~ -1.4 E^(-38) Double 배정도실수 -1.79 E^308 ~ -4.94 E^(-308)

Currency 통화형 -9.22*10^14 ~ 9.22*10^14 Date 날짜형 100 년 1 월 1 일 ~ 9999.12.31Byte 바이트형 0 ~255

Boolean 불형 True or FalseString 문자열형 문자

Varient 배리언트형 모든 데이터

Page 21: VISUAL BASIC

변수의 선언위치 프로시저의 처음에 선언 선언된 프로시저에서만 작동 ( 지역변수 ) 변수는 선언하지 않아도 비베 코드 내에서 자동으로

변수 선언됨 ( 암묵적 선언 : 단점은 변수 명을 잘못 적으면 찾기가 어려워짐 )

변수의 선언을 꼭 하는 것이 좋음 일반 선언부에 Option Explicit 라고 입력하면

선언하지 않은 변수 명을 자동으로 지적 ( 도구 - 옵션 - 편집기 - 변수선언요구 )

Page 22: VISUAL BASIC

변수의 사용범위

구분 선언 키워드 설 명

지역범위 Dim, Static프로시저내 선언

프로시저 내에서 공용

모듈범위 Private모듈의 일반 선언부에 선언

변수 , 상수 및 프로시저를 선언한 모듈 내에서 공용

전역범위 Public모듈의 일반 선언부에 선언

프로젝트 내에서 공용

Page 23: VISUAL BASIC

프로젝트 A

폼 A

Public a

프로시저 A

Private b

Dim c

프로시저 B

폼 B

변수 a,b 사용가능

변수 a,b,c 사용가능

변수 a,b 사용가능

변수 a 사용가능

Page 24: VISUAL BASIC

상 수

프로그램의 보스를 편하게 함

Const 상수명 = 값Const 상수명 As 데이터형 = 값

Page 25: VISUAL BASIC

배 열

동일한 크기의 데이터형을 갖는 변수들의 집합메모리에 할당됨예 : 학생들의 비베 점수 , 학번

A(0) …. …..A(1) A(2) A(I) A(19)

A(I)배열 명 배열번호

Page 26: VISUAL BASIC

Option Base [0/1]Dim 배열명 As 데이터형Dim 배열명 ( 범위 ) As 데이터형Dim 배열명 ( 시작번호 To 항목개수 ) As 데이터형

Array 함수를 사용하면 간단히 작성

Dim Yoil As VariantYoil = Array(“ 일” , “ 월” , “ 화” , “ 수” ,“ 목” , “ 금” , “ 토” ,)

일 월 화 수 목 금 토 0 1 2 3 4 5 6인덱스 값

Page 27: VISUAL BASIC

배열의 인덱스 값

배열의 인덱스 값은 0 부터 시작한다 .Option Base 1 을 일반 선언부에 선언하면

인덱스 번호가 1 부터 시작된다 .

Page 28: VISUAL BASIC

다차원 배열Dim 배열명 (m1 To n1, m2 To n2) As 데이터형

1993 1994 1995 1996 1997 1998 19991

2

3

4

5

6

7

8

9

11

10

12

Page 29: VISUAL BASIC

프로시저의 구문

Private Sub 개체명 . 이벤트명 ( 인수 ) 변수선언 스테이트먼트End Sub

프로시

제너럴 프로시저

이벤트 프로시저

Sub 프로시저

Function 프로시저

이벤트

프로시저

Page 30: VISUAL BASIC

제너럴 프로시저

프로그램 일부를 떼어내어 독립시킨 것Sub 프로시저 , Function 프로시저가 있음

Page 31: VISUAL BASIC

등교수업휴식식사수업수업휴식식사

식당에 간다요리를 주문한다

식사를 한다돈을 지불한다식당을 나온다

강의실로 간다출석을 체크 한다강의를 듣는다

실습을 한다강의실을 나온다

Sub

End Sub

Sub

Page 32: VISUAL BASIC

Sub 프로시저 생성

Sub 프로시저명 ( ) 변수의 정의 스테이트먼트End sub

Function 함수명 ( ) 변수의 정의 스테이트먼트End function

Page 33: VISUAL BASIC

With — End With

With 개체명 . 속성명 = 값End With

lblDate.Caption =“ 현재의 시간”lblDate.Font.Size = 10lblDate.Font.Italic = True

With lblDate .Caption = =“ 현재의 시간” .Font.Size = 10 .Font.Italic = TrueEnd With

같은 개체에 여러 개의

명령을 하나의 그룹으로

요약하기위한 스테이트먼트

Page 34: VISUAL BASIC

If ∼ Then

『 If ∼Then 』은 어떤 특정한 조건을 만족할 때의 처리 를 기술

If 조건식 Then 스테이트먼트 End If

조건식이 참일 때 스테이트먼트를 실행하고 거짓이면 아무 일도 하지 않는다

If Second(Time) = 0 ThenBeep

End If

Page 35: VISUAL BASIC

If ∼ Then ∼ Else

조건식이 참이면 스테이트먼트 1 을 실행하고 조건식이 거짓이면 스테이트먼트 2 를 실행한다 .

If 조건식 Then스테이트먼트 1

Else 스테이트먼트 2

End If

Page 36: VISUAL BASIC

If ∼ Then ∼ ElseIf

조건식 1 이 참 이면 스테이트먼트 1 을 실행하고 조건식 1 이 거짓 , 조건식 2 가 참 이면 스테이트먼트 2 를 실행 조건식 1,2 가 모두 거짓이면 스테이트먼트 3 을 실행한다 .

If 조건식 1 Then 스테이트먼트 1ElseIf 조건식 2 Then 스테이트먼트 2Else 스테이트먼트 3End If

Page 37: VISUAL BASIC

Select Case ∼

Select Case 변수명Case 범위 1

스테이트먼트 1Case 범위 2

스테이트먼트 2………….

Case Else 스테이트먼트

End Select

If∼Then ∼Else 와 유사

조건

처리문 1 처리문 2 처리문 3 처리문 4

Page 38: VISUAL BASIC

장태산 휴양림의 입장료는 어른 : 2000, 학생 : 700, 어린이 : 500 이다 . 어른 , 학생 , 어린이의 사람수를입력받아 , 입장료의 합계를 구하는 프로그램을 작성하여라 .

Page 39: VISUAL BASIC

For ∼ Next

초기값부터 종료 값까지 증감 값 만큼 반복 실행

Step 증감 값은 생략 가능 , Step=1 로 인정

For 변수 = 초기값 To 종료값 Step 증감값 반복처리 스테이트먼트

Next 변수

Page 40: VISUAL BASIC

Sort( 정열 )

소트란 데이터를 어떤 순서대로 재 배열 오름차순 : 작은 데이터부터 큰 데이터 순으로 재배열 내림차순 : 큰 데이터부터 작은 데이터 순으로 재배열

Page 41: VISUAL BASIC

14 10 20 20012 15 10 15013 25 20 50011 20 30 600

상품번호 수량 단가 금액

1 열 2 열 3 열 4 열

1 행 2 행

3 행4 행

p(4,4)

p(1,1) > p(2,1) 1 행과 2 행을 모두 바꾼다

For k = 1 To 4im = p(1,k) : p(1,k) = p(2,k) : p(2,k) = im

Next k

Page 42: VISUAL BASIC

For j = 2 To 4 If p(1,1) > p(j,1) Then For k = 1 To 4

im = p(1,k) : p(1,k) = p(j,k) : p(j,k) = im Next k End IfNext j

제 1 행에 가장 작은 원소가 들어왔다 .

Page 43: VISUAL BASIC

For i = 1 To 3 For j = i + 1 To 4 If p(i,1) > p(j,1) Then For k = 1 To 4

im = p(1,k) : p(1,k) = p(j,k) : p(j,k) = im Next k

End If Next j

Next i

Page 44: VISUAL BASIC

Do While ∼ Loop 문

Do While 조건식 문장

……

Loop

조건 만족조건 만족

반복 문장

Loop 문 다음 문장

아니오(False)

예 (True)

Page 45: VISUAL BASIC

Do ∼ Loop While 문

Do 문장

……

Loop While 조건식

조건 만족조건 만족

반복 문장

While 문 다음 문장

아니오(False)

예 (True)

Page 46: VISUAL BASIC

Do Until ∼ Loop 문

Do Until 조건식 문장

……

Loop

조건 만족조건 만족

반복 문장

Loop 문 다음 문장

예 (True)

아니오 (False)

Page 47: VISUAL BASIC

Do ∼ Loop Until 문

Do 문장

……

Loop Until 조건식

조건 만족조건 만족

반복 문장

While 문 다음 문장

예 (True)

아니오 (False)

Page 48: VISUAL BASIC

제어구조 , 프로시저의 강제종료

「 For - Next」

「 Do - Loop」

「 Exit For」

「 Exit Do」

「 Sub - End Sub」

「 Function - End Function」

「 Exit Sub」

「 Exit Function」

Page 49: VISUAL BASIC

Sequential Access데이터를 파일로 저장저장한 파일을 열 때 사용 Input 모드 : 읽기 전용 모드 , 열린 파일의

맨 앞부터 차례로 데이터를 읽어 들인다 .Output 모드 : 입력 전용 모드 , 열린

파일의 맨 앞부터 차례로 데이터를 저장 . ( 이미 저장된 데이터는 삭제 , 새로운

데이터로 교체 ) Append 모드 : 입력 전용모드에서 열린

파일의 끝에 데이터를 추가 저장

Page 50: VISUAL BASIC

Input 모드

Open 파일명 For Input As 파일번호

Input # 파일번호 , 변수 명

Close # 파일번호

Open 문으로 지정한 파일을 연다 .

Input 문으로 데이터를 읽어 들여 변수에 저장한다 .

Close 문으로 파일을 종료한다 .

파일번호 1-511까지 , 보통 1 을 지정

Page 51: VISUAL BASIC

Output 모드 Open 파일명 For Output As 파일번호

Write # 파일번호 , 데이터 1데이터 2………

Close # 파일번호

Open 문으로 지정한 파일을 연다 .

Write 문으로 1 행 분의 데이터를 새로 저장 .

Close 문으로 파일을 종료한다 .

Page 52: VISUAL BASIC

Append 모드 Open 파일명 For Append As 파일번호

Write # 파일번호 , 데이터 1데이터 2………

Close # 파일번호

Open 문으로 지정한 파일을 연다 .

Write 문으로 1 행 분의 데이터를 추가하여 저장 .

Close 문으로 파일을 종료한다 .

Page 53: VISUAL BASIC

파일명이나 패스명의 취득

「 Dir1.Path 」로 「 C:\Mydoc 」 를 취득 「 File1.FileName 」 로 「 Test.txt 」 를

취득 「 Dir1.Path & “\” & File1.FileName 」 로

「 C:\Mydocuments\Test.txt 를 취득

폴더가 있는 경우C:\Mydoc\Test.txt

Page 54: VISUAL BASIC

「 Dir1.Path 」 로 「 C:\ 」 를 취득「 File1.FileName 」로 「 Test.txt 」를

취득「 Dir1.Path & File1.FileName 」 로 「 C:

\Test.txt 」 를 취득

폴더가 없는 경우C:\Test.txt

If Right(Dir1.Path,1) = “\” Then변수명 = Dir1.Parh & File1.FileName

Else 변수명 = Dir1.Parh & “\” & File1.FileName

End If

Page 55: VISUAL BASIC

프로그램의 디버그와 컴파일

디버그 : 프로그램에 잘못이 있는지 없는지를 점검하고 , 수정하는 작업

한 단계씩 코드 실행 : 단축키 F8간단한 조사식 : 현재의 상황을 파악직접실행창 : 현재의 상황을 파악