2015년 1월 29일 목요일

지역변수 & 전역변수 & 상수


지역변수

지역변수는 sub/function 프로시저 내에서만 사용가능

선언방법

지억변수는 sub/function 프로시저내부에서만 선언가능

Dim 변수명 as 데이터형식

예)Dim 나이 as integer

참고) Dim 나이
이렇게도 선언해서 사용가능함

Dim 나이 = Dim 나이 as variant


전역변수
전역변수는 해당 개체 또는 프로젝트의 모든 곳에서 활용 가능함


선언방법은

sub문이나 function문 안에서 선언하지 않고 맨 위에 선언한다.

Private 변수명 as 데이터형식
Public 변수명 as 데이터형식
Dim 변수명 as 데이터형식


Private 변수명
Public 변수명
Dim 변수명

요렇게도 선언할 수 있으며 이렇게 생략해서 사용할 경우

Private 변수명 as variant
Public 변수명 as Variant
Dim 변수명 as Variant

위 방법이랑 동일하게 보면 된다

Private로 선언되는 전역변수는 해당 개체(폼이나 모듈) 안에서만 사용 가능함

Public와 Dim로 선언되는 전역변수는 해당 개체 이외의 폼이나 모듈에서도 사용이 가능하다



상수


이번엔 상수인데요. 상수는 무조건 처음부터 여러분이 값을 정해두고 값을 바꿀 수 없는 것입니다.
(물론 메모리에 직접 접근하는 방법을 통해 변경할 수 있지만 이러면 용도가 쓸모 없게 되요)

혹시 이런 의문 들지 않으세요? 어짜피 값을 바꾸지 못하면 그냥 숫자를 쓰면 되지 왜 상수를 쓰나요?
그렇습니다. 그냥 숫자 쓰면 되는데 상수를 쓰다니.. 이유는 간단합니다. 고유한 숫자를 쉽게 상수명으로 찾아쓰기 위해서에요.
만약 여러분이 195842 라는 숫자를 여러번 쓰려고 할때.. 모든 구문마다 195842라는 수를 쓰기엔 시간이 아깝잖아요? 이것을 상수A에 담아버리고 쓰면 되는 것이지요. 그럼 195842를 쓰지 않고 A를 쓰면 되니까요.
그럼 변수를 써도 되지 왜 상수를 쓰냐구요? 변수는 쓰려면 2줄을 써야하잖아요.(억지) 선언으로 한 줄, 설정으로 한 줄.

아무튼 이제 상수를 써볼게요.

상수를 선언하는 방법은 아래와 같습니다.
Private Const 상수명 As 데이터형식 = 값
Public Const 상수명 As 데이터형식 = 값
Const 상수명 As 데이터형식 = 값

Private/Public 으로 시작하는 상수는 폼이나 모듈 등의 소스코드의 맨 위 (선언) 부분에 선언하셔야 합니다.
그리고 Const로 시작하는 상수는 위와 같이 (선언) 부분에도 가능하고, 지역(Sub나 Function)내에서도 선언이 가능합니다. (선언)부분에서 선언할 경우 Private로 선언이 됩니다.

변수와 마찬가지로 [As 데이터형식] 을 생략하실 수 있습니다.

그럼 바로 상수를 사용해보도록 할게요. 아까 변수를 사용하셨다면 금방 사용하실 수 있을 것이에요.

▼ 아래와 같은 소스코드를 작성해볼까요?




2015년 1월 27일 화요일

변수명 & 자료형 & 변수의 선언 및 사용

비주얼 베이직에서 변수란

무언가를 담는 그릇이라고 보면 된다

변수는 그릇이라기보다는 그릇을 가리키는 이름이라고 생각하면 이해가 빠르다.

변수를 선언할 때는

Dim  변수명  as 자료형

변수명 = 서랍장에 붙여진 이름표
자료헝 = 서랍장 안에 어떤 형태의 내용물이 들어있는지 구분하기 위함

Dim 나이  as  stirng
-->나이라는 변수를 stting형으로 선언할


Dim  이름  as  string
-->이름이라는 변수를 string형으로  선언함


나이 = 30

이름 = "해피스톰"

여기서 위의 변수들의 차이점은

