vb怎么写dll
1.怎样用VB编写标准dll
1、首先创建一个DLL工程,如图:2、然后新建一个类模板,如图:3、在类模板输入代码(代码是网上随便找的),如图:4、然后修改一下工程的名称,为了方便使用。
这里我自己修改为ANigag,如图:5、修改好以后就进行一下设置,这个很最要,是关于DLL的接口的,以前VB编译出来的DLL工程文件是没有接口的,只能先注册该DLL,然后才在工程里面引用,这样很麻烦,尤其是在别的电脑上用是很费劲的事情,也很伤脑筋。(1)首先点击:【工程】-【属性】 (2)选择:【扩展】项,如图,把【导出函数表】和【入口函数】这个两个项打上勾,不打勾你编译出的DLL就没有什么效果了。
(3)然后编译,编译的效果如图:6、做这些以后,就编译出标准的DLL动态链接库文件了。然后我们新建一个工程引用。
代码如下:'在类模板代码 Public Declare Function Attach Lib"C:\Documents and Settings\Administrator\桌面\好看的空间特效-DLL版\ANigag.dll" (ByVal hwnd As Long) As Long'窗体代码 Private Sub Form_Load() Call Attach(Me.hwnd) End Sub' 如图:7、最终效果,如图:。
2.怎样用VB编写DLL文件
你先打开VB,然后先中“ActiveX Dll”工程,然后开始编辑。编完后,保存一般是以“.cls”和“.vbw”保存。这时你选择“文件”菜单,弹出下拉框,选中“生成.dll”选项,它就会在上面弹出一个进度条“正在生成.dll文件”。生成以后是一个有好象齿轮状的图标。
如果你要引用,就开一个“标准EXE”工程,然后在“工程”选项中,单击“引用”,找到你刚才的“.dll”的文件名,在前面的复选框中打勾,就可以引用你刚才在那里面写的方法等。
3.用VB怎么样做DLL文件
vb中制作dll的方法:新建时选择ActiveX Dll
工程名改为add 把类模块命名为:myfirstdll (原名为class1)然后就可以写你的dll内容了,比如封装一个函数,这里我们封装一个从1加到n的函数:
Public Function AddN(ByVal n As Integer) As Integer
Dim i As Integer
Dim sum As Integer
For i = 0 To n
sum = i + sum
Next
AddN = sum
End Function
完成保存工作后,选择“文件”——“生成add.dll”
这样一个简单的dll完成了。你可以添加多个函数,复杂度任意!这只是以个简单的例子
下面是调用部分:
假设你有已经有了一个工程,现在需要引用刚才的dll文件。
选择“工程”-“引用”,在弹出的对话框中选浏览,选择你刚才生成的add.dll。点确定。如果说出现工程名称重复之类的提示,那是因为你的这个工程,和dll文件的工程名称一样了!你改一下工程名就行了,所以不要在新建工程时偷懒,默认的名称“工程1”会引起不必要的麻烦啊!下面是代码
在声明部分(就是代码的最上面)写:
Dim testdll As myfirstdll
form的load事件里写:
Set testdll = New myfirstdll
引用完成了
调用的代码:
MsgBox (testdll.AddN(5))
4.VB如何调用dll
在调用自己写的dll之前,想来看看VB是如何调用API的:
Option Explicit
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Sub Command1_Click()
Dim Hwnd As Long
Hwnd = FindWindow(vbNullString, "Form1")
If Hwnd <> 0 Then
Debug.Print "窗口的句柄为:" & Hwnd
Else
Debug.Print "参数设置错误或者程序异常"
End If
End Sub以上代码就实现了调用FindWindow API 获取窗口标题为“Form1”的句柄,那么,如何调用自己写dll呢?其实,了解过API的同学都知道,API是封装在dll里面的。看到这里还是不懂如何调用dll?别怕,先分析下上面的API声明。
(以下片段来自网友)
经过上面,我们知道如何添加API,接着我们分析一下API声明,这是你了解API必备的。首先看第一个单词Private,很显然,我上面刚刚讲过,这是申明一个私有的API变量。再看第二个Declare,这个单词帮我们告诉VB是在申明API函数,一般申明外在的API函数时都必须带上这个单词。第三个Sub,别告诉我你不知道什么意思?这就是我叫你先学习VB中过程函数的意思,这个说白了就是没有反回值,一般如果不是Sub而是Function都带有反回值的。第四个Lib,这个是告诉VB我们要声明哪一个DLL中的API函数,也就是告诉VB我们要申明第五个单词kernel32.dLL中的API,一般写DLL名称时都要用双引号括起来,如"user32"、"shell32.dll"等,至于后面的.dll这个可以带可不带。再来看第六个Alias,这个也是需要同后面一个一起用的,我们应该把第六个和第七个连起来一起看Alias "Sleep"(这里对应上面的Alias "FindWindowA"
),这个意思表示将被调用的过程在DLL中还有另外的名称,这个是可选的。最后括号里面的,也就是和过程函数一样,你传入相应的值就可以了。
看到这里,知道该怎么用了吧?
还是不太懂?好吧!请往下看:
假设a.DLL在C盘根目录,c和d都是长整形,私有声明如下
Private Declare Function b Lib "c:\a.dll"_
(ByVal c As Long, ByVal d As Long) As Long
调用:Data1=b(2,3)
好了。
如果上面从网友那里摘抄来的看不懂的话请追问,满意请采纳!
5.怎样用VB编写标准dll
1、首先创建一个DLL工程,如图: 2、然后新建一个类模板,如图: 3、在类模板输入代码(代码是网上随便找的),如图: 4、然后修改一下工程的名称,为了方便使用。
这里我自己修改为ANigag,如图: 5、修改好以后就进行一下设置,这个很最要,是关于DLL的接口的,以前VB编译出来的DLL工程文件是没有接口的,只能先注册该DLL,然后才在工程里面引用,这样很麻烦,尤其是在别的电脑上用是很费劲的事情,也很伤脑筋。 (1)首先点击:【工程】-【属性】 (2)选择:【扩展】项,如图,把【导出函数表】和【入口函数】这个两个项打上勾,不打勾你编译出的DLL就没有什么效果了。
(3)然后编译,编译的效果如图: 6、做这些以后,就编译出标准的DLL动态链接库文件了。然后我们新建一个工程引用。
代码如下: '在类模板代码 Public Declare Function Attach Lib"C:\Documents and Settings\Administrator\桌面\好看的空间特效-DLL版\ANigag.dll" (ByVal hwnd As Long) As Long '窗体代码 Private Sub Form_Load() Call Attach(Me.hwnd) End Sub' 如图: 7、最终效果,如图: 。
6.怎样用VB编写.DLL动态链接库文件
新建DLL文件:打开vb6.0,然后在新建工程窗口中选择“ActiveX DLL”(如左图),或点击vb窗体左上角的“文件”,再点击“新建工程”,选择“ActiveX DLL”
保存文件到本地,防止编写过程中出错,代码丢失:点击”文件“,再点击”保存工程“,选择存储路径后点“确定”;同样在代码编写中要时刻注意保存代码
修改工程名称和类模块名称:工程名称是你编写完成后,引用者在vb窗体中引用对象的名称,类模块名称是代码中引用的对象的名称
编写DLL文件的代码:以下仅为示例
编译成DLL格式文件,DLL文件就制作成功啦:点击“文件”,再点击“生成****.dll”,选择存储路径,点“确定”
DLL文件如何引用:使用者只需要在vb点击“工程”,再点击“引用”,就可以引用这个dll啦!
vb怎么写函数
1. vb这个函数怎么写
public type 字符类型
字符1 as string
字符2 as string
字符3 as string
end type
PublicFunction tiqu(s As String) as String
s=Replace(s,"$","#")
aa = Split(s, "#")
tiqu = aa
End Function
调用时:
第一项tiqu("字符1#字符2$字符3$")(0)
第二项tiqu("字符1#字符2$字符3$")(1)
第三项tiqu("字符1#字符2$字符3$")(2)
2. 用vb 怎么自己编写一个函数
给你一个简单例子,作用是查找一个数组里的最大数。
在工程里添加一个标准模块,再再里加入:
Function maxNum(x() as double) as double
dim i as integer
maxNum=x(lBound(x())
for i=lbound(x()) to ubound(x())
if maxNum<x(i) then maxNum=x(i)
next
End Function
这样你就可以在程序里任何地方使用它了。
3. vb这个函数怎么写
public type 字符类型 字符1 as string 字符2 as string 字符3 as stringend typePrivate Function tiqu(s As String) as 字符类型dim aa() as stringaa = Split(s, "#")tiqu.字符1 = aa(0)tiqu.字符2 = aa(1)tiqu.字符3= aa(2)End FunctionPrivate Sub Command1_Click()Text1.Text = tiqu("字符1#字符2$字符3$").字符1Text2.Text = tiqu("字符1#字符2$字符3$").字符2Text3.Text = tiqu("字符1#字符2$字符3$").字符3End Sub。
4. VB中如何写个函数判断数字与字母
function haha(str as string) as string
for i=1 to len(str)
if not isnumeric(mid(str,i,1)) then
a=a&mid(str,i,1)
end if
next
haha=a
end function
解释:
分别检查传入的字符串的每一位字符是否是数字,如果不是,则保存。
遍历,最后返回保存结果。
5. 怎么用VB写这个函数
Function S(ByVal m As Long, ByVal n As Long, ByVal p As Long) As Double '第一个函数
Dim s1, s2, s3 As Long
Dim i As Integer
s1 = 0
s2 = 0
s3 = 0
For i = 1 To m
s1 = s1 + i
Next
For i = 1 To n
s2 = s2 + i ^ 3
Next
For i = 1 To p
s3 = s3 + i ^ 5
Next
S = s1 + s2 / s3
End Function
Function f(ByVal x As Long, ByVal k As Long) As Long '第二个函数
Dim i As Long
f = 0
For i = 1 To x
f = f + i ^ k
Next
End Function
6. vb函数大全
如果你装了MSDN帮助或装了Office软件,就可以得到 在MSDN中“MSDN Library Visual Studio 6.0 | Visual Basic文档 | 参考 | 语言参考 | 函数” 即可看到VB所有内部函数 在Office软件中,打开“工具|宏|Visual Basic编辑器”,打开Visual Basic编辑器帮助,“Visual Basic语言参考 | 函数” 即可看到VB所有内部函数 Vb常用内部函数 类型转换函数 数学函数 日期与时间函数 随机数函数 字符串函数 文件操作函数 窗体输入输出函数 ? 类型转换函数 1、Int(x):求不大于自变量x的最大整数 2、Fix(x):去掉一个浮点数的小数部分,保留其整数部分 3、Hex$(x):把一个十进制数转换为十六进制数 4、Oct$(x):把一个十进制数转换为八进制数 5、Asc(x$):返回字符串x$中第一个字符的ASCII字符 6、CHR$(x):把x的值转换为相应的ASCII字符 7、Str$(x):把x的值转换为一个字符串 8、Cint(x):把x的小数部分四舍五入,转换为整数 9、Ccur(x):把x的值转换为货币类型值,小数部分最多保留4 位且自动四舍五入 10、CDbl(x):把x值转换为双精度数 11、CLng(x):把x的小数部分四舍五入转换为长整数型数 12、CSng(x):把x值转换为单精度数 13、Cvar(x):把x值转换为变体类型值 14、VarPtr(var):取得变量var的指针 15 val(X):把X的值转换为数值类型? 数学函数 1、Sin(x):返回自变量x的正弦值 2、Cos(x): 返回自变量x的余弦值 3、Tan(x): 返回自变量x的正切值 4、Atn(x): 返回自变量x的反正切值 5、Abs(x): 返回自变量x的绝对值 6、Sgn(x): 返回自变量x的符号,即当x为负数时,返回-1;当x为0时,返回 0;当x为正数时,返回1 7、Sqr(x):返回自变量x的平方根,x必须大于或等于0 8、Exp(x):返回以e为底,以x为指数的值,即求e的x次方 ? 日期与时间函数 1、Day(Now):返回当前的日期 2、WeekDay(Now):返回当前的星期 3、Month(Now):返回当前的月份 4、Year(Now):返回当前的年份 5、Hour(Now):返回小时(0~23) 6、Minute(Now):返回分(0~59) 7、Second(Now):返回秒 (0~59) ? 随机数函数 1、Rnd[(x)]:产生一个0~1之间的单精度随机数 2、Randmize[(x)]:功能同上,不过更好 ? 字符串函数 1、LTrim$(字符串):去掉字符串左边的空白字符 2、Rtrim$(字符串):去掉字符串右边的空白字符 3、Left$(字符串,n):取字符串左部的n个字符 4、Right$(字符串,n):取字符串右部的n个字符 5、Mid$(字符串,p,n):从位置p开始取字符串的n个字符 6、Len(字符串):测试字符串的长度 7、String$(n,字符串):返回由n个字符组成的字符串 8、Space$(n):返回n个空格 9、InStr(字符串1,字符串2):在字符串1中查找字符串2 10、Ucase$(字符串):把小写字母转换为大写字母 11、Lcase$(字符串):把大写字母转换为小写字母 ? 窗体输入输出函数 1、Print(字符串):在窗体输出字符串,可以用”&”对变量进行连接后输出 2、Tab(n):把光标移到该行的n开始的位置 3、Spc(n):跳过n个空格 4、Cls:清除当前窗体内的显示内容 5、Move 左上角x,左上角y,宽度,高度:移动窗体或控件 6、InputBox(prompt,…):跳出一个数据输入窗口,返回值为该窗口的输入值 7、MsgBox(msg,[type]…):跳出一个提示窗口 ? 文件操作函数 1、Open 文件名 [For方式] [Access存取类型] [锁定] AS [#]文件号 [Len=记录长度] 功能:为文件的输入输出分配缓冲区,并确定缓冲区所使用的存取方式 说明: 1) 方式:指定文件的输入输出方式,可选,默认是Random,可以是以下值 a、Output:指定顺序输出方式,将覆盖原有内容 b、Input:指定顺序输入方式 c、Append:指定顺序输出方式,在文件未尾追加内容 d、Random:指定随机存取方式,也是默认方式,在Random方式时,如果没有Access子句,则在执行Open语句时,VB将按下列顺序打开文件:读/写、只读、只写 e、指定二进制文件。
在这种方式下,可以用Get和Put语句对文件中任何字节位置的信息进行读写。在Binary方式中,如果没有Access子句,则打开文件的类型与Random方式相同 2)、存取类型:放在关键字Access之后,用来指定访问文件的类型。
可以是下列类型之一 a、Read:打开只读文件 b、Write:打开只写文件 c、Read Write:打开读写文件。这种类型只对随机文件、二进制文件及用Append方式打开的文件有效 3)、锁定:该子句只在多用户或多进和环境中使用,用来限制其他用户或其他进程对打开进行读写操作。
锁定类型包括: a、默认:如不指定锁定类型,则本进程可以多次打开文件进行读写;在文件打开期间,其他进程不能对该文件执行读写操作 b、Lock Shared:任何机器上的任何进程都可以对该文件进行读写操作 c、Lock Read:不允许其他进程读该 文件。只在没有其他Read存取类型的进程访问该文件时,才允许这种锁定。
d、Lock Write:不允许其他进程写这个文件。只在没有其他Write存取类型的进程访问该文件时,才允许这种锁定 e、Lock Read Write:不允许其他进程读写这个文件 如果不使用lock子句,则默认为Lock Read write 4)、文件号:由用户自行指定一个由1~511之间的整数,。
7. vb用function怎样自定义函数
1、打开VB6.0,新建一个工程,在窗体中添加一个命令按钮,caption分别改为“调用函数”,将窗体Form1的caption属性改为“VB6.0自定义函数”,将界面设置成下图:
2、双击窗体Form1,进入代码编辑窗口,单击左侧下拉三角形,选择通用。
3、在通用段输入如下代码:
Public Sub F1(n%, ByVal m%)
n = n Mod 10
m = m \ 10
End Sub
并将Form_Load事件删除。
以上代码就定义了函数F1,其中包括两个参数,类型均是整型,%表示 短整型,Byval表明了值传递方式,表示值传递,与地址传递相对应。这也是默认的传递方式。
4、双击“调用函数”命令按钮,进入代码编辑窗口,输入如下代码:
Dim x%, y%
x = 12: y = 34
Call F1(x, y)
Print x, y
yongcall进行函数的调用,参数与自定义函数中参数一一对应。
5、然后关闭代码窗口,按下F5运行程序,单击“调用函数”命令按钮,在窗体中打印输出2 34,可以自己想下为什么是这个结果,这个结果和函数的值传递方式有关,
转载请注明出处育才学习网 » 显示标签的内容vb怎么写
育才学习网