[Visual Basic]문법 3부






데이터 형

데이터 형식(Data Type)는 사용할 변수의 범위를 설정하기 위해서 사용합니다. 데이터 형식을 지정하므로 범위 안에 해당하는 숫자, 부동소수점, 문자열 등을 처리할 수 있습니다. 비주얼베이직에서 사용하는 데이터 형식은 다음과 같습니다.


데이터 형식

바이트 수

사용 가능한 범위

Byte

1

0 ~ 255

Boolean

2

부울값 (True, False )

Integer

2

-32,768 32,767

Long

4

-2,147,483,648 2,147,483,647까지

Single

4

-3.402823E38 -1.401298E-45까지(음수값)

1.401298E-45 3.402823E38까지(양수값)

Double

8

-1.79769313486232E308 -4.94065645841247E-324까지(음수값)

4.94065645841247E-324 1.79769313486232E308까지(양수값)

Currency

8

-922,337,203,685,477.5808 922,337,203,685,477.5807

Decimal

14

+/-79,228,162,514,264,337,593,543,950,335 (소수점 이하 없음);

+/-7.9228162514264337593543950335(숫자의 오른쪽으로부터 28번째); 0이 아닌 최소 숫자+/-0.0000000000000000000000000001

Date

8

10011일에서 99991231일까지

Object

4

모든 개체 참조

String

(가변길이)

10바이트를 더한 문자열 길이 (02)

String

(고정길이)

165,400의 문자열 길이

Variant

(숫자)

16바이트 Double형 범위 내의 모든 숫자

Variant

(문자)

22바이트 + 문자열 길이 변수 길이 String과 같은 범위

Type

 

요소가 사용하는 숫자 해당 데이터 형식의 범위값과 각 요소의 범위값이 같음

 

데이터형식은 일반적으로 바이트수가 작은 변수를 사용할수록 빠릅니다. 그러나 Integer의 경우는 Byte보다 빠릅니다. 그 이유는 윈도우 95/98인 경우에는 Integer를 기본으로 처리하기 때문에 가장 빠르고 그 다음에 Byte형식이 빠릅니다.


데이터형식 선언은 독립적으로 사용하지 않고 Dim, Public, Private문과 함께 사용합니다. 선언의 예는 다음과 같습니다.


' Total변수를 정수형식으로 선언

Dim Total As Integer

' Name변수를 문자열 형식으로 선언

Private Name String

한 줄에서 여러 개 변수 선언

Public Kor As String, Mat As Integer

' sms변수를 Variant 데이터형식으로 선언

Dim sms


프로시저안에서 데이터형식의 사용 예는 다음과 같습니다.


Private Sub Command1_Click()

Dim A As Byte

Dim B As Integer

A = 13

문장 사이에 변수를 선언할 수도 있습니다.

Dim C As Long

B = 128

Label1.Caption = A

Label2.Caption = B

End Sub


[
실습] 문자열 다루기

폼 작성 화면


번호

컴포턴트종류

컴포넌트명

속 성

설 정

1

Form1

Caption

"덧셈 계산"

2

텍스트 박스

Text1

Text

""

3

Text2

Text

""

4

라벨

Label1

Caption

"+"

5

Label2

Caption

""

6

명령 버튼

Command1

Caption

"실행"

폼 디자인 구성표


' 6 실행 버튼 컨트롤의 Click 이벤트

Private Sub Command1_Click()

Dim 왼쪽변수오른쪽변수 As Integer

왼쪽변수 = Val(Text1.Text)

오른쪽변수 = Val(Text2.Text)

Label2.Caption = 왼쪽변수 오른쪽변수

End Sub


'+'는 문자열간에 연결할 경우와 사칙연산중에 한 기능이 덧셈을 수행합니다. 텍스트박스 컨트롤에서 입력한 값은 문자열이므로 다음과 같이 코딩하면 문제가 발생합니다.


Private Sub Command1_Click()

Label2.Caption = Text1.Text + Text2.Text

End Sub


Text1
'5'을 입력하고 Text2'3'를 입력한 후 [실행]버튼을 누르면 '53' 출력합니다. 덧셈을 수행한 것이 아니라 두 문자열을 연결한 것입니다. 그렇게 하면 원하는 값을 얻을 수 없습니다. 그렇기 때문에 텍스트박스 컨트롤에서 입력한 문자열을 숫자로 바꿔 주어야 합니다. 그 함수가 Val함수입니다.

함 수

설 명

Val

문자열을 숫자로 변환하여 줍니다.

Str

숫자를 문자열로 변환하여 줍니다.



정수형

1. 정수 형식

데이터 형식

바이트 수

사용 가능한 범위

Byte

1

0 ~ 255

Integer

2

-32,768 32,767

Long

4

-2,147,483,648 2,147,483,647까지

 


정수형식은 소수부분을 포함하지 수를 말합니다. 정수 중에서는 Integer형식이 속도가 가장 빠르기 때문에 가장 많이 사용합니다. Byte형식은 8비트(1바이트)로 되어 있습니다. 비트는 01로 된 최소의 단위입니다. 8비트로 나타낼 수 있는 경우의 수는 28입니다. 28승으로 표현할 수 있는 범위는 256가지입니다. 그러므로 Byte형식은 1바이트까지 가능한 0255까지의 수를 사용할 수 있습니다. Byte형식으로 Dim문으로 선언하고 사용 가능한 범위를 벗어나면 에러 메시지가 나타납니다.

Private Sub Command1_Click()

Dim A As Byte

Dim B As Integer

Dim C As Long

A = 12

B = 12345

C = 12345678

Label1.Caption = A

Label2.Caption = B

Label3.Caption = C

End Sub

실행 결과 : Label1에 '12'가 출력되고 Label2에 '12345'가 출력되고 Label3에 '12345678'이 출력됩니다.


Private Sub Command1_Click()

Dim My_A As Byte

My_A = 555

Label1.Caption = My_A

End Sub


실행 결과 : 소스를 실행하면(Byte형식의 사용 범위를 벗어났기 때문에다음과 같은 에러가 발생합니다






Reactions

댓글 쓰기

0 댓글