본문 바로가기
IT정보/비주얼베이직

[비주얼베이직] (문법) 변수란 무엇인가?

by 곰사랑 2011. 7. 9.

비주얼베이직의

변수란
- 데이터를 기억하는 저장장소 이며 데이터 형식 안에서 임의의 값이 변할수 있는 수를 변수라고 한다.

변수의 형식은
Dim 변수명 as 데이터형식
입니다.

변수명은 자기가 하고싶은것으로 해도 됩니다.
데이터형식은 정해진것만 써야됩니다.

변수의 규칙
① 영문자, 한글, 숫자, 밑줄 문자(_)의 조합으로 구성됩니다.
② 첫 번째 문자(변수명) 는 반드시 영문자 또는 한글로 시작
③ 비주얼 베이직 예약어는 변수 이름으로 사용할 수 없습니다.
- 예약어 (Sub, End, Dim, For등 )
④ 변수 글자 수는 255자를 초과할 수 없습니다.

올바른 변수 사용의 예
① Dim love as Integer
② Dim 아무개 as Long
③ Dim 이름 as String
④ Dim whrusaud as Boolean

틀린 변수 사용의 예
① Dim 10B as Integer : 변수명을 문자 숫자로 시작해서
② Dim %kim as Boolean : 변수명을 특수 문자로 시작해서
③ Dim For As string : 예약어로 시작해서 - 예약어 (Sub, End, Dim, For등 )

 
비주얼베이직
변수의 데이터형식은 이외 여러가지가 있습니다. 밑에 표를 봐주세요

등이 있습니다.



숫자 데이터 형식
Integer, Long, Single, Double, Currency 등의 숫자 데이터 형식이 있습니다.
Dim 국어 as Integer '국어 변수를 정수형으로 지정
Dim 총점 as Long '총점 변수를 정수형으로 지정
Dim 평균 as Single '평균 변수를 실수형으로 지정

국어 = 100          '100점을 대입(정수값)
총점 = 35,000       '35,000점 대입(정수값)
평균 = 99,90        '99.90점을 대입(실수값)



Byte 데이터 형식
변수가 이진 데이터를 포함한다면 Byte 데이터 형식의 배열로 선언합니다.
Byte 변수를 사용하여 이진 데이터를 저장하면 형식 변환이 있을 때까지 값을 보관하게 됩니다.
Dim 카운트 As Byte           '카운트 변수를 바이트형으로 지정

카운트 = 1.       '1을 대입



String 데이터 형식
숫자 값이 아닌 문자열만을 포함하는 변수는 String 형식으로 선언할 수 있습니다.
문자열 값을 대입하고자 할 때에는 상수 값 양쪽에 " " 인용 부호가 있어야 합니다.
Dim 과목명 as string              '가변길이 문자열 변수로 지정
Dim Name as string               '고정길이 문자열 변수로 지정

S = "Database"                      '문자열 대입
Name = "KimDaeEung"           '문자열 대입



Boolean 데이터 형식
단지 참/거짓,  예/아니오,  켜짐/꺼짐 등의 정보만을 갖는 변수라면 Boolean 형식으로 선언할 수 있습니다.
Boolean의 기본값은 False 입니다.
Dim 조건결과 as Boolean           '조건결과 변수를 논리형 변수로 지정

조견결과 = 100>200                    '조건결과에 거짓을 대입



Date 데이터 형식
날짜와 시간 값은 특정 Date 데이터 형식과 Variant 변수에 포함될 수 있습니다. 동일한 일반 특징이 두 형식의 날짜에 적용됩니다.
사용 가능한 날짜는 100/1/1~9999/12/31까지 지정 가능하며, 사용 가능한 시간은 0:00:00~23:59:59까지 사용할 수 있습니다.



Variant 데이터 형식
Variant 변수는 모든 시스템에 의해 정의된 데이터 형식을 저장할 수 있습니다. 시스템에 의해 정의된 데이터 형식들을 Variant 변수로 지정하면 이들 데이터 형식을 매 번 변환시킬 필요가 없습니다.
SomeValue = "17"                          'SomeValue는 "17"입니다(문자열)
SomeValue = SomeValue - 15.       'SomeValue의 값은 숫자 2입니다.


추가로 알아주셔야 할 연산자도 배워봅시다.
 연산자  기능
 +  두 수를 더함
 -  두 수의 차를 구하거나 어떤 수의 음수를 구함
 *  두 수를 곱함
 /  두 수를 나눈 소수점 몫을 돌려 줌
 ^  어떤 수의 제곱을 구함
 \(\)  두 수를 나눈 정수 몫을 돌려 줌
 Mod  두 수를 나눈 나머지를 돌려 줌


