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 ���͵ı���ʽ


| �� �� |