""(쌍따옴표)가 유무이다

""을 넣는 이유는 대입하는 값이 상수인지 변수인지 구분하기 위함이다.

쌍따옴표로 문자열을 감싼 것은 문자열이 상수에 포함되고 그렇지 않은 것은 변수가 된다.
변수에는 어떠한 값이 존재한다고 보면 된다

해피스톰 = 1
이름 = 해피스톰

해피스톰이라는 변수에다가 1 이라는 값을 대입하라
이름이라는 변수에다가 해피스톰 즉, 1이라는 갑을 대입하라는 것이다..

해피 = 1
이름 = "해피"

해피라는 변수에 1을 대입하라
이름이라는 변수에 해피라는 값을 저장하라

변수 이름에 왜 1 이 아니고 해피가 들어갔는가?
이거는 쌍따옴표로 감싼 해피가 1이 저장된 변수가 아니고 상수이기 때문이다

변수명에 사용해서는 안 돌 규칙이 있디..


1. 숫자로 시작해서는 안되며, 영문자 또는 2바이트 문자로 시작해야한다.
2. 255자를 넘어서는 안된다.
3. 점(.) 이나, %&!#@$ 등은 사용하지 않는다.
4. 영문자의 대문자 소문자는 동일한 것으로 처리된다. (Debug1 이나 DEBUG1은 같은 변수임.)

변수를 사용 하기 전에 반드시 선언을 해야한다.
(꼭 하지 않아도 되지만, 안할 경우 오류를 범하기 쉽고 Variant형으로 지정되기 때문에
메모리, 속도 , 성능이 저하 된다.)
그리고 꼭 사용하려는 목적에 마춰서 선언 해야한다.


 다음은 선언의 예시이다.
 Dim 나이 as String
위 소스는 나이라는 변수를 문자열 형으로 선언한 것인데,
좀 더 자세희 살펴 보도록 하자.

Dim  - 변수의 사용범위
나이 - 변수명 이다.
as - 변수의 형태를 지정하려는 접속어
String - 변수의 형태

로 나뉜다.
변수의 사용범위에는 다음과 같은 것들이 있다.

 프로시저 = 이벤트(행위[예:마우스클릭,버튼 누름 등])

Dim - 선언된 프로시저 내에서만 사용되며 프로시저를 한번 빠져 나가면 값이 사라진다.

Static - 선언된 프로시저 내에서만 사용되며 프로시저를 빠져나가서 다시 들어와도 값이 살아있다.

Private - 선언된 프로시저 내에서만 사용되며 프로시저를 한번 빠져 나가면 값이 사라진다.

Public - 어떤 프로시저(혹은 모듈) 에서든지 호출해서 사용될 수 있다.

Dim  xxx as string

Static xxx as string

Private xxx as string

PublIc xxx as string




데이터 형식 저장 용량 범위

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바이트 100년 1월 1일부터 9999년 10월 31까지
Object 4바이트 모든 개체 참조


String
(가변 길이) 10바이트 +문자열 길이 0부터 약 2조까지


String
(고정 길이) 문자열 길이 1부터 약 65,400까지


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


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


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









비주얼 베이직 학습 목차

Chapter 02 변수와 연산자
01. 변수와 상수
=====
변수명 & 자료형 & 변수의 선언 및 사용
http://cafe.naver.com/gogoomas/3154

지역변수 & 전역변수 & 상수
http://cafe.naver.com/gogoomas/283958
=====

02. 연산자
=====
대입 연산자 ,산술 연산자 ,관계 연산자 ,
논리 연산자, 비트 연산자,연결 연산자

http://cafe.naver.com/gogoomas/48147
http://cafe.naver.com/gogoomas/47993
http://cafe.naver.com/gogoomas/48035
=====

=====
연산자 우선순위
http://cafe.naver.com/gogoomas/53812
=====



Chapter 03 초급 컨트롤
=====
01. 컨트롤의 이해
02. 폼
03. 문자 입출력 컨트롤
레이블
텍스트 박스
명령 버튼
04. 선택 컨트롤
프레임
체크 박스
옵션 버튼

I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\초급 컨트롤

=====


