Presentation is loading. Please wait.

Presentation is loading. Please wait.

주제 : 배열, 사용자정의 데이터형, 프로시저와 함수 등..

Similar presentations


Presentation on theme: "주제 : 배열, 사용자정의 데이터형, 프로시저와 함수 등.."— Presentation transcript:

1 주제 : 배열, 사용자정의 데이터형, 프로시저와 함수 등..
제2장 기본 문법 (3) 주제 : 배열, 사용자정의 데이터형, 프로시저와 함수 등..

2 차례 배열 사용자 정의 데이터형 프로시저와 함수 사용하기 내장 함수 사용하기 객체를 위한 특별한 명령문들
아주 간단한 코딩 규칭 고수 포인트 수원과학대학 컴퓨터정보과

3 1. 배열(1) ( ) ( ) 이란? 1차원 배열 사용법 생성되는 모든 배열의 인덱스가 1부터 시작됨
( ) 이란? 같은 데이터형을 가진 여러 개 변수의 집단 1차원 배열 사용법 Dim 배열명(갯수) [As 데이터형] 예) Dim data(10) As Integer 정수형을 가지는 11개의 공간이 있는 data 배열 변수 data(0), data(1), data(2), … , data(9), data(10) 배열의 첫번째 인덱스는 0으로 시작함. 1부터 시작하려면 Dim Data(1 to 10) 또는 Option Base 1 ( ) 생성되는 모든 배열의 인덱스가 1부터 시작됨 data(0) data(1) data(2) data(3) data(6) data(7) data(8) data(9) data(10) 수원과학대학 컴퓨터정보과

4 1. 배열(2) 1차원 배열 예제 1 Option Explicit Private Sub Form_DblClick()
Dim Data(10) As Integer Dim i As Integer For i = 0 To 10 ' Data(10) 배열은 Data(0)~Data(10)까지 Data(i) = i * 2 Form1.Print "i = " & i & " Data(" & i & ") = " & Data(i) Next End Sub 수원과학대학 컴퓨터정보과

5 1. 배열(2-1) 1차원배열의 정확한 사용 예 3장26.vbp Option Explicit
Private Sub Form_DblClick() Dim Data(1 To 10) As Integer Dim i As Integer For i = 1 To 10 Data(i) = i * 2 Form1.Print "i = " & i & " Data(" & i & ") = " & Data(i) Next End Sub 수원과학대학 컴퓨터정보과

6 1. 배열(3) 1차원 배열 예제2 Option Base 1의 사용으로 인덱스가 1부터 시작 3장25.vbp
수원과학대학 컴퓨터정보과

7 1. 배열(4) 1차원 배열 예제 3 가변형 배열 변수 : Array( ) 함수 사용 3장27.vbp
As Variant가 생략된 경우 수원과학대학 컴퓨터정보과

8 1. 배열(5) 다차원 배열 2차원 배열의 예 VB에서는 최대 60차원 배열까지 사용가능 Option Base 1
Dim Data(3, 5) As Integer 1 2 3 4 5 Data(1,1) Data(1,2) Data(1,3) Data(1,4) Data(1,5) Data(2,1) Data(2,2) Data(2,3) Data(2,4) Data(2,5) Data(3,1) Data(3,2) Data(3,3) Data(3,4) Data(3,5) 수원과학대학 컴퓨터정보과

9 1. 배열(5-0) 2차원 배열 예제 3장28.vbp Option Explicit Option Base 1
Private Sub Form_DblClick() Dim Data(3, 5) Dim i As Integer Dim j As Integer For i = 1 To 3 For j = 1 To 5 Data(i, j) = i * j Form1.Print i & "*" & j & "=" & Data(i, j) Next End Sub 수원과학대학 컴퓨터정보과

10 1. 배열(5-1) 2차원 배열(구구단)을 작성해보자 Dim Data(9, 9) As Integer 2019-04-13
수원과학대학 컴퓨터정보과

11 1. 배열(5-3) 역순출력 수원과학대학 컴퓨터정보과

12 1. 배열(6) 3차원 배열의 예 Option Base 1 Dim Data(2, 3, 5) As Integer 1 2 3 4
수원과학대학 컴퓨터정보과

13 1. 배열(7) 동적 배열 프로그램 실행중에 동적으로 변화는 배열 변수의 선언시 크기를 지정하지 않아야 함. Dim 배열명()
ReDim 배열명(개수) 원래 배열의 값을 초기화 시키고 확장함. ReDim Preserve 배열명(개수) 원래 배열의 값을 유지한 채로 확장함. 수원과학대학 컴퓨터정보과

