일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- winsock
- WIN32 SDK
- SQL
- Visual Basic
- 기초
- 소니
- MFC
- 초보
- 파라미터
- c#
- 문자열
- 파이어버드
- SDK
- dll
- MySQL
- VB.NET
- 셋업
- 시리얼 통신
- 델파이
- Delphi
- 입문
- 데이터베이스
- vb
- Visual Studio 2005
- 예제
- PostgreSQL
- Firebird
- xml
- 설치
- 인스톨
- Today
- Total
목록비주얼 베이직 (10)
프로그래밍 노트
◆ 클래스 라이브러리는 클래스 라이브러리는 같은 클래스를 여러 프로젝트에서 유용할 수 있게한 것이다. 클래스 라이브러리를 이용하면 한번 만든 클래스는 다른 프로젝트에서 간단하게 불러 쓸수있기 때문에 클래스를 만들어두면 만들어 둘 수록 비슷한 프로젝트를 할 경우 개발이 편하게 된다. 클래스 라이브러리의 확장자는 dll. 한번 작성한 클래스 라이브러리는 다른 프로젝트에서 간단하게 이용할 수 있다. 프로젝트에서 클래스 라이브러리를 쓰기 위해서는 참조 설정을 해야된다. 클래스 라이브러리를 디버그하기 위해서는 프로젝트 참조를 해야된다. 네임스페이스를 작성하기 위해서는 Namespace ~ End Namespace를 사용한다. 클래스 라이브러리 프로젝트와 클래스 라이브러리를 참조한 프로젝트의 간단한 예제 클래스 라..
VB.NET 클래스 라이브러리 디버그할때는 클래스 라이브러리를 참조하는 프로젝트에서 클래스 라이브러리 프로젝트를 추가하면 된다. 방법은 파일 메뉴에서 추가를 선택하고 추가에서 기존 프로젝트를 선택하면 기존 프로젝트 추가 화면이 나온다. 기존 프로젝트를 선택하여 열기를 누르면 클래스 라이브러리 프로젝트가 추가된다. 추가된 클래스 라이브러리 프로젝트에서 디버그 할 파일에 브레이크 포인트를 설정하고 디버그를 하면된다.
◆ 클래스 라이브러리 VB.NET에서 사용하기 새 프로젝트를 만들어서 Visual Basic에서 Windows 응용 프로그램을 선택하여 새로운 프로젝트를 만든다. 메뉴의 프로젝트에서 참조 추가를 선택한다. 참조 추가의 화면에서 참조 탭을 선택한다. 만들어둔 클래스 라이브러리를 찾아선 선택하고 OK를 누른다. 이렇게 하면 클래스 라이브러리를 참조할 수 있다. 참조한 클래스 라이브러리를 선언한다. 아래 소스와 같이 클래스 라이브러리의 메서드와 프로퍼티를 사용한다. Public Class frmMain ' 클래스 라이브러리 선언 ' [클래스 라이브러리명].[클래스 라이브러리에 선언한 클래스명] Private Score As New clTest.clsListTest Private Sub btnAdd_Click(..
VB.NET에서 클래스 라이브러리를 첨 만들어봤다. 뭐가 뭔지도 모르는체... 내가 하고 싶었던 것은 VB에서 DLL을 만들어서 VC에서 써보고 싶었는데 VB.NET에서 DLL을 만들면 일반 DLL이랑 좀 틀린 것같다. VB.NET에서 DLL을 만들려면 클래스 라이브러리를 만들어야 된다. (여기서 사용하고 있는 개발툴은 비주얼 스투디오2005이다.) ◆ 클래스 라이브러리 만들기 VS에서 새로 만들기에서 프로젝트를 선택한다. 새 프로젝트 화면에서 Visual Basic에서 Windows를 선택하고 클래스 라이브러리를 선택한다. 클래스 라이브러리의 이름을 입력하고 확인을 누른다. Class1.vb라는 클래스 파일이 자동으로 만들어진다. Class1.vb파일은 선택하고 속성에서 적당한 이름(clsTest.vb..
VB.NET에서 시리얼 통신하는 정말 간단한 예제 VB.NET은 해본적이 없어서 아직 아는게 별로 없다. 오늘 처음으로 Delgate라는 것을 봤다. Invoke도 그렇고... 잘은 모르겠지만 예전에 VB6에서는 메세지 박스가 떠있으면 컨트롤은 다른 이벤트가 발생하지 않았다. 그런데 Delgate와 Invoke를 쓰면 메세지 박스가 떠있더라도 메세지를 받을 수 있다. Imports System.IO.Ports ' Serial 통신용 Imports System.Threading ' 쓰레드용 Public Class frmMain Private WithEvents ComPort As New System.IO.Ports.SerialPort ' Delegate : 대리자를 선언하는 데 사용한다. ' 대리자는 형식..
VB6에서는 버튼의 프러퍼티에서 OK버튼과 Cancel버튼을 지정했는데 VB.NET에서는 폼 프러퍼티에서 설정한다. 위의 크림에서 AcceptButton에서 버튼 컨트롤을 선택하면 OK버튼으로 지정되고 CancelButton을 지정하면 Cancel버튼으로 지정된다.
위의 그림과 같이 윈도우즈XP에서 폼(윈도우즈)에 그림자를 지게하는 법은 간단하다. 밑의 코드를 긁어 붙이기만 하면 된다. Public Class Form1 Protected Overrides ReadOnly Property CreateParams() _ As System.Windows.Forms.CreateParams Get ' 폼에 그림자 띄우기 Const CS_DROPSHADOW = &H20000 Dim cParam As CreateParams = MyBase.CreateParams cParam.ClassStyle = cParam.ClassStyle Or CS_DROPSHADOW Return cParam End Get End Property End Class
VB에서 호출한 DLL 함수에 넘긴 파라미터의 값이 DLL 함수안에서 바뀌어진 것이 VB에서 넘긴 변수에 적용되게 하려할때, DLL 함수의 Declare에서 인수앞에 반드시 ByRef가 아니라 ByVal이 와야한다. # VB소스 Declare Function ByRefTest Lib "RefData.dll" (ByVal sData As String) As Integer # C소스 extern "C" int PASCAL EXPORT ByRefTest (char* pszData) { sprintf(pszData, "DLL TEST"); return 0; }
◆ VB에서 DLL참조 Option Explicit On Module mdlMain Declare Function APlusB Lib "aigo.dll" (ByVal csLog As String) As Integer Public Function dllTest(ByVal nA As String, ByVal nB As String) As Integer dllTest = APlusB(nA , nB ) End Function End Module ◆ C의 간단 DLL // aigo.cpp #include "stdafx.h" #include "aigo.h" int WINAPI APlusB(int nA, int nB) { return nA + nB; } // aigo.h #pragma once #ifndef __AF..
비주얼베이직에서 MySQL쓰기 초간단 예제 이 소스를 돌리기위해서는 사전에 DSN을 설정해야된다. DSN설정은 밑의 링크를 참조할 것 http://wwwi.tistory.com/74 MySQL ODBC설정하기 ADO를 쓰기위해서는 프로젝트에서 참조추가를 선택하여 COM 탭에서 Microsoft ActiveX Data Object 2.8 Library를 더블클릭으로 선택해야 된다. 밑의 소스는 테이블을 추가하고 데이터 추가 삭제 변경에 대한 예제이다. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim AdoCn As ADODB.Connection Dim Ad..