창을열자
창을열자 비주얼 베이직의 기본 개념들
최상환
지난호에 이어 비주얼 베이직의 간단한 사용 방법과 콘트롤에 대해 알아보도록 한다. 지난호에 툴바와 툴박스의 기능을 설명하였다. 이번에는 좀더 자세히 알아보자. 비주얼 베이직의 기본 실행 화면은 <화면 1>과 같다. 비주얼 베이직 프로그램의 메인 윈도우Main Window와 프로젝트 윈도우Project Windiow, 툴박스Tool Box, 폼Form, 그리고 프로퍼티 윈도우Property Window가 나타날 것이다. 메인 윈도우에는 메뉴와 툴바가 위치하고 있고, 프로젝트 윈도우에는 현재 작성하고 있는 프로그램에 필요한 파일의 이름들이, 툴박스에는 비주얼 베이직에서 지원하는 콘트롤들이, 폼 윈도우는 현재 만들고 있는 틀Frame의 모양이, 프로퍼티 윈도우는 현재 선택된 콘트롤의 프로퍼티(Property, 특성이나 속성)를 표시하고 있다.
【화면 1】 비주얼 베이직의 실행 – vb.pcx
메인 윈도우의 제목에는 현재 비주얼 베이직의 상태를 나타내도록 되어있는데, 설계 작업을 할 때에는 Design, 실행할 때에는 Run 등의 상태를 보여주게 된다. 또 프로그램의 실행이 잠시 중단된 상태라면, Break라고 표시된다. 툴바라고 하는 것은 윈도우용의 프로그램들에서(비주얼 베이직과 같은) 자주 쓰이는 명령어들을 아이콘 모양으로 메뉴바 밑에 모아 놓은 것을 이야기 한다. 최근 발표된 마이크로소프트사의 모든 제품이 이것을 선택하고 있다.
툴바의 기능
처음 6개의 버튼들은 프로그램을 설계할 때에 유용한 기능들을 모아놓은 것이다. ‘새 폼New Form‘ 버튼은 새로운 폼을 만들고자 할 때 사용되는 것이다. 윈도우용의 보통 프로그램들이 하나의 윈도우로만 구성되어 있는 것이 아니라는 것은 독자 여러분들도 알고 있을 것이다. 대개 이러한 윈도우 하나에 하나의 폼을 만들어야 한다. ‘새 모듈’ 버튼은 새로운 모듈을 만들려고 할 때 사용된다. 모듈은 베이직 코드를 저장하는 파일이다. 이 모듈에 들어있는 변수나 프로시져는 여러 폼이나 모듈에서 함께 사용할 수 있다. ‘프로젝트 열기’ 버튼은 프로젝트 파일을 읽어들이고자 할 때 사용되는 버튼이다. 프로젝트 파일은 확장자가 .MAK이다. 이 파일에는 작성하고자 하는 프로그램에 사용되는 파일이름이 저장된다(.FRM .BAS .VBX등의 파일이 사용된다). ‘프로젝트 저장’ 버튼은 현재 작업하고 있는 프로젝트를 저장하는데 사용된다. 비주얼 베이직은 프로젝트 파일을 통해서 필요한 파일들을 관리하는 것이다. ‘메뉴 설계 윈도우’ 버튼은 프로그램의 메뉴를 설계하는 윈도우를 불러내는데 사용된다. 메뉴를 설계하는 방법은 조금 있다가 자세히 설명하기로 하겠다. ‘프로퍼티 윈도우’ 버튼은 현재 선택되어 있는 콘트롤의 프로퍼티 윈도우를 불러내는데 사용된다. 여러 개의 윈도우를 만들어 놓고 작업을 하다보면 다른 윈도우에 가려지는 경우가 생기는데, 이럴 때에는 이 버튼을 이용하면 편리할 것이다. 다음에 위치하고 있는 3개의 버튼을 프로그램을 실행시키는데 사용되는 버튼들이다. ‘실행’ 버튼은 베이직 프로그램에서 RUN 명령을 주는 것과 마찬가지로 작성한 프로그램을 실행시키는 역할을 한다. 물론 Run 메뉴의 Go를 선택한 것과 같은 효과를 나타낸다. ‘일시정지’ 버튼은 프로그램의 수행중에 잠시 멈추도록 하는 기능을 가지고 있다. 다시 실행 버튼을 누르면 프로그램의 수행은 계속된다. ‘멈춤’ 버튼은 프로그램의 실행을 완전히 중단시키고 다시 설계 상태로 되돌아 간다. 다음의 4개의 버튼은 프로그램의 디버깅에 관련된 기능들을 모은 것이다. ‘멈춤점 설정’ 버튼은 1.2.3.멈춤점Breakpoint설정하고 없애는데 사용되는 것이다. 프로그램을 작성하면서 숨어있는 벌레를 찾아내는데 아주 편리하다. 이 멈춤점은 프로그램이 실행되다가 여기에 이르면 멈추게 하는데, 미심쩍은 부분에 설정해 놓고 여기서부터 한줄씩 실행해 보면 잘못된 부분을 쉽게 찾아낼 수 있다. 다음에 있는 버튼은 ‘변수값 보기’ 버튼이다.(정확히 이야기하면, 변수값 즉시 보기 쯤이 될것이다) 이 버튼은 변수를 선택한 후(별다는 것이 아니라 캐럿- 화면에서 깜빡거리는 것, 도스상에서의 커서라고 생각하면 된다 – 을 변수에 가져다 놓으면 된다) 이 버튼을 누르면 된다. 비주얼 베이직은 이 변수의 값을 표시해 준다. 자세한 것은 실제로 프로그램을 작성하면서 이야기 하도록 하겠다. ‘호출’ 버튼은 현재까지 호출된 함수나 프로시져들을 단계별로 표시해 준다. 여러단계로 호출된 경우에 생각하는 대로 호출이 되었는지 살펴볼 수 있다. 다음의 두 버튼은 ‘한줄씩 따라가기’와 ‘프로시저별로 따라가기’ 버튼이다. 프로그램의 벌레를 잡기 위해서는 필수적인 기능인데, 프로그램의 수행을 따라가면서, 정상적을로 작동하는지를 살펴보는데 아주 유용하다. 비 버튼들 서로 잘 연결시켜서 사용하면, 프로그램에 숨어있는 벌레잡기도 그리 어렵지 않을 것이다.
프로젝트 윈도우
프로젝트란 프로그램을 구성하는 폼, 모듈과 커스텀 콘트롤의 모임을 이야기한다. 프로젝트 윈도우에는 프로그램을 구성하는 모든 파일을 보여준다. 폼 파일은 .FRM확장자를 가지고 있는 것으로, 폼의 형식과 이 폼에 관련되어 있는 코드를 저장하는 파일이다. 모듈 파일은 .BAS확장자를 가지고, 상수나 변수등의 정의와 프로시져 정의들을 저장하는데 사용된다. 커스텀 콘트롤은 윈도우에서 기본적으로 제공되는 콘트롤외에(여기에는 버튼이나 리스트박스같은 것들이 포함된다) 비주얼 베이직에서 제공되는 콘트롤들을(OLE클라이언트나 그리드 콘트롤 같은 것을 예로 들 수 있다) 이야기하는데, .VBX라는 확장자를 가지고 있다. 지난호에서 설명했지만, 이러한 커스텀 콘트롤들은 이미 여러가지가 만들어져서 발표되었다. 필요한 콘트롤을 구해서 프로그램에 넣기만 하면 쉽게 이용할 수 있다. 프로젝트 윈도우의 View Form 버튼은 폼의 모양을 살펴보고 폼의 모양을 편집하는데 사용된다. 원하는 폼을 선택한 다음 View Form 버튼을 누르면, 화면에 선택한 폼이 나타난다. 이 폼을 원하는 대로 편집하면 되는 것이다. View Code 버튼은 폼에 관련되어 있는 코드를 살펴보고 이를 수정하는데 사용할 수 있다. 마찬가지로 원하는 폼을 선택한 후에 View Code 버튼을 누르면 된다. 만일 이 폼에 들어있는 코드를 여러 폼에서 공유하고자 한다면, 즉 여러 폼에서 함께 사용될 수 있는 코드를 작성한다면, 이 코드를 따로 모듈 파일에 넣어 주면된다. 물론 이 모듈 파일이 프로젝트 파일에 등록이 되어 있어야 한다.
툴박스
툴박스에는 비주얼 베이직에서 사용가능한 콘트롤들이 표시되어 있고 이중에 원하는 콘트롤을 선택하는데 사용된다. 각 콘트롤의 특징을 살펴보도록 하자.
포인터
포인터 콘트롤은 이미 폼에 존재하는 콘트롤을 다루는데 사용된다. 포인터 콘트롤을 이용하여 콘트롤을 선택하고, 옮기고, 크기를 조절할 수 있다. 물론 폼의 크기도 조절이 가능하다. 포인터 콘트롤로 다른 콘트롤을 선택하면 프로퍼티 윈도우의 내용도 그 콘트롤에 맞는 것으로 바뀌게 된다.
그림 박스Picture Box
그림 박스는 폼에 그래픽을 나타내거나, 코드내에서 그림을 그릴 때 사용된다. 비트맵이나, 아이콘, 메타 파일같은 것들을 표시할 수 있다. 이 콘트롤의 사각형 내에 그려지는 모든 그림들은 모두 화면에 나타난다. 뒤에 나오는 이미지 콘트롤 보다 더 많은 것들을 표시할 수 있다. 다시 말하면 뒤에 나올 이미지 콘트롤은 그림 콘트롤보다 약간 제한이 있다는 것이다. 그림 박스 안에서 에니메이션같은 것도 가능하다.
레이블Label
레이블은 사용자에 의해서는 바꿀 수 없는 문자열을 표시할 때 사용된다. 물론 실행시에 프로그램에 의해서 바뀔 수는 있다. 이 레이블 콘트롤은 사용자에게 정보를 알려주기 위해거 사용될 수 있다. 예를 들면 파일을 복사하고 있는 동안에 진행된 양을 알려 주는데에 사용될 수 있을 것이다.
텍스트 박스Text Box
텍스트 박스는 사용자에 의해 수정될 수도 있고 프로그램이 정보를 표시할 수도 있는 텍스트를 표시하는데 사용된다. 텍스트 박스는 한줄일 수도 있고 여러줄의 문자열을 포함할 수도 있다. 또 텍스트 박스는 스크롤이 가능하다. 이 텍스트 박스를 이용하면 아주 간단한 에디터를 만들 수도 있다.
틀Frame
틀 콘트롤은 몇 개의 콘트롤을 묶는데 사용된다. 시각적으로 기능적으로 다른 콘트롤과 구별을 주는 것이다. 보통 체크 박스나 옵션 버튼을 묶는데 사용된다.
명령어 버튼Command Button
명령어 버튼 콘트롤은 사용자가 버튼을 눌렀을 때(마우스로 버튼을 클릭하거나, 이 버튼이 선택되었을 때 스페이스바를 눌렀으때) 어떤 동작을 수행하는 것이다. 영문 윈도우의 ‘OK’나 ‘Cancel’ 버튼같은 것이 바로 예가 될 것이다.
체크 박스Check box
체크 박스는 켜거나 끄는 것 중 하나를 선택하는 옵션을 표시하는데 사용된다. 기능이 켜지는 상태에는 x가 네모안에 표시되고 그렇지 않은 경우는 네모만 표시된다.
선택 버튼Option Button
선택 버튼은 몇개의 옵션 중에서 하나의 옵션을 선택하는데 사용된다. 보통 여러개의 옵션 버튼이 묶여서 사용되는데, 체크 박스와는 다르게 이 그룹내의 한 버튼만이 선택될 수 있다. 선택이 되면 원의 가운데에 점이 찍힌다.
콤보 박스Combo Box
콤보 박스는 텍ㅅ트 박스와 리스트 박스를 합쳐 놓은 것이다. 사용자는 텍스트 박스에 텍스트를 타이핑해 넣을 수도 있고, 리스트 박스에서 항목을 선택할 수 있다. 콤보 박스에는 3가지의 형태가 있다.
리스트 박스List Box
리스트 박스는 여러 항목들을 나열해 놓고 이중에서 사용자가 하나 또는 여러개의 항목을 선택할 수 있도록하는 것이다. 스크롤이 가능하다.
수평 스크롤 바Horizontal Scroll Bar
수직 스크롤 바Vertical Scroll Bar
스크롤 바는 표시하고자 하는 정보가 큰 경우, 수평 또는 수직으로 이동할 수 있는 방법을 제공한다. 에디터에서 현재 위치가 파일 전체 위치중 어디쯤인지를 나타내고 원하는 위치로 직접 이동할 수 있는 방법을 제공할 수 있다.
타이머Timer
타이머는 프로그램이 실행되고 있는 동안 규칙적인 간격으로 어떤 행동을 취할 수 있도록 해준다. 시계 프로그램을 작성한다면 아주 필요한 것이다.
드라이브 리스트 박스Drive List Box
드라이브 리스트 박스는 실행시에 드라이브들을 찾아내고, 이 드라이브들 중 하나로 전환하는데 사용된다. 파일 열기나 저장하기에서 드라이브를 선택하는데 사용할 수 있다.
디렉토리 리스트 박스Directory List Box
디렉토리 박스는 실행시에 현재 드라이브의 디렉토리를 표시하는데 사용된다. 파일 열기나 저장하기 같은 것에서 파일의 디렉토리를 지정하는데 유용하게 사용될 수 있다.
파일 리스트 박스File List Box
파일 리스트 박스는 주어진 디렉토리의 모든 파일을 보여준다. 사용자는 이 파일들 중에서 하나를 선택할 수 있다. 파일의 속성에 따라서 선택적으로 파일을 표시할 수도 있다. 파일 열기에서 파일을 지정하는데에도 사용된다.
도형Shape
도형 콘트롤은 원이나 사각형 또는 원호같은 도형을 표시하는데 사용된다. 이 도형들은 설계시에 보이는 것들이다. (그래픽 명령에 의한 것들은 설계시에는 보이지 않는다)
선Line
선 콘트롤은 화면에 선을 그리는데 사용된다. 도형처럼 설계시부터 보인다.
이미지Image
이미지 콘트롤은 그림을 표시하는데 사용된다. 그림 콘트롤보다는 표시할 수 있는 자원Resource의 종류가 적다. 그러나 속도가 더 빠르다.
격자Grid
격자(그리드, Grid) 콘트롤은 여러개의 행과 열로 되어 있다. 한 행과 열이 만나는 곳을 셀Cell이라고 한다. 이 셀에는 텍스트나 그림같은 것들이 들어갈 수 있다. 표같은 것을 표시하는데 사용한다.
OLE 클라이언트OLE Client
OLE 크라이언트 콘트롤은 약간 어려운 개념의 것인데, 일단 이를 이용하여 다른 프로그램의 데이타를(예를 들면 페인트 브러쉬의 그림이나, 엑셀같은 프로그램의 그래프나 쉬트같은 것) 표시하고 편집할 수 있게 한다. OLE는 Object Linking and Embeding(개체 연결과 포함이라고 한다)의 약자로 프로그램간의 자료 교환을 목적으로 만들어진 방법이다. 비주얼 베이직에서 이 기능을 이용할 수 있도록 이 콘트롤을 지원하는 것이다. 격자 콘트롤과 OLE 클라이언트 콘트롤은 커스텀 콘트롤이라고 하는데, 이들을 사용하기 위해서는 실행시에 각각 GRID.VBX와 OLECLIENT.VBX라고 하는 파일들이 필요하다. 즉 이러한 기능을 지원하는 프로그램을 작성하였다면 반드시 이 파일들도 함께 제공을 해야만, 이용이 가능한 것이다.
프로퍼티 윈도우
프로퍼티 윈도우는 각 콘트롤의 속성을 설정하는데 사용되는 윈도우이다. 각 콘트롤의 이름이나 제목, 내용이 되는 텍스트의 글씨체와 크기, 또 나름대로의 특징을 선택할 수 있다. 보통 기본값이 그대로 사용되어도 무방하게 되어있지만, 필요한 속성은 바꾸어 주어야 한다.
비주얼 베이직 프로그래밍의 단계
지난 호에 이야기 했듯이 비주얼 베이직 프로그래밍은 3단계로 이루어진다.
1. 폼을 만든다.
2. 프로퍼티를 설정한다.
3. 코드를 작성한다.
간단히 덧셈만이 되는 계산기를 예로 들어 그 과정을 살펴보도록 하자. 이 예는 책에서 가져온 것이다.
폼 만들기
프로그램의 형태를 만든다. 툴박스 윈도우에서 원하는 콘트롤을 선택하여 폼에 위치시키고 크기를 조절한다. 프로그램에서 필요로 하는 모든 윈도우에 대해서 폼을 만든다. 또 메뉴가 필요한 경우 메뉴를 만든다. 메뉴를 만들기 위해서는 메뉴 설계 윈도우를 불러낸다. 덧셈은 두개의 피연산자가 필요하고 결과도 출력해야 한다. 피연산자와 결과를 위한 3개의 텍스트 박스를 만들도록 하자. 툴박스에서 텍스트 박스를 선택한 후 적당한 위치를 잡아서 위치시킨다. 다음에 명령어 버튼을 선택하여 만든다. 필요한 콘트롤 4개를 만들었으므로 이제는 각각에 맞는 프로퍼티를 설정하여 준다. 그리고 덧셈이라는 것을 나타내기 위해, ‘+’라는 기호를 표시할 레이블을 만든다. 또 피연산자와 결과임을 나타낼 레이블도 만든다. 그리고 나서 텍스트 박스와 레이블, 명령어 버튼의 크기를 가지런하게 크기와 위치를 맞춘다. 폼 윈도우의 크기도 함께 맞춘다.<화면 5>
[화면 5] 계산기의 폼
이제 메뉴를 만든다. 메뉴에는 끝내는 메뉴와 계산을 위한 메뉴를 만들도록 한다. 메뉴 디자인 버튼을 누른다. 그러면 <화면 6> 과 같은 화면이 나타날 것이다. Caption은 메뉴 바에 나타날 내용을 적어 준다. 글자 앞에 붙은 &기호는 단축키를 의미한다. 실제로 메뉴에 표시될때는 다음 글자에 밑줄이 그어진다. Name에는 FileItem을 타이핑 한다. 이 이름Name은 프로그램에서 사용되는 이름이다. 이렇게 해서 주 메뉴의 파일 메뉴를 만들었다. <화면 6> 다음에는 File 메뉴의 부메뉴 두개를 만들 차례이다. &File이라고 정의된 항목 아래를 마우스로 클릭한 후 같은 요령으로 Caption에 Calculate, Name에 &CalcItem이라고 적는다. 같은 요령으로 Caption에 E&xit와 Name에 ExitItem이 있는 메뉴 항목을 만든다. 다음에 방금 만든 메뉴 항목이 File 메뉴의 부메뉴임을 비주얼 베이직에 알려주어야 하는데, 중간에 있는 화살표 버튼이 이들을 정리하는데 사용된다. &Calculate 항목을 클릭하고 오른쪽 화살표를 클릭한다. 다음에 E&xit항목을 선택하고 올른쪽 화살표를 클릭한다. 이렇게 해서 메뉴 디자인은 모두 끝이 났다. <화면 7> OK버튼을 크릭하면 메뉴가 등록된다. 만일 단축키를 설정하고 싶다면 단축키 항목에서 선택을 하면 된다.
[화면 6] 메뉴 설계 윈도우
[화면 7] 메뉴 설계가 끝난 후의 모습
프로퍼티 설정하기
메뉴도 만들어졌고, 이제는 각 콘트롤의 프로퍼티를 설정하도록 하자. 물론 콘트롤을 하나 만들고 바로 프로퍼티를 설정하는 것이 더 바람직하다. 콘트롤을 선택하고 프로퍼티 윈도우 버튼을 누른다. 이 프로퍼티 윈도우를 통해서 콘트롤의 제목이라든지, 크기, 글씨체같은 프로퍼티를 설정한다. 먼저, 맨 위의 텍스트 박스를 선택한다. 프로퍼티 윈도우에서 스크롤 바를 눌러서 Name을 찾아서 더들 클릭한다. 내용에 Op1이라고 타이핑한다. 그리고 Text 속성을 선택하여 내용을 지워버린다. 처음 시작할 때는 피연산자가 없도록하기 위한 것이다.<화면 8>
[화면 8] 프로퍼티 설정
두번째 텍스트 박스를 선택하고, 프로퍼티 윈도우에서 스크롤 바를 움직어 Name을 더블 클릭하고 이름을 Op2라고 타이핑한다. 세번째 텍스트 박스를 선택하여 이름을 Result라고 타이핑한다. 둘다 요령은 같다. 마지막으로 명령어 버튼을 선택하고 Caption을 선택한다. Caption은 명령어 버튼에 표시될 문자열이다. 여기에 ‘=’을 타이핑해 넣는다. 폼 윈도우의 경우는 폼 윈도우의 제목이 된다. 레이블들의 Caption도 각각 Operand 1, Operand 2, +, Result라고 설정한다. <화면 9>는 프로퍼티 설정이 끝난 폼이다.
[화면 9] 프로퍼티 설정이 끝난 폼
코드 작성하기
각 콘트롤에 맞는 코드를 작성한다. 대부분의 사건Event에 대한 코드는 작성할 필요가 없다. 가장 필요한 부분만을 작성하면 된다. 나머지는 비주얼 베이직이 알아서 처리한다. 예를 들면 디렉토리 리스트 박스의 경우 다른 디렉토리를 선택한 경우에 대한 코드를 작성해 주면 된다. 계산기 프로그램에서 작성해야 될 부분을 생각해 보자. 폼이 로드될 때도 별로 할일이 없다. 사용자는 피연산자 두개에 값을 타이핑해 넣고 나서 계산된 결과를 보기 위해서 ‘=’ 버튼을 누를 것이다. 이 때 실제로 값을 계산해서 결과 텍스트 박스에 값을 출력하면 될 것이다.그러므로 명령어 버튼이 눌린 경우에 대한 코드만을 작성해 주면 된다. 명령어 버튼도 다른 코드는 필요없고 클릭Click된 경우에 해당하는 코드만을 작성하면 끝난다. 이 프로그램을 위해서 필요한 코드는 몇 줄 안된다. ‘=’ 명령어 버튼을 더블 클릭한다. <그림 10>과 같은 코드 작성 윈도우가 나타날 것이다. 여기에 실제 코드를 작성해 넣는다. Sub와 End Sub 키워드 사이에 코드를 적는다. 비주얼 베이직에서 이 두개의 키워드는 만들어 주므로 내용만 적어 넣으면 되는 것이다.
[화면 10] 명령어 버튼에 대한 코드 작성
그럼 일단 기본적인 코드 작성은 끝이 났고, 남은 것은 무엇일까 ? 우리가 작성하고 있는 계산기 프로그램은 메뉴를 가지고 있다. 그럼 메뉴와 프로그램을 연결시켜 주어야 할 것이다. 메뉴 윈도우를 설명하면서, 이름이 프로그램에서 사용되는 이름이라고 했다. 우리가 만든 메뉴 항목은 계산Calculate와 끝내기Exit였다. 각각의 이름은 CalcItem과 ExitItem이었다. 코드 윈도우의 Object 콤보 박스를 눌러보자. 여기에서 CalcItem과 ExitItem을 발견할 수 있을 것이다. ExitItem은 프로그램을 끝내는 것이므로 다음과 같은 코드면 충분하다. ExitItem을 선택한 후 다음의 코드를 입력한다.
Sub ExitItem_Click
End
End Sub
밑줄친 부분만 입력한다. 또 CalcItem의 처리는 결국은 ‘=’ 명령어 버튼의 것과 동일하므로 ‘=’ 명령어 버튼의 코드를 그대로 쓰기로 한다. 물론 이것을 프로시져로 만들어서 ‘=’ 명령어 버튼과 함께 공유해도 되지만 여기서는 그냥 그대로 쓰겠다.
Sub CalcItem_Click
Dim O1 As Single
Dim O2 As Single
O1 = Val(Op1.Text)
O2 = Val(Op2.Text)
Result.Text = Format$(O1+O2, ####,####,###.####)
End Sub
텍스트 박스의 내용을 읽어내거나 설정하기 위해서는 텍스트 박스의 Text라는 속성을 이용한다. 콘트롤 이름 다음에 .을 찍고 속성의 이름을 쓰면 원하는 속성을 실행시에도 바꾸거나 읽어낼 수 있는 것이다. 자 코드까지 모두 바르게 입력하였다면 이제 실행을 시켜보도록 하자. 툴바의 실행 버튼을 누른다. 다음과 같은 화면이 나올것이다. <화면 11>
[화면 11] 계산기 프로그램
Operand 1과 Operand 2에 각각 값을 타이핑한 후에 File메뉴의 Calculate나 명령어 버튼 ‘=’을 눌러보자. 그 결과가 Result에 표시될 것이다. 프로그램을 실행시키는 동안에는 그동안 나타나지 않던 디버그 윈도우가Debug Window 나타난다. 이 윈도우에 대해서는 디버깅을 위한 툴 바의 버튼들과 함께 다음에 알아보기로 하자. 일단 이 프로젝트를 저장해 두는 것이 좋을 것같다. 이미 저장을 한 독자라면 몰라도 그렇지 않다면, 툴바의 프로젝트 저장 버튼을 클릭하여 저장하도록 한다. 폼 파일은 mcalc.frm으로 프로젝트 파일은 mcalc.mak로 하여 저장하도록 한다.
.EXE 파일로 만들기
지금까지 만든 프로그램은 .EXE 파일로 만들어진 것이 아니다. 이를 .EXE 파일로 만들어 보자. 어려운 것은 아니다. 이미 지난 호에서 언급했듯이 File 메뉴에서 Make EXE File… 항목을 선택하자. 그림과 같은 화면을 볼 수 있을 것이다.원하는 디렉토리에 원하는 이름으로 .EXE 파일을 만들면 된다. 오른쪽에 보면 프로그램의 타이틀과 아이콘을 설정할 수 있는 항목이 있다. Application Title에 My Calc라고 타이핑 해 넣자. 프로그램의 제목을 주는 것이다. 그리고 Use Icon From 항목에서 여러 폼중에서 아이콘을 선택할 수 있다. 폼에서 아이콘 프로퍼티를 설정하지 않았기 때문에 기본적으로 폼 아이콘이 선택된다. OK 버튼을 선택하면 .EXE 파일이 만들어진다. 이 실행 파일을 실행시켜 보자. File 매니저를 실행시켜 실행 파일을 만들어둔 디렉토릴 선택한다. 방금 만든 실행 파일을 찾아 더블 클릭하여 실행을 시켜 보자. 조금전에 비주얼 베이직에서 실행기켰던 것과 같은 화면이 나타남을 알 수 있을 것이다. 지금까지 각 콘트롤과 툴바, 툴박스에 대해서 간단히 예제 프로그램을 통해서 알아보았다. 독자들이 느끼기에 어려웠는지도 모르겠다. 대부분의 독자들은 그리 어렵지 않다고 생각할 것이다. 독자들이 어느정도 윈도우를 경험했다고 생각하고 적은 글이다. 도스상에서 베이직을 사용하던 사람들에게는 다소 낯설게 느껴질 수도 있지만, 익숙해지면 아주 편리한 방법임을 알 수 있을 것이다. 아직도 알아야 할 것이 많다. 각 콘트롤 별 특징이라든지, 또 비주얼 베이직에서 제공하는 프로시져와 함수, 그래픽 명령어들… 이런것은 도움말과 매뉴얼을 뒤적이는 수고를 해야 한다. 비주얼 베이직의 장점 중의 하나가 도움말이 아주 강력하다는 것이다. 명령어나 프로시져, 함수등에 대한 도움말에 예제까지 들어있기 때문에 쉽게 이해할 수 있을 것이다. 다음호에는 예제 프로그램을 통해서 각 콘트롤의 용도에 대해 알아보기로 한다.
Quick Basic 의 간단한 문법을 윈도우에 접목시켜 쉽게 프로그래밍 가능하게 해주었고, 그래서 수많은 사람들이 정보처리기사 실기 언어로 선택했던 VB!
나는 당시 Turbo C 로 시험을 봤기에 VB 를 제대로 해본 적은 없는데, 훗날 현 직장의 금융업무시스템에서 사용하는 EWC 플랫폼을 통해 VB를 사용하게 된다. 근데 무려.. 2021년까지.. VB 5.0 으로 만들어진 EWC 를 썼다지.