VB's world
���������ݿ� ��Ӧ�ó����е���DLL����
��C����ת��ΪVB����
���������ݿ�ĵ�һ���Ǵ��� Database ��������Ȼ�������������һ�µ� TableDef ��
Field �������������Ľṹ��
�������ݿ�IJ���
1.ʹ�� Dim �������ݿ��е�ÿһ�����󴴽�������������˹��ɹ���������DBEngine
��ȱʡ�� Workspace �����⣬����Ҫ��
��һ�� Database ����
��ÿ����Ҫһ�� TableDef ����
��ÿ�����е�ÿ���ֶ�Ҫһ�� Field ����
��ÿ�����е�ÿ������Ҫһ�� Index ����
���磬���������´��봴�� Biblio.mdb ���ݿ�Ķ��������
Dim MyDB As Database, MyWs As Workspace
Dim AuTd As TableDef, TitTd As TableDef, _
PubTd As tableDef
Dim AuFlds(2) As Field, TitFlds(5) _
As Field, PubFlds(10) As Field
Dim AuIdx As Index, TitIdx(3) As Index, _
PubIdx As Index
1 ʹ�� Workspace ����� CreateDatabase ���������µ����ݿ⡣�ڱ����У��÷���ʹ
��������������һ������ָ�����ݿ�����ƣ�һ������ָ������
Set MyWs = DBEngine.Workspaces(0)
Set MyDb = MyWs.CreateDatabase("C:\VB\Biblio.mdb", _
dbLangGeneral, dbVersion03)
ע�� ���� dbVersion30 ָ���� Jet version 3.0 ���ݿ⡣���ʹ�� dbVersion30
�������� 3.0 ������ݿ⣬��ֻ��ʹ�� Jet 3.0 ����߰汾����� 32 λ��
Ӧ�ó�����ܷ��ʸ����ݿ⡣
2 ʹ�� Database ����� CreateTableDef ����Ϊ���ݿ��е����б������µ�TableDef��
��������ʾ��
Set TitTd = MyDB.CreateTableDef("Titles")
Set AuTd = MyDB.CreateTableDef("Authors")
Set PubTd = MyDB.CreateTableDef("Publishers")
3 ʹ�� TableDef ����� CreateField ������Ϊ����ÿ���ֶδ��� Field ����Ȼ����
��ÿһ�ֶε������������ֶγ��ȡ��������ͺ�������������ԡ����磬����Ĵ�����
�Դ��� Biblio.mdb ���ݿ��е� Authors ����
Set AuFlds(0) = AuTd.CreateField("Au_ID", dbLong)
'ʹ���Ϊ�����ֶΡ�
AuFlds(0).Attributes = dbAutoIncrField
Set AuFlds(1) = MyTd.CreateField("Author", dbText)
AuFlds(1).Size = 50
4 �� Append ������ÿ���ֶ����ӵ����У�����ÿ�������ӵ����ݿ��У�������ʾ��
AuTd.Fields.Append AuFlds(0)
AuTd.Fields.Append AuFlds(1)
MyDB.TableDefs.Append AuTd
ע�� �ڱ����У�Ϊ������������ÿ�����ݷ��ʶ���ʹ�ò�ͬ�ı�����ʵ���ϣ������ظ�
ʹ�ñ������򻯴��롣���磬������ Dim ����������� TableDef �������� Creat-
eTableDef���ñ���ָ���µ� TableDef ����Ȼ�����׷�ӵ� Database��һ��׷��
�˸ñ������Ϳ�������ͬ�� TableDef ����������׷��ÿ���µ� TableDef��
���� DLL ���̴����� Visual Basic Ӧ�ó���֮����ļ��У���ʹ��ʱ����ָ�����̵�λ
�ú͵��ò����������� Declare ����ṩ������Ϣ���������� DLL ����֮�󣬿��԰�
������ Visual Basic ����ʹ�á��ص� ����� Visual Basic ��ֱ�ӵ��� DLLs����ô
Visual Basic �����¹��еİ�ȫ���ƽ��ܵ�����Ӱ�졣����ζ���ڲ��Ժ͵��Գ���ʱ��
�ܻ����������ϵͳ���ϡ�Ϊ�˼�������Σ�գ������� DLL ���̡����ݲ�����ָ������
��ʱ�����ҪС�ġ�������ʲô����£�һ��Ҫ���������Ѿ���ɵĹ�����DLLs ������
����ͬ����Ĺ��ܣ�����Ҫ�ú���Ҳ�����ס�
��������ʾ��ε��� Windows API �еĹ��̡����ú��� SetWindowText ���ı�һ������
�ı���������Ȼ����ʵ��Ӧ���У�ͨ���������� Visual Basic �� Caption �������ı�
����������ʾ����Ŀ������˵��������������ù��̡�
���� DLL ����
���ȣ���ģ����������ֶԹ��̽���������
Private Declare Function SetWindowText Lib "user32" _
Alias "SetWindowTextA" (ByVal hwnd As Long, _
ByVal lpString As String) As Long
���̵ľ�ȷ�﷨��������� API Viewer Ӧ�ó����ҵ����� Win32api.txt �ļ���Ҳ����
�ҵ���������� Declare ���� Form ���� Class ģ���ڣ���ô����������ǰ����� Pr-
ivate�ؼ��֡�ͬһ�� DLL ������һ��������ֻ������һ�Σ�Ȼ�����������á�
���� DLL ����
�������˺���֮�󣬵������ķ�ʽ���׼�� Visual Basic ������ͬ���������У�Form
Load�¼����������������Ĺ��̡�
Private Sub Form_Load()
SetWindowText Form1.hWnd, "Welcome to VB"
End Sub
��������δ���ʱ����������ʹ�� hWnd ����ȷ��Ҫ�޸ı������Ĵ��ڣ�Form1.hWnd����
Ȼ�󽫱������޸�Ϊ��Welcome to VB����
��Ҫ�μǵ��ǣ�Visual Basic ������֤���ݵ� DLL ���̵�ֵ�Ƿ���ȷ����������˴���
��ֵ����ô���̽���������������˵��� Visual Basic Ӧ�ó���ֹͣ���С������Ͳ���
�����¼��غ�����Ӧ�ó����ڲ��� DLL����ʱǧ��ҪС�ģ�һ��Ҫ�����ر����Լ��Ĺ�
����
ע�� ������ API �����ܹ�ʶ��ȱʡ�� Variant �������͡������������ı������Ͳ�
ʹ��Option Explicit��������API �Ŀɿ���Ҫ�ߵöࡣ
���ĵ��У�ͨ��ʹ�� C ���Ե��﷨���� DLL �еĹ��̡�Ҫ�� Visual Basic �е�����
Щ���̣���Ҫ������ת���ɺϷ��� Declare ��䣬��ʹ����ȷ�IJ����������ǡ��ڽ�����
��ת��ʱ�����뽫 C ��������ת��Ϊ Visual Basic ���������ͣ�����˵��ÿ����������
ʹ��ֵ�� (ByVal) ��ʽ������ʹ�����õ� (ByRef)��ȱʡ����ʽ���±������õ� C
�������������г�����֮�ȼ۵� Visual Basic ���ͣ����� 32 λ�汾�� Windows����
C ������������ �� Visual Basic ������Ϊ ����ʱʹ�õı���ʽ
ATOM ByVal variable As Integer ���Ϊ Integer ���͵ı���ʽ
BOOL ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
BYTE ByVal variable As Byte ���Ϊ Byte ���͵ı���ʽ
CHAR ByVal variable As Byte ���Ϊ Byte ���͵ı���ʽ
COLORREF ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
DWORD ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
HWND, HDC,HMENU ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
�ȡ���Windows �����
INT, UINT ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
LONG ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
LPARAM ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
LPDWORD variable As Long ���Ϊ Long ���͵ı���ʽ
LPINT, LPUINT variable As Long ���Ϊ Long ���͵ı���ʽ
LPRECT variable As type �Զ������͵��������
LPSTR, LPCSTR ByVal variable As String ���Ϊ String ���͵ı���ʽ
LPVOID variable As Any �κα������ڴ����ַ�����ʱ
��ʹ�� ByVal��
LPWORD variable As Integer ���Ϊ Integer ���͵ı���ʽ
LRESULT ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
NULL As Any ��ByVal ByVal Nothing �� ByVal 0&
variable As Long �� vbNullString
SHORT ByVal variable As Integer ���Ϊ Integer ���͵ı���ʽ
VOID Sub procedure ������
WORD ByVal variable As Integer ���Ϊ Integer ���͵ı���ʽ
WPARAM ByVal variable As Long ���Ϊ Long ���͵ı���ʽ
| �� ��
|