Chapter 04 제어문과 배열
01. 분기문
=====
If 문
http://cafe.naver.com/gogoomas/26
=====
=====
Select Case 문
http://cafe.naver.com/gogoomas/2902
=====
=====
GoTo 문
http://cafe.naver.com/gogoomas/53913
=====
=====
02. 반복문
ForNext 문
For EachNext 문
DoLoop 문
Exit 문
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\반복문
====


03. 배열
====
배열의 이해 & 배열의 선언 & 다차원 배열
http://cafe.naver.com/gogoomas/1392

====
동적 배열
컨트롤 배열
http://blog.daum.net/shksjy/124
====

Chapter 05 내장 함수, 프로시저, 모듈
====
01. 내장 함수
수학 함수
문자열 함수
형 변환 함수
입, 출력 함수
http://cafe.naver.com/gogoomas/283803
====
====
02. 프로시저
Sub 프로시저
함수 프로시저
인수 전달 방법(ByVal, ByRef)
http://cafe.naver.com/gogoomas/284771
====
====
03. 모듈
http://cafe.naver.com/gogoomas/41598
====
====
Chapter 06 중급 컨트롤
01. 선택 컨트롤
리스트 박스
콤보 박스
수직/수평 스크롤 바
02. 그래픽 컨트롤
선과 도형
이미지
픽처 박스
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\초급 컨트롤
====
====
Chapter 07 메뉴와 대화 상자 컨트롤
01. 메뉴
메뉴 편집기
메뉴 만들기
팝업 메뉴 만들기
http://cafe.naver.com/gogoomas/1246
====
====
02. 공통 대화 상자
http://cafe.naver.com/gogoomas/66332
====

====
Chapter 08 고급 컨트롤
01. 타이머와 OLE
타이머
OLE
02. Microsoft Windows Common Controls 6.0
이미지 리스트
툴 바
상태 바
리스트 뷰
트리 뷰
탭 스트립
슬라이더와 진행 바
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\초급 컨트롤
====


============
Chapter 09 MDI와 멀티미디어
01. MDI 응용 프로그램 작성
02. 윈도우 미디어 플레이어 컨트롤
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\비주얼 베이직 강의자료-최종.pdf
============

============
Chapter 10 파일 처리
====
01. 파일 처리의 개요
02. 파일 접근 방법에 따른 종류
순차 파일
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\파일 처리\vb_mk_File_ma.ppt
====
====
랜덤 파일
http://www.itmembers.net/board/view.php?id=vb1&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=25
====
이진 파일
====
03. 파일 시스템 컨트롤
드라이브 리스트 박스
디렉터리 리스트 박스
파일 리스트 박스
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\초급 컨트롤
=====
=====
Chapter 11 데이터베이스 프로그래밍
01. 데이터베이스 개요
02. 데이터베이스 만들기
비주얼 데이터 관리자를 이용한 데이터베이스 만들기
MSAccess 2003을 이용한 데이터베이스 만들기
http://cafe.naver.com/gogoomas/2219
=====
=====
03. 데이터 개체

=====
=====
04. 데이터 컨트롤, 바운드 컨트롤, Data Report
http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=48&MAEULNO=19&no=3065&page=25
=====
05. ADO 개체 모델
Connection 개체
Command 개체
Parameter 개체
Recordset 개체
Error 개체

=====
06. SQL
SELECT 문
INSERT 문
UPDATE 문
DELETE 문

=====

Chapter 12 네트워크 프로그래밍
01. 네트워크 프로그래밍 개요
02. 인터넷 관련 컨트롤
Winsock 컨트롤
Inet 컨트롤
WebBrowser 컨트롤
03.TCP 프로그래밍
04.UDP 프로그래밍
05. 웹 문서 소스 보는 프로그램 만들기
06. 웹 브라우저 만들기

=====
Chapter 13 프로그램 오류와 디버깅
01. 프로그램 오류
구문 오류
런타임 오류
논리 오류
02. 디버깅과 디버그 도구
디버그 모드
직접 실행 창
지역 창
조사식 창
I:\#3.프로그래밍 언어 공부\비주얼베이직 실습\자료\파일 처리\vb_mk_File_ma.ppt
=====
=====