33
- 1 - 3 3 . . 장장장장장장장장장 장장 장장 장장장장장장장장장 장장 장장

3 장 . 비주얼베이직언어의 기본 문법

  • Upload
    odette

  • View
    93

  • Download
    5

Embed Size (px)

DESCRIPTION

3 장 . 비주얼베이직언어의 기본 문법. 표식 서식지정 문자. 기능 설명. 사용예. . , #. . : 소수점을 표시 . # : 원본의 숫자를 표시하고 빈 자리는 표시하지 않음. Format(1357.46,"#####.##") -> "1357.5" 를 반환 Format(1357.9,"####")  반올림 된 후 , “ 1358" 이 반환. 0. 원본의 숫자 또는 ‘ 0 ’ 을 표시 빈자리는 0 으로 표시. Format(1357.9,"00000.00") - PowerPoint PPT Presentation

Citation preview

Page 1: 3 장 .  비주얼베이직언어의 기본 문법

- 1 -

33 장장 . . 비주얼베이직언어의 기본 문법 비주얼베이직언어의 기본 문법

Page 2: 3 장 .  비주얼베이직언어의 기본 문법

- 2 -

Format Format 함수함수 형식 : format( 데이터값 , “ 포맷형식” ) 예 : format(120.567, “###.#”) 소수점 한자리로

출력 표식

서식지정 문자

기능 설명 사용예

. , #

. : 소수점을 표시 . # : 원본의 숫자를 표시하고 빈 자리는 표시하지 않음

Format(1357.46,"#####.##") -> "1357.5" 를 반환Format(1357.9,"####") 반올림 된 후 , “1358" 이 반환

0원본의 숫자 또는 ‘ 0’ 을 표시 빈자리는 0 으로 표시

Format(1357.9,"00000.00") “01357.90" 를 반환

Page 3: 3 장 .  비주얼베이직언어의 기본 문법

- 3 -

날짜날짜 // 시간에 관계된 함수 시간에 관계된 함수

함수 기능 설명 사용 예

Date 현재 시스템 날짜의 값을 반환MyDate = Date MyDate 에 현재 시스템 날짜가 포함되어 있음

Time현재의 시스템 시간을 나타내는 값을 반환

MyTime = Time 현재 시스템 시간을 반환

Now사 용 자 컴 퓨 터 의 시 스 템 날 짜 나 시간에 따른 현재 날짜와 시간을 지정하는 값을 반환

Today = Now 현재 시스템 날짜와 시간을 지정

Page 4: 3 장 .  비주얼베이직언어의 기본 문법

- 4 -

날짜 날짜 / / 시간 함수 시간 함수 함수 기능 설명 사용 예

Day(date)해당 월의 날짜를 의미하는 정수값을 반환

MyDay = Day(#February 12, 1969#) MyDay 가 12 를 포함

Month (date)

년 중 월을 나타내는 1 에 서 12 사 이 의 정수값을 반환

MyMonth = Month(#February 12, 1969#) MyMonth 가 2 를 포함

Year(date) 연도를 나타내는 정수 값을 반환

MyYear = Year(#February 12, 2006#) MyYear 2006 를 가짐

Page 5: 3 장 .  비주얼베이직언어의 기본 문법

- 5 -

날짜날짜 // 시간에 관계된 함수 시간에 관계된 함수 Format 함수

사용예

format(Now, "yyyy 년 mm 월 dd 일 ") ‘ 현재날짜와 시간을 주어진 포맷형식으로 설정

표식 서식지정 문자 기능 설명 사용 예

m, d, yy

m : 월을 숫자로 표시 (1-12)d : 일을 숫자로 표시 (1-31)yy : 연도를 두 자릿수로 표시(00 - 99)

m/d/yy 12/7/58

mmm 월을 약어로 표시 (Jan - Dec) d-mmm 7-Dec

mmmm 월 의 명 칭 을 원 래 대 로 표 시(January - December)

d mmmm 7 December

Page 6: 3 장 .  비주얼베이직언어의 기본 문법

- 6 -

표식 서식지정 문자 기능 설명 사용 예

h, m 또는 hh, mm

h : 시를 숫자로 표시 (0 - 23). 0-9 표시할 때 , 앞에 ‘ 0’ 이 붙지 않음m : ‘ 분’이 표시됨

h:mm20:50

s 또는 ss

s: 초를 숫자로 표시 (00 - 59)0-9 표시할 때 , 앞에 ‘ 0’ 이 붙지 않음ss : 0-9 표시할 때 , 앞에 ‘ 0’ 이 붙음

h:mm:ss3:50:35

Page 7: 3 장 .  비주얼베이직언어의 기본 문법

- 7 -

표식 서식지정 문자 기능 설명 사용 예

AM/PM

AM/PM : 12- 시간 시계를 이용 시간이 오전인 경우 , 오전 ( 대문자 ) 이 시간과 함께 표시 / 오후 시간인 경우 오후 (대문자 ) 가 시간과 함께 표시

hh:mm AM/PM08:50 PM

a/p

12- 시간 시계를 이용 . 시간이 오전인 경 우 a( 소 문 자 ) 가 시 간 과 함 께 표시 . / 오후 시간인 경우 p( 소문자 ) 가 시간과 함께 표시

h:mm:ss a/p8:50:35 p

Page 8: 3 장 .  비주얼베이직언어의 기본 문법

- 8 -

제어문 1. 조건문 - if 문 - select ~ case 문 2. 반복문 - for 문 - do ~ while 문 - do ~ until 문 3. 분기문 - for each : 배열이나 컬렉션안에 문자열을 찾거나 문자열리스트를 조회할때 사용

- on ~ error : 에러 처리 위해 사용

- exit : 반복문이나 프로시저 중에 강제 종료 위해 사용

Page 9: 3 장 .  비주얼베이직언어의 기본 문법

- 9 -

IF ~ THEN IF ~ THEN 문문 IF ~ THEN IF ~ THEN 문문

변수의 값에 따라 다르게 작업할 필요가 있을 때 사용 형식

IF 조건 THEN 조건이 참인 경우 처리할 작업 END IF

IF 조건 THEN 조건이 참인 경우 처리할 작업 ELSE 조건이 거짓인 경우 처리할 작업 END IF

IF 조건 1 THEN 조건 1 이 참인 경우 처리할 작업 ELSE IF 조건 2 THEN 조건 1 은 거짓이고 조건 2 가 참인 경우 처리할 작업      ..... ELSE 위의 어느 조건도 만족하지 않은 경우 처리할 작업 END IF

Page 10: 3 장 .  비주얼베이직언어의 기본 문법

- 10 -

IfIf 문 예제문 예제 -1-1

Private Sub Command1_Click()

Dim se As Stringse = Text1.TextIf se = “1” ThenLabel1.Caption = " 남자입니다 "End IfEnd Sub

text1 Command1

Label1

Page 11: 3 장 .  비주얼베이직언어의 기본 문법

- 11 -

IfIf 문 예제문 예제 -1-1Dim se As Stringse = Text1.TextIf se = “1” Then Label1.Caption = " 남자입니다“Else Label1.Caption = “ 여자입니다“End If

Dim se As Stringse = Text1.TextIf se = “1” Then Label1.Caption = " 남자입니다“Elseif se=“2” then Label1.Caption = “ 여자입니다“Else Label1.Caption = “ 다시 입력하세요“End If

If ~ else 구문 사용예제

If ~ elseif ~else 구문 사용예제

Page 12: 3 장 .  비주얼베이직언어의 기본 문법

- 12 -

간단한 계산기 예제를 통해서 조건문 익히기간단한 계산기 예제를 통해서 조건문 익히기

p.68 p.68 참조참조

Page 13: 3 장 .  비주얼베이직언어의 기본 문법

- 13 -

Select ~ Case Select ~ Case 문문

Select ~ Case Select ~ Case 문문 하나의 변수 값에 대해 여러 개의 서로 다른 작업을 해야하는

경우 IF ~ THEN 문보다는 SELECT ~ CASE 문 사용 구문 형식

SELECT CASE 평가대상 CASE 비교값 1 처리할 문장 1 CASE 비교값 2 처리할 문장 2 CASE 비교값 3 처리할 문장 3 … CASE ELSE 처리할 문장 n END select

비교값 형태비교값 형태 예예 의미의미한 개의 값 7

콤마구분 1,2,5,7

To 문 사용 1 to 9 1 에서 9사이의값

Is 사용한 조건 Is < 7 7 보다 작은 값

Case 문안의 비교값에 올 수 있는 형태

Page 14: 3 장 .  비주얼베이직언어의 기본 문법

- 14 -

[[ 실습하기실습하기 ] Select ~ Case ] Select ~ Case 문 사용하기 문 사용하기

폼에 컨트롤 추가하기 폼에 컨트롤 추가하기

11

12 13

14

15

Page 15: 3 장 .  비주얼베이직언어의 기본 문법

- 15 -

각 컨트롤의 각 컨트롤의 속성 설정속성 설정

Page 16: 3 장 .  비주얼베이직언어의 기본 문법

- 16 -

cmdCalculate cmdCalculate 버튼의 버튼의 Click Click 이벤트 핸들러 작성 이벤트 핸들러 작성

Private Sub cmdCalculate_Click() Dim Kor, Eng, Mat, Total As Integer Dim Aver, Average As Double Kor = Val(txtKor.Text) Eng = Val(txtEng.Text) Mat = Val(txtMath.Text) Total = Kor + Eng + Mat Aver = Total / 3 Average = Round(Aver, 2) txtTotal.Text = Str(Total) txtAverage.Text = Str(Average)

Select Case Average Case 90 To 100 lblGradeDisp.Caption = "A" Case 80 To 89 lblGradeDisp.Caption = "B" Case 70 To 79 lblGradeDisp.Caption = "C" Case Else lblGradeDisp.Caption = "F" End Select End Sub

Page 17: 3 장 .  비주얼베이직언어의 기본 문법

- 17 -

cmdCalculate cmdCalculate 버튼의 버튼의 Click Click 이벤트 핸들러 작성 이벤트 핸들러 작성 Private Sub cmdExit_Click() End End Sub

프로그램 실행프로그램 실행

Page 18: 3 장 .  비주얼베이직언어의 기본 문법

- 18 -

반복문 반복문

while while 문문 do ~ loop do ~ loop 문 문 do ~ loop while 문 , do while ~ loop 문 do ~ loop until 문 , do until ~ loop 문 for ~ next for ~ next 문문

Page 19: 3 장 .  비주얼베이직언어의 기본 문법

- 19 -

While While 문문

while while 문문 조건이 True 인 동안 문장을 반복하여 수행 형식

while 조건식이나 변수 반복실행문장 wend

조건식의 값이 참이거나 변수값이 0 이 아닌 경우반복실행문장을 계속 수행하게 된다 .

while x <= 5 print x x = x + 1wend

< 예제 >

Page 20: 3 장 .  비주얼베이직언어의 기본 문법

- 20 -

While While 문 예제 문 예제 : Factorial : Factorial 값 구하기 값 구하기

Dim sum As Long, num As Integer num = 1 sum = 1 While num < Val(txtFactorial.Text) num = num + 1 sum = sum * num WendpicShow.Print "Factorial 의 값은 "; sum; " 이다 "

Page 21: 3 장 .  비주얼베이직언어의 기본 문법

- 21 -

Do ~ Loop Do ~ Loop 문문

Do ~ Loop Do ~ Loop 문문 조건이 True 인 동안 또는 True 가 될 때까지 문장을

반복하여 수행 종류

Do while ~ loop, Do ~ loop while Do until ~ loop, Do ~ loop until

while 문 사용시 조건이 참인동안 문장 반복

until 문 사용시 조건이 참이 될때 까지 문장 반복

Page 22: 3 장 .  비주얼베이직언어의 기본 문법

- 22 -

Do while ~ Loop Do while ~ Loop 문문

Do while ~ Loop Do while ~ Loop 문과 문과 Do ~ loop while Do ~ loop while 문문 조건이 True 인 동안 문장을 반복하여 수행 구문 형식

Do 처리할 문장 1 [Exit Do] [ 처리할 문장 2..] Loop While 조건식

Do While 조건식 처리할 문장 1 [Exit Do] [ 처리할 문장 2..] Loop

조건식을 먼저 검사한 후 , 조건이 참이면 문장을 처리하고아니면 do~loop 문을 벗어난다 .

문장을 먼저 처리한 후 , 조건을 검사하므로 조건이 거짓이더라도 반드시한번은 문장을 실행하게 된다 .

Page 23: 3 장 .  비주얼베이직언어의 기본 문법

- 23 -

예 1 (1 에서 5 까지의 합 :Do ~ Loop 문 사용 )

    Dim i, Sum As Integer         Sum = 0 : i = 1    

    Do While i <= 5         Sum = Sum + i         i = i + 1     Loop         lblsum1.Caption = Sum

    Dim i, Sum As Integer         Sum = 0 : i = 1         Do         Sum = Sum + i         i = i + 1     Loop While i <= 5         lblsum1.Caption = Sum

Do ~ Loop Do ~ Loop 문문

Page 24: 3 장 .  비주얼베이직언어의 기본 문법

- 24 -

Do until ~ Loop Do until ~ Loop 문문

Do until ~ Loop Do until ~ Loop 문과 문과 Do ~ loop until Do ~ loop until 문문 조건이 True 가 될때까지 문장을 반복하여 수행함 .

즉 , 조건이 거짓인 동안 문장을 반복수행함 . 구문 형식

Do 처리할 문장 1 [Exit Do] [ 처리할 문장 2..] Loop until 조건식

Do until 조건식 처리할 문장 1 [Exit Do] [ 처리할 문장 2..] Loop

조건식을 먼저 검사한 후 , 조건이 거짓이면 문장을 처리하고아니면 do~loop 문을 벗어난다 .

문장을 먼저 처리한 후 , 조건을 검사하므로 조건이 거짓이더라도 반드시한번은 문장을 실행하게 된다 .

Page 25: 3 장 .  비주얼베이직언어의 기본 문법

- 25 -

예 (1 에서 5 까지의 합 :Do until ~ Loop 문 사용 )

    Dim i, Sum As Integer         Sum = 0 : i = 1    

    Do until i > 5         Sum = Sum + i         i = i + 1     Loop         lblsum1.Caption = Sum

    Dim i, Sum As Integer         Sum = 0 : i = 1         Do         Sum = Sum + i         i = i + 1     Loop until i > 5         lblsum1.Caption = Sum

Page 26: 3 장 .  비주얼베이직언어의 기본 문법

- 26 -

For ~ Next For ~ Next 문 사용하기문 사용하기

For ~ Next For ~ Next 문문 정해진 문장 그룹을 지정한 횟수만큼 반복 수행하도록 하기 위해

사용하는 반복문 구문 형식

초기값 : 필수 항목으로 변수의 시작 값 최종값 : 필수 항목으로 변수의 마지막 값 증가값 :

선택 항목으로 반복문을 한번 수행할 때마다 변하는 변수의 값지정하지 않으면 증가값의 기본 값은 1증가값은 양수 / 음수 모두 가능

For 변수 = 초기 값 To 최종 값 [step 증가 값 ] 처리할 문장 1       [Exit For] 처리할 문장 2 Next 변수

Page 27: 3 장 .  비주얼베이직언어의 기본 문법

- 27 -

For ~ Next For ~ Next 문 사용하기문 사용하기

For ~ Next For ~ Next 문문

처리 순서

For 변수 = 초기 값 To 최종 값 [step 증가 값 ]

처리할 문장 1       [Exit For] 처리할 문장 2

Next 변수

(1) (2)

(3),

(4)(5)

(6)

Page 28: 3 장 .  비주얼베이직언어의 기본 문법

- 28 -

For ~ Next For ~ Next 문 사용하기문 사용하기

<< 예제 예제 1> 1> 버튼을 클릭하면 버튼을 클릭하면 11 에서 에서 55 까지 까지 11 씩 씩 증가하면서 화면에 출력하시오증가하면서 화면에 출력하시오 ..

Private Sub Command1_Click()Private Sub Command1_Click()

ForFor num = 1 num = 1 ToTo 5 5 Step 1Step 1 Print "num="; numPrint "num="; numNextNext num num

End SubEnd Sub

Page 29: 3 장 .  비주얼베이직언어의 기본 문법

- 29 -

For ~ Next For ~ Next 문 사용하기문 사용하기

<< 예제 예제 2> 2> 버튼을 클릭하면 버튼을 클릭하면 11 에서 에서 1010 까지 의 까지 의 수중에서 홀수만 화면에 출력하시오수중에서 홀수만 화면에 출력하시오 ..

Private Sub Command1_Click()Private Sub Command1_Click()

ForFor num = 1 num = 1 ToTo 10 10 Step 2Step 2 Print "num="; numPrint "num="; numNextNext num num

End SubEnd Sub

Page 30: 3 장 .  비주얼베이직언어의 기본 문법

- 30 -

For ~ Next For ~ Next 문 사용하기문 사용하기

<< 예제 예제 3> 3> 입력한 숫자의 구구단을 작성입력한 숫자의 구구단을 작성

Dim num, a, b As Integer picShow.Cls a = Val(txtNumber.Text) If (a = 0) Then picShow.Print " 숫자를 입력하세요 " Else For num = 1 To 9For num = 1 To 9 b = a * numb = a * num picShow.Print a; "*"; num; " = "; bpicShow.Print a; "*"; num; " = "; b NextNext End If

Page 31: 3 장 .  비주얼베이직언어의 기본 문법

- 31 -

For ~ Next For ~ Next 문 사용하기 – 다중 문 사용하기 – 다중 for ~ nextfor ~ next

다중 다중 For ~ Next For ~ Next 문문 for ~ next 문안에 또 다른 for ~ next 문을 내포해서 사용함 . 구문 형식

For 변수 1 = 초기 값 To 최종 값 [step 증가 값 ] 실행할 문장 1 For 변수 2 = 초기 값 To 최종 값 [step 증가 값 ] 실행할 문장 2      Next 변수 2Next 변수 1

변수 1 이 한번 수행되는동안 변수 2 가 주어진 최종값까지 반복을 다 마친 후 , 변수 1 의 증감이 이루어진다 . 전체 반복횟수 : 변수 1 * 변수 2

Page 32: 3 장 .  비주얼베이직언어의 기본 문법

- 32 -

For ~ Next For ~ Next 문 사용하기 – 다중 문 사용하기 – 다중 for ~ nextfor ~ next

예제예제 다중 for ~ next 문의 대표적 예제 구구단

For m = 2 To 9For m = 2 To 9 For n = 1 To 9For n = 1 To 9 print m; “*” ; n ;” = “ ; m*n print m; “*” ; n ;” = “ ; m*n Next nNext n print print // 줄을 넘기기 위해 사용 Next mNext m

Page 33: 3 장 .  비주얼베이직언어의 기본 문법

- 33 -

For ~ Next For ~ Next 문 사용하기문 사용하기

Exit Exit 문문 반복문안에서 이 문을 만나면 반복문 전체를 벗어난다 . exir for, exit do 의 형태로 사용함

For n = 1 To 20For n = 1 To 20 if n >10 then if n >10 then exit forexit for end if end if sum = sum + nsum = sum + nNext nNext n Print “Print “ 합합 = "; = "; sumsum

1 에서 20 까지의 수 중에서 n 이 10 보다 크면 exit for 문에 의해서For 문 전체를 벗어남 .