14 1. 배열(7-1) 동적 배열 예제 1 3장29.vbp Option Explicit Option Base 1
Private Sub Form_DblClick() Dim Data() Dim i As Integer ReDim Data(3) For i = 1 To 3 Data(i) = i * 100 Form1.Print "Data(" & i & ")=" & Data(i) Next ReDim Data(5) For i = 4 To 5 Data(i) = i * 1000 End Sub 동적 배열 예제 1 수원과학대학 컴퓨터정보과

15 1. 배열(7-2) 동적 배열 예제2 preserve를 사용 3장30.vbp Option Explicit
Option Base 1 Private Sub Form_DblClick() Dim Data() Dim i As Integer ReDim Data(3) For i = 1 To 3 Data(i) = i * 100 Form1.Print "Data(" & i & ")=" & Data(i) Next ReDim Preserve Data(5) For i = 4 To 5 Data(i) = i * 1000 End Sub 동적 배열 예제2 preserve를 사용 수원과학대학 컴퓨터정보과

16 1. 배열(8) 사용자 정의 데이터형 정의 방법 사용 방법 [Private/Public] Type 사용자정의형이름
구성멤버1 As 데이터형 구성멤버2 As 데이터형 구성멤버n As 데이터형 End Type Dim 변수이름 As 사용자정의형이름 수원과학대학 컴퓨터정보과

17 1. 배열(8-1) 사용자 정의 데이터형 예제1 3장31.vbp Option Explicit
Private Type StudentType Num As Integer Name As String Jumsu As Integer End Type Private Sub Form_DblClick() Dim Student As StudentType Student.Num = 1 Student.Name = "이효리" Student.Jumsu = 99 Form1.Print Student.Num Form1.Print Student.Name Form1.Print Student.Jumsu End Sub 학생 3사람의 자료를 저장하려면? 수원과학대학 컴퓨터정보과

18 1. 배열(8-2) 사용자 정의 데이터형 예제2 Option Explicit Option Base 1 Type 학생형
번호 As Integer 이름 As String 점수 As Integer End Type 수원과학대학 컴퓨터정보과

19 3. 프로시저와 함수 사용하기(1) 하나의 ( )는 여러 개의 ( )로 구성 하나의 모듈은 여러 개의 ( ) 로 구성
하나의 ( )는 여러 개의 ( )로 구성 하나의 모듈은 여러 개의 ( ) 로 구성 프로시저 : 하나의 논리적인 단위나 블록 서브 프로시저(Sub Procedure) 이벤트프로시저, 일반 프로시저 함수 프로시저(Function Procedure) 프로시저의 유효범위 Private 프로시저 : 지역적으로만 유효 Public 프로시저 : 광역적으로 유효 Static 프로시저 : 프로시저 안의 모든 변수가 정적변수가 되 어 프로시저가 종료되어도 값을 유지 수원과학대학 컴퓨터정보과

20 3. 프로시저와 함수 사용하기(2) 이벤트 프로시저 개체를 사용할 때 발생하는 이벤트에 실행해야 할 작업을 작 성한 코드
개체를 사용할 때 발생하는 이벤트에 실행해야 할 작업을 작 성한 코드 이벤트가 발생시 자동으로 호출 컨트롤에 대한 구문 Private Sub 컨트롤이름_이벤트명(인수) 문장 End Sub Form 에 대한 구문 (폼의 이름과 상관없다!!!!) Private Sub Form_이벤트명(인수) 수원과학대학 컴퓨터정보과

21 3. 프로시저와 함수 사용하기(3) 일반 프로시저 여러 부분에서 공통적으로 반복하여 사용하는 부분을 독립적으로 작성한 코드
여러 부분에서 공통적으로 반복하여 사용하는 부분을 독립적으로 작성한 코드 필요할 때마다 다른 프로시저에 의해 명시적으 로 호출 폼 모듈이나 표준 모듈에 저장 가능 다른 프로젝트로 복사 가능 종류 서브 프로시저 : 결과 값을 반환하지 않는다. 함수 프로시저 : 결과 값의 반환 수원과학대학 컴퓨터정보과

22 3. 프로시저와 함수 사용하기(4) 서브 프로시저 서브 프로시저의 호출 Call 프로시저명(인수1, 인수2, …)
결과를 반환할 필요가 없을 경우에 사용 구문 [Private/Public/Static] Sub 프로시저명 [(인수1 As 데이터형, …)] 명령문들… End Sub 서브 프로시저의 호출 Call 프로시저명(인수1, 인수2, …) 혹은 프로시저이름 인수1, 인수2, … 수원과학대학 컴퓨터정보과

