창을열자
창을열자 비주얼 베이직의 설치와 사용
최상환
컴퓨터를 모르면 제2의 문맹으로 취급될 정도로 현대 생활에서 필수적인 도구가 되고 있다. 컴퓨터의 대량 보급은 컴퓨터의 사용환경에도 많은 변화를 가져왔다. 현재 세계적으로 가장 많이 사용되고 있는 IBM-PC 호환기종의 경우를 보면, 명령어를 직접 입력하는 환경이 대부분이었으나 최근들어 윈도우가 등장하면서 그래픽 사용자 인터페이스 환경이 자리잡아가고 있다. 윈도우가 바로 IBM-PC에서 사용할 수 있는 그래픽 사용자 인터페이스 환경 중의 하나이다. 많은 사람들이 윈도우 프로그램을 쓰면서도 이러한 프로그램을 자기가 짤 수 있을 것이라고는 생각하지 못했을 것이다. 그것은 윈도우 프로그램을 짜려면 복잡한 C나 파스칼 같은 언어를 알아야 하고 또 윈도우 프로그래밍에 대한 많은 것을 알아야만 했기 때문이다. 이번에 소개하는 윈도우용 비주얼 베이직은 윈도우를 사용할 줄 알고, 베이직만 알고 있으면 윈도우용 프로그램을 쉽게 작성할 수 있다.
사용환경
비주얼 베이직은 그래픽적인 프로그램을 위한 개발 환경이다. 디자인 툴과 언어가 합쳐진 형태의 것이다. 비주얼 베이직을 사용하기 위해서는 다음과 같은 환경이 필요하다.
* 80286이상의 프로세서를 갖추고 있는 IBM PC 호환기종(즉 AT이상)
* 하드 디스크
* 마우스
* CGA, EGA, VGA, 8514 나 허큘레스 같은 그래픽 카드(EGA이상이 좋다)
* MS-DOS 3.1이상
* 윈도우 3.0이상 – 스탠다드 모드나 386 인핸스 모드(386 Enhanced mode)
* 1 메가 바이트 이상의 메모리
위의 환경은 비주얼 베이직을 사용하기 위한 최소한의 사항이다. 실제로 불편하지 않게 사용하려면, 80386이상의 프로세서를 갖춘 컴퓨터와 수퍼 VGA, 4메가 바이트 정도의 메모리가 갖추어진 시스템이어야 할 것이다. 80286이더라도 메모리가 많다면(4 메가 바이트 정도로) 쓸만 할 것이다. 1메가 바이트라면, 윈도우만 실행시키기에도 힘들기 때문이다. 또, 마우스와 하드디스크는 윈도우를 실행시키는데 필수적이다. 비주얼 베이직을 전부 설치했을때는 약 6메가 바이트 정도의 하드디스크 공간을 차지하게 된다. 프로그래밍 작업까지 고려하면 그 이상의 용량이 남아있어야 한다는 것을 알 수 있다. 필자의 경우는 386DX에 램 4메가 바이트, ATI Wonder VGA, 100메가 바이트의 하드 디스크를 갖춘 시스템을 사용하고 있다. 이 정도의 시스템을 갖추고 있다면, 비주얼 베이직을 쓰는데는 충분하다.
비주얼 베이직의 설치
비주얼 베이직의 표준판Standard Edition은 5.25인치 2HD 디스켓 3장으로 구성되어 있다. 비주얼 베이직을 설치하는데는 여러가지 방법이 있다. 먼저, 도스 상에서 설치하려면, 비주얼 베이직 디스켓 1번을 드라이브에 넣고 다음과 같이 입력한다 (보통 A: 드라이브 일 것이다).
c:\>a:setup
설치 프로그램(setup.exe)이 윈도우를 실행시키고 비주얼 베이직 설치를 시작한다. 만일 윈도우가 실행되어있는 상태에서 설치하려면, 프로그램 메니저나 파일 메니저의 파일File 메뉴에서 Run을 선택한다. 그러면 다음과 같은 다이얼로그 박스가 나타난다. 여기에서 a:setup이라고 타이핑하고 <엔터>키를 친다. 비주얼 베이직의 설치가 시작된다. 또 파일 매니저에서 드라이브 A:를 선택한 다음 setup.exe 파일을 더블 클릭하여 실행시키는 방법도 있다. 설치 프로그램은 비주얼 베이직을 설치할 디렉토리를 물어온다. 원하는 디렉토리를 입력해주면 된다. 이 다음부터는 설치 프로그램이 원하는대로 디스켓을 바꿔 넣어 주기만 하면 된다. 만일 비주얼 베이직 파일을 모두 하드 디스크 상에 복사해 두고 설치를 하려 한다면, 각 디스켓 별로, disk1, disk2, … 하는 식으로 이름을 붙인 디렉토리에 복사해 놓으면 설치 프로그램이 알아서 파일들을 찾아서 복사한다. 보통 윈도우용 프로그램의 설치 프로그램들이 이러한 방식을 사용하므로 미리 디스켓을 하드에 복사해 두면, 설치 프로그램을 실행시킨 후 디스켓을 바꿔 끼우는 일은 없을 것이고 조금은 더 빨리 설치할 수 있다. 설치 프로그램은 프로그램 매니저에 그룹을 만들고 비주얼 베이직 파일을 등록해준다.
디스켓을 바꾸어 넣으라는 메시지 박스
설치 프로그램을 끝내면 설치 프로그램은 사용자의 이름과 소속을 물어온다. 이 정보는 파일에 기록되고, 이후에 설치 프로그램을 실행시킬 때나 비주얼 베이직을 실행시킬 때 항상 나타나게 된다. 비주얼 베이직을 설치할 때는 Full Install과, Custom Install 중의 하나를 선택할 수 있다. Complete Install은 비주얼 베이직을 구성하는 파일을 모두 설치하는 것이고, Custom Install은 원하는 파일들만을 설치하는데 사용된다. 하드디스크의 용량이 모자란다든지 파일을 전부 설치하고 싶지 않을 때는 Custom Install을 선택하여 원하는 파일들만을 설치하면 된다. 나중에 설치 프로그램을 다시 실행시켜서 원하는 파일들을 다시 설치할 수 있다.
비주얼 베이직의 특징
앞서 이야기했지만 비주얼 베이직은 윈도우용 애플리케이션과 같이 그래픽적인 프로그램을 작성하기 위한 툴에 베이직 언어가 합쳐진 형태의 것이다. 윈도우는 도스와 약간 다른 형태의 환경을 제공한다. 먼저, 프로그램들은 화면을 공유한다. 비주얼 베이직 프로그램은 하나 혹은 몇 개의 윈도우를 가지고 실행된다. 화면 전체를 차지하는 경우는 드물다. 두번째, 프로그램들은 컴퓨터의 시간을 공유한다. 프로그램은 단독으로 계속 실행될 수 없다. 아니면 백그라운드에서 실행될 수 있어야 한다. 또 비주얼 베이직에서 사용되는 이벤트 처리Event-driven 방식은 컴퓨터의 시간과 다른 자원을 공유할 수 있게 한다. 비주얼 베이직의 코드는 도스 프로그램과 같이 위에서 아래로 프로그램의 흐름Flow이 흘러가는 선형적 처리를 사용하지 않고 있다. 그러나 이벤트 처리 방법의 프로그래밍은 코드들이 사용자나 시스템에 의해서 발생한 사건event에 의해 호출될 때까지 기다리는 것이다. 비주얼 베이직이 제공하는 오브젝트들(버튼이나 리스트 박스같은 것들)은 각기 미리 정의된 사건에 대해 응답할 수 있도록 되어 있다. 사용자는 이 사건이 발생했을 때 호출되는 코드를 작성해 주면 되는 것이다. 마우스 클릭에 반응하는 명령어 버튼Command button의 경우를 예로 들어 보자. 명령어 버튼은 마우스 클릭이 발생했음을 알게 되면, 마우스 클릭에 맞춰서 작성된 코드를 호출하게 된다. 비주얼 베이직이 지원하는 것을 간단히 보자.
* 윈도우 프로그램을 만드는데 필요한 대부분의 오브젝트들을 제공한다. 여기에는 명령어 버튼, 선택 버튼, 체크 박스, 리스트 박스, 콤보 박스, 텍스트 박스, 스크롤 바, 파일 디렉토리 선택 박스, 메뉴 바 등이 포함된다.
* 클립보드와 프린터를 직접 지원한다.
* DDE나 OLE를 통한 다른 윈도우 프로그램과의 자료 교환을 지원한다.
* 하나의 프로그램내에서 여러개의 윈도우를 사용할 수 있다.
* 실행시 끌어다 놓기Drag-and-drop같은 키보드나 마우스에 대한 지원
* 실행시 여러개의 항목들을 보여주거나 숨길 수 있는 기능
또한 비주얼 베이직은 강력한 디버깅 명령어를 갖추고 있다. 비주얼 베이직은 일종의 인터프리터로 동작하는데, 사용자가 코드를 입력할 때마다 바로 수행시킬 수 있는 형태로 바꾸어 놓는다. 과거 8비트 애플 시절에 비글 베이직인가 하는 베이직 컴파일러가 이런 방법을 썼는데, 여하튼 사용자는 베이직을 컴파일하는데 걸리는 시간을 거의 느끼지 못한다. 물론 이 때 비주얼 베이직은 컴파일러로는 동작하지 않는다. 사용자가 코드를 입력하는 시간이 아무리 짧아도 이를 번역하는데 걸리는 시간보다는 훨씬 길기 때문이다. 일단 프로그램 개발이 끝났다면, 실행 파일로 만들어서 비주얼 베이직없이도 실행시킬 수 있다. 또 비주얼 베이직에는 아이콘 라이브러리가 있다. 간단한 아이콘은 여기서 가져다 써도 좋을 것이다. 또 한가지, 비주얼 베이직에는 튜터리얼이 제공된다. Help 메뉴에 Tutorial을 선택하면 볼 수 있다. 물론 영어로 되어 있기 때문에 상당히 보기 힘들겠지만, 영어를 아는 사람에게는 큰 도움이 될 것이다. 비주얼 베이직에 대한 소개와 사용법, 프로그램을 작성하는법, 예제 프로그램들로 구성되어 있다. 영어를 잘하는 독자라면 한번쯤 실행시켜서 읽어 보는 것도 좋을 것이다. 마이크로소프트 사의 주장대로라면 몇 시간이면 볼 수 있을 것이다. 프로그램 메니저의 Visual Basic 2.0 그룹을 선택하고, 비주얼 베이직 2.0 아이콘을 더블 클릭하면 비주얼 베이직이 실행된다. 비주얼 베이직의 메인 윈도우와 프로젝트 윈도우, 프로퍼티 윈도우가 화면에 나타나 있다. 이중 프로젝트와 프로퍼티 윈도우는 폼 윈도우에 가려서 보이지 않는다. 세세한 기능은 다음에 알아보기로 한다.
예제를 실행시켜 보자
여러가지의 예제 파일이 있지만, 비주얼 베이직에서 지원하는 대부분의 콘트롤을 지원하는 controls를 실행시켜보도록 하자. 툴바에서 열기 툴을 클릭하거나 File 메뉴에서 Open Project 메뉴를 선택하자. samples 디렉토리에서 controls 디렉토리를 선택하고 여기서 control.mak 파일을 선택한다. Run 메뉴에서 Go를 선택하거나 툴바에서 실행 툴을 선택한다. 그러면 <그림 8>과 같은 화면을 볼 수 있을 것이다. Option 메뉴에서 원하는 콘트롤을 선택하면 그 콘트롤에 대한 예를 볼 수 있을 것이다.
[그림8]controls 예제프로그램
비주얼 베이직은 프로그램을 작성하고 실행을 시키더라도 실행 파일이 만들어지지 않는다. File 메뉴에서 Make EXE를 선택해야만 실행 파일을 만든다. 또 비주얼 베이직을 이용해 만든 실행 파일은 단독으로는 실행되지 않고 vbrun200.dll이라는 파일이 더 있어야 한다. 이 파일이 꼭 있어야 하는 프로그램이라면, 이 비주얼 베이직으로 작성한 것이라고 생각하면 틀림없다. 이 .dll 파일에는 비주얼 베이직의 명령어나 함수 등이 정의되어 있다. 실행 파일은 여기에 정의된 명령어나 함수들을 불러쓰도록 되어있기 때문에, 비주얼 베이직으로 작성된 프로그램이 실행되려면 반드시 이 파일이 있어야 하는 것이다. 결국 비주얼 베이직으로 작성한 프로그램을 다른 사람에게 주려 한다면, 이 vbrun200.dll파일도 함께 주어야 하는 것이다.
비주얼 베이직을 이용한 프로그래밍의 단계
비주얼 베이직의 프로그래밍은 다음과 같은 3단계를 거친다.
1. 인터페이스를 디자인한다.
툴 박스 윈도우에서 원하는 콘트롤을 선택하고, Form 윈도우의 원하는 위치에 콘트롤을 만든다.
2. 각 인터페이스의 프로퍼티를 설정한다.
각 콘트롤을 선택하여 프로퍼티 윈도우에서 원하는 프로퍼티를 적당하게 설정한다. 콘트롤의 크기라든지 텍스트의 글씨체, 크기등을 설정할 수 있다.
3. 각 콘트롤에 맞는 코드를 작성한다.
각 콘트롤의 이벤트에 대한 코드를 작성한다. 콘트롤이 클릭되었다든지, 더블 클릭되었다든지 하는 이벤트가 발생하면 이 코드가 호출된다.
마치면서
점점 프로그래머가 할 일이 없는 환경이 되어 가고 있다. 이 비주얼 베이직만하더라도 전문 프로그래머가 아닌 사람들도 간단한 프로그램은 자기가 직접 짤 수 있는 툴이다. 실제로 많은 윈도우용의 프로그램들이 이 비주얼 베이직으로 작성되어 있다. 물론 기능이 뛰어난 큰 프로그램은 드물지만, 그래도 아기자기한 맛이 있는 윈도우용의 유틸리티들이 상당히 많다. 독자 여러분도 한번쯤 도전해 보는 것이 어떨까 ? 비주얼 베이직을 이용하여 거의 대부분의 프로그램을 작성할 수 있는데, 많은 회사에서 비주얼 베이직용의 콘트롤들을 만들어 내놓았기 때문이다. 마이크로 소프트사에서도 별도로 다른 콘트롤을 판매하고 있다. 워드프로세서 콘트롤이나 통신용 콘트롤도 판매되고 있다고 하니 필요한 콘트롤만 구해다가(?) 프로그램 안에 넣기만 하면 자신의 프로그램에서도 그 기능을 지원하게 되는 것이다. 국내에도 차트나 그래프 콘트롤 등이 들어있는 전문가용 콘트롤 모음집이 판매되고 있는 것으로 안다. 전문 프로그래머가 아니더라도 그리 어렵지 않게 윈도우용 프로그램을 작성할 수 있는 툴이 바로 이 비주얼 베이직이다.