"ASP.NET 레이저(Razor) 시작하기"에 이어서 VB.NET 기반의 레이저 문법을 정리해 봅니다. @Code Dim today_str = "오늘은 " + DateTime.Now.Date.ToString() + " 입니다." Dim req_type As String = Request.RequestType Dim max_year As Integer = 200 End Code 페이지 방문을 환영합니다. @today_str 요청 내용 : @* 코드 외부 주석 *@ URL : @Request.Url 요청형식 : @req_type 길이 : @Request.ContentLength @Code @주요 설정 : @:테스트 메시지 @* 코드내 주석 *@ @입력 가능 연도 : @max_year End Code ■ 기..
C/C++을 사용하던, C#을 사용하던, 비주얼베이직을 사용하던 일반적인 프로그램을 제작하는 경우라면 쓰레드는 개발자에게 그렇게 친숙한 기술은 아닙니다. 그렇지만 복잡한 업무를 수행하는 대규모 프로그램이나 속도가 생명인 프로세스에서는 쓰레드 기술은 필수적인 기술입니다. 대규모의 트래픽을 처리해야 하는 DBMS, 고속으로 다양한 업무를 처리하는 미들웨어와 같은 프로그램이 대표적인 예라 하겠습니다.여러 서버의 파일을 동시에 다운로드하기여러 홈페이지의 내용을 한꺼번에 분석하기화면 접수와 처리를 분리하면서 동시에 수행하기위의 예제들은 일반 프로그램에서도 충분히 적용 가능성이 있는 사례로 이런 처리 흐름에서는 쓰레드 기술은 필수 요소라 할 수 있습니다. 물론 쓰레드를 사용하지 않고 프로그램을 분리하는 방법도 가능..
사용자 컨트롤(User Control)은 비주얼스튜디오에서 윈도우 폼 응용 제작 과정에 활용할 수 있도록 도구 상자를 통해 기본적으로 제공하는 다양한 컨트롤과 같이 부품처럼 여러 폼이나 또는 다른 응용에서 간편하게 재사용 할 수 있도록 한것입니다. 윈도우 폼을 만들듯이 사용자가 어렵지 않게 제작할 수 있습니다. 공통적으로 자주 사용하는 것이 있다면 사용자 컨트롤로 만들어 둔다면 재사용성을 높이고 프로그램 개발의 효율성을 높이는데 기여할 수 있을 것입니다.사용자 컨트롤은 *.DLL 형태로 배포해서 다른 프로그램에서 손쉽게 사용할 수 있도록 클래스 라이브러리 프로젝트에 작성하는 방법이 있습니다. 이 방법은 여러개의 사용자 컨트롤을 하나의 패키지로 배포하는데 용이한 방법입니다. 또다른 방법은 윈도우 폼 응용에..
VB.Net에서 데이터베이스 사용하기 1에 이어 비베 닷넷(VB.Net)에서 다양한 데이터베이스에 접속해서 데이터 검색 및 저장, 갱신, 삭제등을 수행하기 위한 기본적인 ADO.NET 클래스들을 다루고자 합니다.특정한 데이터베이스에 접속하여 동작하는 응용 프로그램을 본격적으로 개발하기에 앞서 중요한 검토사항은 해당 데이터베이스를 어떤 방식으로 접속할 것인가 하는 것입니다. DBMS 별로 제공하는 드라이버가 다를 수 있기 때문에 네이티브 ADO.NET 드라이버를 제공하는지 OLE DB 접속 방식을 사용하는지, 아니면 ODBC 방식을 사용해야 하는지를 먼저 확인하고 해당하는 드라이버의 클래스를 사용하여 코딩을 진행합니다.그런데, ADO.NET에서는 드라이버의 종류와 관계없이 유사한 클래스를 제공하기 때문에 ..
SQL Server, 오라클(Oracle), MySQL, 큐브리드(CUBRID), 파이어버드(Firebird)와 같은 데이터베이스(Database)를 VB.Net에서 사용하기를 다루기에 앞서 데이터베이스의 개념을 다루면 좋겠지만 생략하고 가장 많이 사용하는 관계형(Relational) 데이터베이스를 기준으로 이야기를 풀어나갔으면 합니다. 실상 데이터, 데이터베이스, 데이터베이스 관리 시스템(DBMS), 데이터베이스 시스템(DBS)은 비슷해 보이지만 서로 다른 의미를 갖습니다. 데이터베이스는 정보를 쉽게 접근 및 수정하고 관리할 수 있도록 구조화된 정보의 집합으로 관계형 데이터베이스는 테이블(table, relation)간의 관계를 정의하고 각 테이블은 행(row, tuple)과 열(column)로 조직화..
C#이나 VB.Net 환경으로 응용 프로그램을 개발하는 과정에 큐브리드 데이터베이스를 사용하기 위해서는 다른 DBMS 처럼 닷넷 네이티브로 제작된 ADO.NET 드라이버를 사용하는 것이 가장 좋습니다. 사용 방식이 DBMS 별로 메소드 이름만 약간 다를뿐 대부분 대동소이하기 때문에 응용 개발자 입장에서는 매우 편리한 방법입니다. 특히 닷넷 네이티브(full managed .Net code) 드라이버를 사용하면 클라이언트 배포 과정에서 별도의 프로그램을 설치할 필요도 없어지기 때문에 응용 프로그램의 배포 과정도 단순하게 하는 효과를 가져옵니다. 큐브리드의 ADO.NET 드라이버는 http://www.cubrid.org/?mid=downloads&item=ado_dot_net_driver에서 다운로드 받을 ..
대부분의 응용 프로그램에서 파일 관리는 필수적인 요소라 해도 지나치지 않을 만큼 매우 중요한 부분입니다. 작업 내용을 저장하거나, 저장해 놓았던 정보를 읽어 들이며, 다양한 파일을 검색하며 분석 작업을 하는 등 파일을 다루는 기능은 응용 프로그램의 가치와 활용도를 높여주는 핵심 요소입니다. 비베닷넷(비주얼베이직 닷넷, Visual Basic .Net)에서는 System.IO 네임스페이스를 통해 연관 기능을 제공하고 있습니다. 많이 사용하는 주요 클래스는 다음과 같습니다.FileStream : 파일 핸들의 역할을 하면서 기본적인 파일 입출력 기능 제공StreamReader, StreamWriter : 파일 스트림 기반으로 텍스트 입출력 수행BinaryReader,BinaryWriter : 파일 스트림 기반..
윈도우 폼 기반으로 단순한 데이터베이스 처리 위주로 동작하는 프로그램이나 대부분의 업무용 프로그램에서는 사용 빈도가 많지 않지만 닷넷에서 제공하는 그래픽 기능을 비주얼베이직 닷넷(이하 비베닷넷)을 통해서 활용하는 방법을 알아두면 유용하게 사용할 경우가 있습니다. 비주얼스튜디오에서 제공하는 기본 컨트롤에서 지원하지 않는 인터페이스를 별도로 제작하거나 여러 프로그램에서 사용할 수 있는 공통 라이브러리를 제작하는 등에 여러모로 활용 가능성이 있습니다. 닷넷의 그래픽 기능을 최대한 활용하는 프로그램은 뭐니뭐니해도 그래픽 편집 도구가 아닐까 싶습니다. 대표적인 예로 페인트닷넷을(가볍고 빠른 이미지 편집툴 페인트닷넷 참조) 예로 들수 있습니다. 페인트 닷넷은 가로, 세로 크기를 지정한 캔버스 위에 다양한 도형을 그..
비주얼베이직 닷넷(이하 비베닷넷)에서 인쇄를 구현하는 것이 그리 쉽지만은 않은 작업입니다. 웹 페이지 처럼 화면에 HTML을 통해서 그림과 도표, 텍스트로 페이지를 출력하고 CSS를 이용해서 인쇄시점에 포함해야될 내용과 제외할 것을 지정해 놓으면 웹브라우저가 알아서 출력해 주는 것처럼 윈도우 폼에서도 자동으로 인쇄해 준다면 프로그래머는 편하겠지만 화면의 동작방식과 크기는 프린터의 동작 방식과 크기와 차이가 크기 때문에 인쇄용 양식과 내용을 별도로 구성해 주어야 합니다. 다만 화면 출력에 사용하는 클래스나 함수를 그대로 프린터 출력에도 동일하게 사용할 수 있으며 시스템에서 제공하는 몇가지 컴포넌트와 클래스를 잘 활용하면 프린터의 종류와 관계없이 다양한 기종의 프린터에 동일한 페이지 내용을 간편하게 출력할 ..
이번 포스팅은 지난 VB.Net 객체지향프로그래밍의 실제1에 이어서 VB.Net의 객체 지향 프로그래밍과 관련한 나머지 사항을 나눌까 합니다. ■ 접근 변경자(Access Modifiers)특정 클래스 앞이나 클래스내 속성이나 함수에 붙어서 그 성격을 한정하는 변경자(Modifier)는 객체 지향 프로그래밍 과정에서 가장 빈번하게 만나는 키워드가 아닐까 싶습니다. Namespace Customer Public Class CustBase Public name As String Public Sub New(ByVal newname As String) name = newname End Sub Sub CallTest() MyClass.Calling() Me.Calling() End Sub Overridable S..
닷넷(.Net) 프레임워크의 진화 과정에서 이전 버전과 급격한 변화를 변화를 보인 컨트롤은 툴바와 함께 메뉴 컨트롤이 닷넷2.0부터 급격한 변화가 있었습니다. 이전에는 MainMenu 클래스를 통해서 기능을 제공했지만 이제는 MenuStrip 클래스를 통해서 기능을 제공합니다. 앞서 다루었던 툴스트립과(윈도우폼 툴바, 상태바 다루기 참조) 함께 툴스트립 컨테이너에 포함시켜 사용하는 것이 일반적입니다. 여러개의 메뉴스트립을 둘 수 있으며 Dock 속성에 따라 창의 배치 위치를 지정하면 그에 따라 메뉴 구조를 자동으로 조정해 줍니다. 기본값은 Hidden 이지만 GripStyle 속성을 Visible로 바꾸면 메뉴 스트립 앞에 위치를 이동시킬 수 있는 그립(Grip)이 표시되어서 툴스트립컨테이너의 상하좌우로..
리스트뷰는 리스트 컨트롤과는(윈도우 폼 리스트 컨트롤 다루기 참조) 다른 형태로 동작하는 컨트롤입니다. 리스트 컨트롤이 텍스트 중심으로 수직 형태의 목록을 보여주는 컨트롤이라면 리스트뷰는 탐색기의 파일목록 보기와 유사하게 동작합니다. 탐색기의 파일 목록을 아이콘으로보기, 자세히보기, 목록보기등의 형태로 변형해서 볼수 있는것처럼 사용자에게 다양한 옵션으로 목록을 다룰 수 있도록 기능을 제공합니다. 위의 그림은 리스트뷰 컨트롤을 윈도우폼에 추가하고 .Dock 속성을 "Fill"로 하여 폼의 전체 크기에 리스트뷰가 따라가도록 했으며 리스트뷰 컨트롤 우측 상단의 작은 화살표 버튼을 클릭해서 리스트뷰를 디자인 시점에 다룰 수 있는 작업창을 띄운 것입니다. 뷰 속성(.View)은 위의 그림과 같이 5가지 옵션으로 ..
이미지 맵은 웹 페이지에서 큰 이미지 하나에 영역을 구분해서 마치 각 영역이 개별 버튼인 것처럼 동작하는 것을 말합니다. 이미지를 자르고 HTML로 복잡하게 구현할 필요가 없으니 홈페이지등에 자주 활용됩니다. 이와같은 이미지맵을 VB.Net으로 윈도우 폼 환경에서 구현해 보고자 합니다. 판넬(Panel) 컨트롤이나 픽처박스(PictureBox) 모두 사용할 수 있겠지만 이미지 내부의 영역을 지정하는 좌표를 보다 간편하게 얻기 위해서 판넬 컨트롤을 사용하고 배경이미지(BackgroundImage)를 등록했습니다. 사용할 수 있는 이미지는 웹에서 사용하는 *.gif, *.jpg, *.png등 대부분의 이미지 파일을 사용할 수 있으므로 영역을 표현하는 이미지맵 좌표는 포토샵이나 기타 외부 도구로 작성하셔도 됩..
픽처박스(PictureBox)는 이미지 파일을 출력해주는 컨트롤입니다. 지원하는 이미지 파일 형식은 *.gif, *.jpg, *.jpeg, *.bmp, *.wmf, *.png등 인터넷에서 많이 사용하는 이미지 형식을 포함하여 인기있는 대부분의 이미지 파일 형식을 지원합니다. 투명 배경을 지원하는 *.gif나 *.png등의 파일 형식을 사용하면 투명 배경을 가지고 이미지가 자연스럽게 겹치게 보일 수 있도록 할 수도 있습니다. 폼 디자인 시점에 이미지를 등록하려면 픽처박스 컨트롤을 추가한 다음 우측 상단에 있는 작은 화살표를 클릭해서 "이미지 선택..."을 선택하거나 .Image 속성 우측의 [...]버튼을 클릭하여 아래와 같은 창에서 표시할 이미지를 등록하면 됩니다. 프로젝트 리소스에 이미지를 등록해 놓으..
윈도우 우측 하단의 시스템 트레이(System tray) 영역에 표시되는 아이콘을 Notify Icon 컨트롤이라 하고 툴박스에서 끌어다 놓기로 간단하게 적용할 수 있습니다. 툴팁은 윈도우 폼의 텍스트박스나 레이블등의 컨트롤에 대해서 간단하게 풍선 도움말 기능을 제공하여 사용자에게 보다 친절한 응용 프로그램을 제작할 수 있습니다. 문서 형태의 매뉴얼이나 도움말도 이해에 도움이 되겠지만 화면을 직접 보고 있는 상태에서 마우스를 특정 항목에 올려두면 나오는 적절한 풍선 도움말은 사용자에게 실질적인 도움이 될 수 있습니다. 트레이 아이콘과 툴팁 컨트롤은 폼에 직접 보여지는 컨트롤이 아니므로 위의 그림 처럼 디자이너 하단 영역에 컨트롤을 표시하여 관리할 수 있습니다. 트레이 아이콘 컨트롤의 .Icon 속성에 트..
통상 하나의 윈도우 폼 응용 프로그램은 여러개의 창(폼, Form)으로 구성합니다. 기능별로 별도의 폼을 만들어 필요에 따라 적절한 폼을 동작시키는 다중 폼 형태로 운영하는 것이 일반적입니다. 단일 폼 응용에서 폼을 추가 하려면 프로젝트의 팝업 메뉴에서 추가>Windows Form을 선택합니다. 추가>새 항목에서 여러 템플릿 중에 윈도우 폼을 선택해도 됩니다. 새롭게 추가할 폼의 이름을 확인하고 [추가] 버튼을 누릅니다. 추가한 폼에는 간단하게 문자열을 받을 수 있는 텍스트박스 컨트롤 하나와 입력 확인을 받을 버튼을 추가합니다. 또한 폼의 TopMost 속성을 True로 설정하여 이 폼이 보여질때 폼이 여러개 겹치더라도 최상단에 표시될 수 있도록 합니다. 창이 여러개 겹칠때 보여지는 순서를 Z 순서라 하..
윈도우 폼(Forms) 응용 프로그램에서 개별 폼에 포함되어 있는 컨트롤은 비주얼스튜디오 디자이너 화면에서 도구 박스에서 끌어다놓기 방식으로 추가 및 설정하는 것이 일반적인 방법이지만 프로그램 실행 과정에서 특정 조건이나 옵션에 따라서 컨트롤을 추가하거나 삭제할 수 있습니다. 실행중 컨트롤 추가 및 삭제는 "폼이름.Designer.vb"의 형태로 저장하는 디자이너 코드 파일의 흐름을 따라하기 하면 됩니다. Partial Class Form1 Inherits System.Windows.Forms.Form Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then..
윈도우 폼으로 화면 기반의 프로그램을 작성하면 System.Windows.Forms 클래스를 상속받아 클래스를 작성하게 됩니다. Forms 클래스의 연관 속성과 메서드, 이벤트는 MSDN 페이지에서 자세하게 확인할 수 있습니다. 페이지의 링크는 https://msdn.microsoft.com/ko-kr/library/system.windows.forms.form(v=vs.100).aspx입니다. 아래의 그림은 Forms 클래스의 속성과 메서드, 이벤트를 마인드맵으로 나타낸 것입니다. 속성을 적절하게 설정하여 제목, 창의 위치나 크기등을 조정하고 메서드 호출을 통해서 원하는 동작을 지시할 수 있으며 다양한 이벤트에 대응하는 적절한 이벤트 처리 루틴을 기술할 수 있습니다. 닷넷 환경에서 VB 또는 C#으로 ..
OOP는 Object-Oriented Programming(객체 지향 프로그래밍)의 약자로 현재 프로그래머 들이 즐겨사용하는 대부분의 프로그래밍 언어에는 OOP개념이 포함되어 있습니다. VB .Net 또한 OOP 시각으로 프로그램을 만들어 가는 것이 효과적이며 VB 언어에 가장 적절한 프로그래밍 방법입니다. 초기의 프로그래밍 언어가 프로그램을 데이터와 처리 방법으로 나누는 절차적(procedural) 프로그래밍이었다면 GUI(Graphic User Interface) 기반의 사용자 환경과 수많은 이벤트에 대응해야하는 비절차적 환경에 적절한 OOP는 프로그램을 여러 객체로 나누고 이들 객체 간의 상호 작용을 기술하는 방식으로 프로그래밍합니다. 절차적 프로그래밍 언어로는 C, FORTRAN, COBOL을 들..
좋은 품질 또는 안정성 있는 프로그램이란 다양한 사용자에 의해서 발생하는 다양한 상황에서도 예상할 수 있는 결과를 내는 프로그램입니다. 프로그래머가 생각하고 준비한 범위에서는 잘 동작하지만 그 이외의 경우에는 결과를 예상할 수 없는 프로그램을 좋은 프로그램이라 할 수 없습니다. 중요하게 기억해야할 점은 "완벽함"이 아니라 "예측 가능함"입니다. 철저한 프로그램 설계와 꼼꼼한 코딩으로 모든 경우의 수를 대비한 프로그램을 작성한다면 더욱 좋겠지만 이런 과정은 기간, 인원등 자원의 투입을 수반하게 되어 있고 코드의 크기와 비용이 커짐과 동시에 버그의 출현 가능성도 높아지게 마련입니다. 이러한 "예측 가능성"을 높여주는 대비책이 바로 실행중 예외 처리입니다. 비주얼베이직의 예외 처리 방법은 이전 버전 부터 사용..
프로그램이 길어지고 복잡해 질수록 연관성 있는 코드를 별도의 묶음으로 분리해 놓으면 프로그램의 가독성이 높아지는 것은 물론이고 해당 코드가 필요한 곳에서는 언제든지 호출하여 사용할 수 있으므로 재사용성을 높이고 오류의 가능성을 최소화하는 효과를 가져올 수 있습니다. 이렇게 특정 기능을 수행하는 단위로 분할하여 묶어 놓는 작업을 모듈화라고 하며 아래의 VB.Net 콘솔 프로젝트의 기본 코드에서도 확인할 수 있지만 모든 프로그램은 하나 이상의 프로시저로 구성된다 할 수 있습니다. Module Module1 Sub Main() End Sub End Module VB.Net은 서브 프로시저와 함수(function) 두가지 형태의 프로시저(Procedure)를 정의해서 사용할 수 있습니다. 서브 프로시저와 함수는..
연산자(Operators)는 식별자와 리터럴 등을 대상으로 연산을 지시하는 문법 요소로 연산 대상의 개수에 따라 연산 대상을 한개만 취하는 단항 연산자(Unary Operator)와 연산 대상으로 2개를 취하는 이항 연산자(Binary Operator)로 나눌 수 있습니다. 단항 연산자에는 +, -, Not 3가지가 있습니다. +, - 단항 연산자는 연산 대상에 +1 또는 -1을 곱한 결과와 같고 Not은 연산 대상의 논리값을 True/False간에 뒤집는 결과를 가져옵니다. 특수한 단항 연산자로 연산 대상의 데이터형을 가져오는 TypeOf 연산자와 연산 대상의 주소를 가져오는 AddressOf 연산자도 있습니다. * 산술 연산자^ : 지수 연산. a^b 는 a를 b제곱한 결과로 2^4는 2*2*2*2의..
앞서 작성한 VB.Net 언어 이해하기에서 VB.Net 언어 구성 요소의 하나로 리터럴을 설명하면서 다양한 데이터 타입을 언급했고 변수 뒤에 특수 문자를 붙여 데이터 타입을 지정하는 방법을 다루었습니다. 데이터 타입 또는 자료형은 특정한 저장 장소에 있는 정보를 어떠한 형태로 인식할 것인가를 다루는 것으로 컴퓨터에 저장되는 정보는 0과 1이라는 디지털 형태로 보관하는 특성상 그 값을 문자로 인식할지 아니면 숫자로 인식할지, 숫자 중에서 정수 인식할지 아니면 실수로 인식할 지에 따라 다양한 해석이 있을 수 있습니다. 다음은 VB.Net의 데이터형을 정리한 것으로 저장소의 크기와 값의 범위를 확인해 둘 필요가 있습니다.Boolean : True , FalseByte : 0~255(1 byte) 메모리의 내용..
흐름 제어(Flow Control)라는 용어는 프로그램의 처리 과정에서 그 흐름(Flow)을 순차적으로 진행시키는 것 뿐만아니라 일정 횟수나 조건을 만족할 동안 반복하거나, 조건에 따라 처리 내용을 바꾸거나, 특정 값에 따라 처리할 내용을 지정하는 것등을 포함합니다. 프로그램의 시작부터 종료까지 그리고 특정 이벤트의 발생시점부터 종료까지 큰 흐름 또는 작은 흐름으로 수행하는 제어들이 모여 하나의 프로그램을 구성하므로 VB를 활용하여 프로그램을 작성하고 싶다면 이 부분에 대해서는 꼭 알아두셔야 합니다. 1. If 조건문If문은 조건에 따라 문장을 처리해야할 때 사용하며 가장 가단한 사용 방법은 아래의 예와 같이 "If 조건 Then 처리문장"의 형식으로 한 줄에 특정 조건을 만족할 때의 처리 문장을 간단하..
앞서 VB.Net 언어 이해하기에서 언급한 것과 같이 문자열은 " " 내부에 유니코드 문자열을 기술한 것이고 데이터 타입의 이름은 String 입니다. 문자열을 표현하는 방법은 워낙 다양해서 이 포스팅을 통해서 언급하기는 어렵고 "인코딩"이란 용어를 만나면 "문자열 표현 방식을 말하는 것이다" 정도로 넘어가셔도 될것 같습니다. 특히 한글 문자열의 경우에는 이전에는 EUC-KR 인코딩을 많이 사용했지만 최근에는 UTF-8(유니코드) 인코딩을 많이 사용하는 추세입니다. "VB에서는 유니코드 인코딩을 사용한다 " 정도만 기억하시면 됩니다. 프로그램을 작성하다 보면 처리의 많은 부분을 문자열(스트링) 처리에 할애하므로 VB 문자열 다루기를 잘 익혀 두시면 프로그래밍을 보다 수월하게 진행하실 수 있습니다. Sub..
VB .Net 도구 사용법(1)에 이어서 이번 포스팅은 VB .Net 응용 개발을 위한 여러 도구를 간단하게 살펴보고자 합니다. * 도구상자(Toolbox) 작업 공간에 디자이너를 연 상태에서 툴박스를 클릭하면 위의 그림과 같이 윈도우 폼이나 웹페이지에 포함시킬 수 있는 다양한 컴포넌트를 종류별로 확인할 수 있습니다. 코드 편집기 상태에서 툴박스를 선택하면 코드 창에 직접 포함할 수 있는 컨트롤이 없으므로 빈 창만 나옵니다. 반드시 디자이너 상태에서 툴박스를 열도록 합니다. 툴박스 내부에서는 종류별 제목줄에 있는 - 또는 + 버튼을 클릭하여 접기/열기하여 필요한 콤포넌트를 선택할 수 있습니다. 필요한 항목을 찾았으면 해당 콤포넌트를 끌어다 디자이너 창에 놓으면 됩니다(Drag & Drop) * 속성 창(..
컴퓨팅 용어의 많은 부분은 일반 생활에 평상적으로 쓰이는 것과 그 의미에 큰 차이가 없는 편입니다. 그런데 몇몇 용어는 컴퓨팅 관련한 곳에서만 쓰이는 것이 있는데 그 중에 하나가 바로 디버그(Debug) 입니다. 프로그램을 작성하다보면 언어에서 정한 문법대로 쓰지 않아서 생기는 문법 오류(Syntax error)와 같은 것은 컴파일러가 메시지와 함께 친절하게 알려주므로 어렵지 않게 고칠 수 있습니다. 그렇지만, 프로그래밍 언어에서 정한 문법대로 작성해서 프로그램도 잘 만들어 졌으나 정작 실행 과정에서 프로그래머가 의도한 대로 프로그램이 동작하지 않는 경우가 있습니다. 예를 들어 10회 루프를 돌고 프로그램이 끝나야 하는데, 프로그램이 끝나지 않고 무한 루프를 돈다던가, 컨베이어 라인을 특정 센서 신호에 ..
하나의 VB .Net 프로그램이 동작하기 위해서 작은 규모의 프로그램이라면 프로그램 하나만으로도 충분하지만 화면을 여러개 만드는 경우 각 화면 마다 디자인 파일과 프로그램이 생기므로 여러개의 프로그램이 하나의 실행 프로그램을 구성합니다. 이렇게 여러 프로그램이 모여 하나의 구성 단위를 이룬 것을 프로젝트(Project)라 합니다. 그리고 하나 이상의 프로젝트가 모여서 솔루션(Solution)을 구성합니다. Express 버전에서는 하나의 솔루션에 한개의 프로젝트만 둘수 있도록 한 모양입니다만 아무튼 *.vb 프로그램이 모여서 프로젝트를(*.vbproj) 구성하고 프로젝트들이 모여서 *.sln이라는 솔루션을 구성합니다. 위의 그림은 비주얼 스튜디오 내부의 솔루션 탐색기를 본 모습으로 두개의 VB프로그램과 ..
윈도우와 웹 브라우저 기반의 프로그램이 대부분인 현실에서 창도 없도 시커먼 도스 창 환경에 동작하는 콘솔 응용 프로그램이 무슨 소용이 있냐고 반문할지 모르겠지만 콘솔 응용 프로그램은 백 그라운드에서만 동작하는 프로그램을 작성하거나 간단한 유틸리티 성격의 도구를 만드는데 유용할 뿐만아니라, VB .Net 언어를 습득하기 위한 빠른 방법이기도 합니다. 윈도우 폼 응용이나 웹 응용과 달리 디자인 과정이 필요없고 코드만 작성하면 됩니다. 입출력은 오로지 문자(텍스트) 기반으로만 합니다. 시작 페이지>새 프로젝트 또는 파일> 새 프로젝트로 프로젝트 템플릿 창을 열고 콘솔 응용 프로그램을 선택한 다음 프로젝트 이름을 적절하게 입력합니다. 디자인이 필요없으므로 다음의 그림과 같이 코드 창이 나오는데 이상태에서 코드를..
VB.Net 응용 프로그램을 만들기에 앞서 어떤 형태의 프로그램을 만들것인지를 결정해야 합니다. 결혼식을 진행하는 스태프를 보더라도 사람들 앞에서 사회를 보는 사람도 있지만 사람들에게 노출되지 않으면서 방송실에서 각종 장비를 다루며 원활한 예식 진행을 돕는 사람도 있고 오로지 반주만 한다던가 신부 드레스만 잡아 주는 역할만 수행하는 사람도 있는 것처럼 프로그램도 일반적인 프로그램 처럼 사용자에게 윈도우 형태로 보이는 윈도우 폼 응용(Windows Forms), 예전의 도스(DOS) 프로그램 처럼 커맨드 라인 입출력 형태로 동작하는 콘솔 응용(Console)과 함께 여러 프로그램의 부품처럼 활용할 수 있는 *.DLL을 생성하는 클래스 라이브러리 형태로 만들어 질 수 있습니다. WPF(Windows Pres..