23 3. 프로시저와 함수 사용하기(5) 서브 프로시저(계속) 서브 프로시저의 추가 방법
코드 편집기 창에서 도구/프로시저 추가 선택 프로시저 추가 대화상자 이용 이름 : 프로시저 이름 입력 형식 : Sub 선택 범위 : Public 또는 Private 선택 Static 으로 선언된 프로시저가 되며 프로시저안에서 dim으로 선언하는 모든 변수가 정적변수가 됨 수원과학대학 컴퓨터정보과

24 3. 프로시저와 함수 사용하기(6) 프로시저 예제1 (서브 프로시저) 수원과학대학 컴퓨터정보과

25 3. 프로시저와 함수 사용하기(7) 함수 프로시저 프로시저의 이름 자체에 값을 지정함으로써 결과 값을 반환
프로시저의 이름 자체에 값을 지정함으로써 결과 값을 반환 As 예약어를 사용하여 반환 값의 데이터형 명시 (생략 되는 경우 반환되는 기본 값은 Variant) 구문 [Private/Public [Static]] Function 프로시저명 [(인수1 As 데이터형, …)] [As 반환데이터형] 명령문들… End Sub 함수 프로시저의 호출 프로시저이름(인수1, 인수2, … ) 수원과학대학 컴퓨터정보과

26 3. 프로시저와 함수 사용하기(8) 함수 프로시저(계속) 함수 프로시저의 추가 방법 코드 편집기 창을 연다.
도구/프로시저 추가 를 선택한다. 프로시저 추가 대화상자 이용 이름 : 프로시저 이름 입력 형식 : Function 선택 범위 : Public 또는 Private 선택 Static 으로 선언된 프로시저가 되며 프로시저안에서 dim으로 선언하는 모든 변수가 정적변수가 됨 수원과학대학 컴퓨터정보과

27 3. 프로시저와 함수 사용하기(9) 프로시저 예제 2 (함수 프로시저) 수원과학대학 컴퓨터정보과

28 3. 프로시저와 함수 사용하기(10) Main 프로시저 : 일반 모듈에 선언해야함
이벤트 프로시저가 아닌, 일반 프로시저를 맨 처음 실행시키고자 할 때 [프로젝트] > [Project1 속성] [일반] 탭에서 [시작개체]를 [Sub Main]으로 지정 Main 프로시저 예제 Private Sub Main() Form1.Show Form1.Print “Hi! Nice Day!” End Sub 수원과학대학 컴퓨터정보과

29 3. 프로시저와 함수 사용하기(10) 수원과학대학 컴퓨터정보과

30 3. 프로시저와 함수 사용하기(11) 인수를 전달하는 2가지 방식 ( ) Call By Value
( ) Call By Reference 인수의 주소(reference, address)를 넘겨준다. 비베에서의 기본 값임. ByRef 사용 ( 안 써도 무방 ) 수원과학대학 컴퓨터정보과

31 3. 프로시저와 함수 사용하기(12) 프로시저 예제 3 (인수전달) 수원과학대학 컴퓨터정보과

32 3. 프로시저와 함수 사용하기(12) 다음을 테스트해 보면 어떤 결과가 나올까? Sub Form_Click()
Dim i As Integer, j As Integer i = 10 j = 20 Form1.Print "test이전 " Form1.Print "i값 = " & i & vbCrLf & "j값 = " & j Call test(i, j) Form1.Print "test이후 " Form1.Print "i값 = " & i & vbNew?& "j값 = " & j End Sub Sub test(a As Integer, b As Integer) a = 100 b = 200 수원과학대학 컴퓨터정보과

33 4. 내장 함수 사용하기(1) VB 내장 함수 내장 함수의 종류 VB안에 이미 프로그램 되어 있는 함수
사용 방법 : [변수 = ] 내장함수명 (인수들..) 내장 함수의 종류 수치 함수 문자열 함수 날짜/시간 함수 Format 함수 자료형 변환 함수 기타 함수 수원과학대학 컴퓨터정보과

34 4. 내장 함수 사용하기(2) InputBox() 함수 사용하기
프로그램 실행 도중에 값을 입력받을 수 있는 입력 대화 상자를 화면에 표시 사용자로부터 입력받은 텍스트문자열을 반환 InputBox (Prompt [, Title] [, Default] [,X좌표] [,Y좌표] [,HelpFile] [,Context]) 인수 설명 Prompt 입력 상자에 표시될 문장 지정 Title 입력 상자의 제목 Default 입력 상자의 입력에 표시될 초기값 지정 X좌표 입력 상자의 가로 위치 Y좌표 입력 상자의 세로 위치 HelpFile 도움말 파일의 이름 Context 도움말의 Context 번호 지정 수원과학대학 컴퓨터정보과

