3 장 . 비주얼베이직언어의 기본 문법
description
Transcript of 3 장 . 비주얼베이직언어의 기본 문법
- 1 -
33 장장 . . 비주얼베이직언어의 기본 문법 비주얼베이직언어의 기본 문법
- 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" 를 반환
- 3 -
날짜날짜 // 시간에 관계된 함수 시간에 관계된 함수
함수 기능 설명 사용 예
Date 현재 시스템 날짜의 값을 반환MyDate = Date MyDate 에 현재 시스템 날짜가 포함되어 있음
Time현재의 시스템 시간을 나타내는 값을 반환
MyTime = Time 현재 시스템 시간을 반환
Now사 용 자 컴 퓨 터 의 시 스 템 날 짜 나 시간에 따른 현재 날짜와 시간을 지정하는 값을 반환
Today = Now 현재 시스템 날짜와 시간을 지정
- 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 를 가짐
- 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
- 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
- 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
- 8 -
제어문 1. 조건문 - if 문 - select ~ case 문 2. 반복문 - for 문 - do ~ while 문 - do ~ until 문 3. 분기문 - for each : 배열이나 컬렉션안에 문자열을 찾거나 문자열리스트를 조회할때 사용
- on ~ error : 에러 처리 위해 사용
- exit : 반복문이나 프로시저 중에 강제 종료 위해 사용
- 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
- 10 -
IfIf 문 예제문 예제 -1-1
Private Sub Command1_Click()
Dim se As Stringse = Text1.TextIf se = “1” ThenLabel1.Caption = " 남자입니다 "End IfEnd Sub
text1 Command1
Label1
- 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 구문 사용예제
- 12 -
간단한 계산기 예제를 통해서 조건문 익히기간단한 계산기 예제를 통해서 조건문 익히기
p.68 p.68 참조참조
- 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 문안의 비교값에 올 수 있는 형태
- 14 -
[[ 실습하기실습하기 ] Select ~ Case ] Select ~ Case 문 사용하기 문 사용하기
폼에 컨트롤 추가하기 폼에 컨트롤 추가하기
11
12 13
14
15
- 15 -
각 컨트롤의 각 컨트롤의 속성 설정속성 설정
- 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
- 17 -
cmdCalculate cmdCalculate 버튼의 버튼의 Click Click 이벤트 핸들러 작성 이벤트 핸들러 작성 Private Sub cmdExit_Click() End End Sub
프로그램 실행프로그램 실행
- 18 -
반복문 반복문
while while 문문 do ~ loop do ~ loop 문 문 do ~ loop while 문 , do while ~ loop 문 do ~ loop until 문 , do until ~ loop 문 for ~ next for ~ next 문문
- 19 -
While While 문문
while while 문문 조건이 True 인 동안 문장을 반복하여 수행 형식
while 조건식이나 변수 반복실행문장 wend
조건식의 값이 참이거나 변수값이 0 이 아닌 경우반복실행문장을 계속 수행하게 된다 .
while x <= 5 print x x = x + 1wend
< 예제 >
- 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; " 이다 "
- 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 문 사용시 조건이 참이 될때 까지 문장 반복
- 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 문을 벗어난다 .
문장을 먼저 처리한 후 , 조건을 검사하므로 조건이 거짓이더라도 반드시한번은 문장을 실행하게 된다 .
- 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 문문
- 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 문을 벗어난다 .
문장을 먼저 처리한 후 , 조건을 검사하므로 조건이 거짓이더라도 반드시한번은 문장을 실행하게 된다 .
- 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
- 26 -
For ~ Next For ~ Next 문 사용하기문 사용하기
For ~ Next For ~ Next 문문 정해진 문장 그룹을 지정한 횟수만큼 반복 수행하도록 하기 위해
사용하는 반복문 구문 형식
초기값 : 필수 항목으로 변수의 시작 값 최종값 : 필수 항목으로 변수의 마지막 값 증가값 :
선택 항목으로 반복문을 한번 수행할 때마다 변하는 변수의 값지정하지 않으면 증가값의 기본 값은 1증가값은 양수 / 음수 모두 가능
For 변수 = 초기 값 To 최종 값 [step 증가 값 ] 처리할 문장 1 [Exit For] 처리할 문장 2 Next 변수
- 27 -
For ~ Next For ~ Next 문 사용하기문 사용하기
For ~ Next For ~ Next 문문
처리 순서
For 변수 = 초기 값 To 최종 값 [step 증가 값 ]
처리할 문장 1 [Exit For] 처리할 문장 2
Next 변수
(1) (2)
(3),
(4)(5)
(6)
- 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
- 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
- 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
- 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
- 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
- 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 문 전체를 벗어남 .