변수를 연습해 봅시다.

Text1 국어점수 입력되는 텍스트
Text2 영어점수 입력되는 테스트
Text3 문자계산 입력되는 테스트
Text4 숫자계산 입력되는 테스트
Command1 점수 계산 단추

이와 같이 디자인 해주세요 그후

커맨드 버튼을 더블 클릭해서 소스창을 띄어줍시다 비주얼베이직으로

소스입니다. 초록색 글자는 주석인거 아시죠?



Private Sub Command1_Click()             '점수 계산 단추
Dim A As String   '[string=문자열]
Dim b As String
Dim c As String
Dim 국어 As Integer   '[Integer=짧은정수]
Dim 영어 As Integer
Dim 합계 As Integer    '→ 프로그램에서 사용될 변수를 선언한다.
A = Text1.Text
b = Text2.Text
c = A + b
Text3.Text = c    '→ 문자 형태로 값을 더한 후 표시한다.
국어 = Text1.Text
영어 = Text2.Text
합계 = 국어 + 영어
Text4.Text = 합계   '→ 숫자 형태로 값을 더한 후 표시한다.
End Sub


이해 가시나요? 비주얼베이직 변수사용을?
문자 계산은 String 을 사용했고
숫자 계산은 Integer 을 사용했습니다.



비주얼베이직변수1 예제파일 입니다.



이번엔 연산자를 이용한 변수를 알아볼께요

Text1 첫번째 값
Text2 두번째 값
Text3 결과 값
Command1 더하기
Command2 빼기
Command3 곱하기
Command4 나누기

이와 같이 디자인을 해주세요



소스입니다.


Private Sub Command1_Click()       '더하기 버튼
Dim A As Integer, B As Integer, C As Integer
A = Text1.Text
B = Text2.Text
C = A + B
Text3.Text = C
End Sub
Private Sub Command2_Click()        '빼기 버튼
Dim A As Integer, B As Integer, C As Integer
A = Text1.Text
B = Text2.Text
C = A - B
Text3.Text = C
End Sub
Private Sub Command3_Click()          '곱하기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A * B
Text3.Text = C
End Sub
Private Sub Command4_Click()            '나누기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A / B
Text3.Text = C
End Sub


변수2 예제파일 입니다.




변수중에 세 줄과 한줄은 같습니다. 보기좋게 하려고 한것이죠 

Dim A as Integer
Dim B as Integer
Dim C as Integer

Dim A As Integer, B As Integer, C As Integer

F5를 눌러 테스트해봅시다

첫번째 값에 10을 입력하고
두번째 값에 1을 입력하고
더하기 버튼을 눌러주세요
결과 값에 11 이 맞게 입력되었습니다.


변수2 는 Integer을 이용해 짧은 정수 를 사용하였습니다.
Integer의 특징이 뭐였나요?
범위가 -32,768 ~ +32,767 입니다.

그러면 32767을 초과하면 어떤 현상이 일어날까요?

32700 + 100을 해보았습니다.
32767을 초과 했더니 숫자가 너무 크다고 나옵니다.




숫자가 너무 크다고 나오니
Integer 말고 다른 데이터 형식을 써봅시다
Long 을 써볼까요
범위는 -2,147,483,648 ~ + 2,147,483,647  입니다
범위가 Integer 보다 상당히 차이가 나죠?

그러면 변수2 소스를 바꿔봅시다
Integer 데이터 형식을 전부 Long으로 바꿔줍시다.


Private Sub Command1_Click()       '더하기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A + B
Text3.Text = C
End Sub
Private Sub Command2_Click()        '빼기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A - B
Text3.Text = C
End Sub
Private Sub Command3_Click()          '곱하기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A * B
Text3.Text = C
End Sub
Private Sub Command4_Click()            '나누기 버튼
Dim A As long, B As long, C As long
A = Text1.Text
B = Text2.Text
C = A / B
Text3.Text = C
End Sub


Integer 을 Long 으로 변경하셨으면 테스트 해봅시다

아무리 큰 값을 입력해도 초과했다고 나오지않네요 ㅎ



이렇게 변수를 연습하시면 됩니다. 비주얼베이직쉽죠?

변수는 어려우니 이해가 안가실 수 있습니다.
변수는 나중에도 많이쓰이니 이해가 가도록 복습을 많이해주세요 비주얼베이직의 장점임

비주얼베이직 동영상강의 프로그램 ▶ http://lovebear.tistory.com/52


변수는 5차시 에 있으니 동영상으로 기초로 탄탄히 잡으세요



이상으로 비주얼베이직 변수사용 포스팅을 마치겠습니다.
 


더많은 강좌를 보시려면

댓글11