35 4. 내장 함수 사용하기(3) 내장 함수 예제 만들기 [프로젝트] > [모듈 추가] 2019-04-13
수원과학대학 컴퓨터정보과

36 4. 내장 함수 사용하기(4) InputBox 예제 생략 가능 수원과학대학 컴퓨터정보과

37 4. 내장 함수 사용하기(5) MsgBox() 함수 사용하기 프로그램 시행 중 특정 메시지를 표시하는 상자
사용자가 누른 버튼의 값을 반환받음 MsgBox (Prompt [,Buttons] [,Title] [,HelpFile] [,Context]) 인수 설명 Prompt 메시지 상자에 표시될 문장 지정 Buttons 메시지 상자의 스타일 지정 Title 메시지 상자의 제목 지정 HelpFile 도움말 파일의 이름 Context 도움말의 Context 번호 지정 수원과학대학 컴퓨터정보과

38 4. 내장 함수 사용하기(6) MsgBox 함수 예제 수원과학대학 컴퓨터정보과

39 4. 내장 함수 사용하기(7) 버튼 모양 지정시 사용하는 내장 상수 아이콘 지정 내장 상수 버튼 종류 지정 내장 상수 내장상수
정수값 표시 vbCritical 16 치명적인 에러 표시 아이콘 vbQuestion 32 질문 아이콘 vbExclamation 48 경고 아이콘 vbInformation 64 정보아이콘 내장상수 정수값 표시 vbOkOnly 확인 vbOkCancel 1 확인, 취소 vbAbortRetryIgnore 2 취소, 재시도, 무시 vbYesNoCancel 3 예, 아니오, 취소 vbYesNo 4 예, 아이오 vbRetryCancel 5 재시도, 취소 수원과학대학 컴퓨터정보과

40 4. 내장 함수 사용하기(8) 반환값(return value)의 의미 눌리는 버튼 반환 값 확인 = 1
vbOkOnly 확인 = 1 vbOkCancel 확인 = 1, 취소 = 2 vbAbortRetryIgnore 중단 = 3, 재시도 = 4, 무시 = 5 vbYesNoCancel 예 = 6, 아니오 = 7, 취소 = 2 vbYesNo 예 = 6, 아니오 = 7 vbRetryCancel 재시도 = 4, 취소 = 2 눌려진 버튼의 반환값 vbOK : 1 vbCancel : 2 vbAbort : 3 vbRetry : 4 vbIgnore : 5 vbYes : 6 vbNo : 7 수원과학대학 컴퓨터정보과

41 4. 내장 함수 사용하기(9) 선택권유 점선 내장 상수 눌리는 버튼 정수값 표시 첫 번째 버튼에 점선 256
vbDefaultBtton1 첫 번째 버튼에 점선 vbDefaultBtton2 256 두 번째 버튼에 점선 vbDefaultBtton3 512 세 번째 버튼에 점선 vbDefaultBtton4 768 네 번째 버튼에 점선 수원과학대학 컴퓨터정보과

42 4. 내장 함수 사용하기(10) 선택 권유 예제 vbQuestion + vbAbortRetryIgnore + vbDefault3 수원과학대학 컴퓨터정보과

43 6. 아주 간단한 코딩 규칙 코딩의 규칙 들여쓰기 (Indentation) 주석 (Comment)
Tab(4칸 또는 8칸)으로 포함 관계를 나타낸다. 보통 변수 선언부와 명령문 사이에는 빈줄을 넣는다. 명령문간의 포함 관계를 파악하기에 좋다. 프로그램을 읽을 때 눈에 보기 쉽다. (readability향상) 주석 (Comment) 따옴표 뒤에 문장 기술 프로그램을 설명하기 위해 기술 명령문 뒤나 한 라인 별도로 기술 수원과학대학 컴퓨터정보과

44 7. 고수 포인트 변수와 상수 Option Explicit, Option Base 1
변수의 유효 범위 : 프로시저변수, 모듈변수, 전역변수, 정적변수 네 종류의 연산자 : 산술, 관계, 논리,문자열연결 조건문 : If, Select Case 반복문 : For, Do, While 배열 서브 프로시저와 함수 프로시저의 차이 수원과학대학 컴퓨터정보과


Download ppt "주제 : 배열, 사용자정의 데이터형, 프로시저와 함수 등.."

Similar presentations


Ads by Google