VB程序员博客
07 14th, 2010
Public Declare Function Pos_Port_Open Lib "POS_SDK.dll" Alias "POS_Port_OpenA" (ByVal lpName As String, ByVal iport As Integer, ByVal bFile As Boolean, ByVal szFliePath As String) As Long
Private Sub Command1_Click()
If Pos_Port_Open("192.168.0.114", 1003, False, "") = 0 Then
MsgBox "打开端口失败"
Else
PrintJb = Pos_Port_Open("192.168.0.114", 1003, False, "")
Exit Sub
End If
End Sub
我就是句柄这块不怎么太知道:我对句柄不怎么太了解。那位大哥帮我看看怎么返回句柄
如成功表示操作句柄,以后的打印函数将使用此句柄来进行
下边是动态库函数说明:
LONG POS_Port_OpenA(LPCSTR lpName,int iPort,bool bFile,LPCSTR szFilePath)
功能
实现端口的打开
参数
lpName: 端口名称,例如:
串口:”COM1:9600,N,8,1”
并口:”LPT1”
USB:”SP-USB001”
网口:”192.168.1.193”
iPort : 端口类型,参考端口类型
bFile: 是否将打印内容存放到本地文件
szFilePath: 当 bFile 为真值时,为本地文件存放路径。否则该参数将被忽略
返回值
非 0 值表示打开端口成功,如成功表示操作句柄,以后的打印函数将使用此句柄来进行
后续的端口操作
相关指令
无
01 27th, 2010
我想在VB中实现以下getvar函数的功能 获取和返回给定变量名的变量值
已经找了一整天了,还没有结果呀
9.5.1 getvar函数
getvar函数用于获取和返回给定变量名的变量值,该变量名由参数name给定,变量名必须遵循wml有关变量命名的语法和规定。如果参数指定的变量不存在,那么函数就会返回空字符串。getvar函数的语法格式如下:
wmlbrowser.getvar(name)
其中的参数name必须是字符串形式表示的变量名,变量值也将以字符串的形式返回。如果变量名的语法不正确,那么函数就会返回无效值invalid。
例如,在下面的几行程序中,变量name被赋值"good!",所以当使用getvar函数测试它的变量值的时候,会得到"good!"的结果。
var name = "good!";
var a = wmlbrowser.getvar("name"); // 返回变量name的值,故a = "good!"
还有常量 获取和返回给定常量名的常量值
C# 的资料复制到VB版了!
在VB中到底能不能实现getvar函数的功能呀!!!
获取和返回给定变量名的变量值
还搞不定!
估计不行吧,VB不支持泛型
所谓的变量常量编译后都是一个内存地址而已
VB里面据我所知没有类似的方法.
但是有一个折衷方案,就是使用CallByName.
此法使用的限制就相对来说大了,需要目标属性/常量是某个对象的公有接口.
仔细想想就能了解,这是在调用COM接口,所以能以字符串来标志接口名称.
01 27th, 2010
我想在VB中实现以下getvar函数的功能 获取和返回给定变量名的变量值
已经找了一整天了,还没有结果呀
9.5.1 getvar函数
getvar函数用于获取和返回给定变量名的变量值,该变量名由参数name给定,变量名必须遵循wml有关变量命名的语法和规定。如果参数指定的变量不存在,那么函数就会返回空字符串。getvar函数的语法格式如下:
wmlbrowser.getvar(name)
其中的参数name必须是字符串形式表示的变量名,变量值也将以字符串的形式返回。如果变量名的语法不正确,那么函数就会返回无效值invalid。
例如,在下面的几行程序中,变量name被赋值"good!",所以当使用getvar函数测试它的变量值的时候,会得到"good!"的结果。
var name = "good!";
var a = wmlbrowser.getvar("name"); // 返回变量name的值,故a = "good!"
还有常量 获取和返回给定常量名的常量值
C# 的资料复制到VB版了!
在VB中到底能不能实现getvar函数的功能呀!!!
获取和返回给定变量名的变量值
还搞不定!
估计不行吧,VB不支持泛型
所谓的变量常量编译后都是一个内存地址而已
VB里面据我所知没有类似的方法.
但是有一个折衷方案,就是使用CallByName.
此法使用的限制就相对来说大了,需要目标属性/常量是某个对象的公有接口.
仔细想想就能了解,这是在调用COM接口,所以能以字符串来标志接口名称.
12 25th, 2009
本地输入数据。然后点查询后提交数据给网站的服务器,(控件)接受他返回的数据然后显示出来,请问是用Inet控件好还是只用Webbrowser控件。还是两个结合起来好呀。
(注:根据输入的数据到相应的网站上查询,再接受返回的数据,并以网页形式显示)
如果两个结合起来用,那getchunk接受后的数据怎么以网页形式显示在webbrowser中,不会webbrowser解析HTML。
请大家给点思路,用哪个控件做呀
学习VB没多久,望各位牛人帮忙下
呵呵是啊
12 25th, 2009
本地输入数据。然后点查询后提交数据给网站的服务器,(控件)接受他返回的数据然后显示出来,请问是用Inet控件好还是只用Webbrowser控件。还是两个结合起来好呀。
(注:根据输入的数据到相应的网站上查询,再接受返回的数据,并以网页形式显示)
如果两个结合起来用,那getchunk接受后的数据怎么以网页形式显示在webbrowser中,不会webbrowser解析HTML。
请大家给点思路,用哪个控件做呀
学习VB没多久,望各位牛人帮忙下
呵呵是啊
03 22nd, 2009
我在asp中登陆成功后会返回一个数据串
但是我不知道怎么用vb来接收这个数据!
请高人指点一下 谢谢
这个好像是asp之间的传统吧!
我现在是asp网页登陆后就会返回一个字符串。
我需要用VB取得这个字符串
顶!没人知道吗
用inet控件很容易获取啊。
a=Inet1.OpenURL("http://****/test.asp")
我有个办法
1.打开vb6.0 工具-部件-internet transfer control 6.0 - 确定
2.把控件加入到窗体设计器 name属性为inetget
3.加入以下代码
Private Function getdata(TheUrl As String)
Dim back As String
back = inetget.OpenURL(TheUrl)
getdata = back
End Function
Private Sub Form_Load()
inetget.Protocol = icHTTP
MsgBox getdata("http://www.hao123.com")
End Sub
程序进入后显示获得的数据
如果你想获得自己编写的asp数据
打开记事本或其他asp编辑工具
输入
<%
response.write("网页数据")
%>
保存为getdata.asp
在vb中用MsgBox getdata("http://www.你的域名.xx/getdata.asp")
这都是我自己写的 费了点时间 该给满分吧
补充 是登陆成功啊 容易啊 还是我上面说的function
dim a as string
a=getdata("http://www.你的域名.xx/getdata.asp?username=admin&password=admin")
if a ="密码错误" then
msgbox "密码错误"
elseif a="没有用户名" then
msgbox "没有找到该用户名"
end if
asp 中判断然后和上面一样输出信息
该清楚了吧 还不清楚 email:278481206@qq.com
呵呵 我够热情吧
http://blog.csdn.net/vansoft/archive/2008/12/18/3547423.aspx
我的博客
2008 和 van都给的东西不错。
不过个人认为van的更好点。还有van是否可以解释一下
Public Function PostInfo(ByVal WebServerAddress As String, _
ByVal Port As String, _
ByVal WebPageName As String, _
ByVal CommandString As String, _
Optional ByVal PostData As String = "") As String
函数中每个参数的意义? 谢谢
稍后送分
03 19th, 2009
在VB中打开SQL函数返回的表后,如何是RecordCount不返回-1
返回sql函数返回的表的正确条数
检查你的sql语句
先在数据库中运行看
把你的sql语句在sql查询分析器中执行看看…
使用sql返回的表,有记录的,
是用SQL函数返回的表,而且是有记录的
把您的语句贴上来。
select * from dbo.getInventory_JITInventory_fun('" & CZYname & "')
楼主您是否是想查询('" & CZYname & "') 定义的内容在表里有多少条?
rs.CursorLocation = adUseClient
要返回recedcount,要设置客户端游标,如楼上open前面加上:rs.CursorLocation = adUseClient
谢谢你们!问题解决了
01 5th, 2009
我需要返回查询结果在记录集中所在位置,有一个笨办法,但是效率太低,有什么好的解决办法没
笨办法
dim curnum as integer
rs.open "select * from data_info ",conn,1,3
if rs.recordcount <> 0 then
do while not rs.eof
curnum=curnum+1
if rs( "ID ")= "DT070501137 " then
exit do
end if
loop
end if
rs.close
如果记录多的话,速度就爆慢,有什么更好的办法没
WHERE
或者在 Recordset 使用 SEEK()/FIND() 函数
请参考 MSDN
不行啊,老兄
select * from data_info where ID= 'DT070501137 '
数据库允许的话在加个自增字段吧,那就可以根据Select count(自增字段) from 表 where 自增字段 <(select 自增字段 from 表 where ID= 'DT070501137 ')了
TO CathySun118(斯年)
你可能理解错误题目了,我不是要查询,只是要返回这条记录在整个数据集中的第几行
TO danielinbiti(金)
表中是有一个字段为自增字段,但是这个字段并不能代表所在记录行,中间可能有数据被删除的,所以并不连贯
ado的AbsolutePosition属性。
'Try it!
Sub ADOFindRecord()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
' Open the connection
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=.NorthWind.mdb; " 'Your Source Database path
' Open the recordset
rst.Open "Customers ", cnn, adOpenKeyset, adLockOptimistic
' Print the absolute position
Debug.Print "rst.AbsolutePosition_1= ";rst.AbsolutePosition
' Find the first customer whose country is USA
rst.Find "ID= 'DT070501137 ' "
Debug.Print "rst.AbsolutePosition_2= ";rst.AbsolutePosition
' Print the customer id 's of all customers in the USA
Do Until rst.EOF
rst.Find "ID= 'DT070501137 ' ",1
Debug.Print "rst.AbsolutePosition_3= ";rst.AbsolutePosition
Loop
' Close the recordset
rst.Close
End sub
12 8th, 2008
dll文件内容如下:
Function DLLMain(ByVal a As Long, ByVal B As Long, ByVal c As Long) As Long
DLLMain = 1
End Function
Sub Main()
End Sub
Function HardDiskSerialNo() As Byte
HardDiskSerialNo = "ABCDEF"
End Function
在另外一个工程内调用该DLL,代码如下:
Private Declare Function HardDiskSerialNo Lib "testDLL.DLL" () As Byte
Private Sub Command1_Click()
Text1.Text = HardDiskSerialNo()
End Sub
执行程序后Text1.Text中仅显示字母A。
我的DLL是用网上的插件编译成有输出值的类型。
这个写法好奇怪,输入参数怎么变成输出参数了??在程序里怎么应用这个函数??
我是在网上down的一个小插件,如果有需要的话给我站内消息你的Email,我发给你!!
你看看你DLL里的定义:
Function HardDiskSerialNo() As Byte
HardDiskSerialNo = "ABCDEF"
End Function
是byte类型,当然,只返回一个字符了!!
-----------------
输入参数怎么变成输出参数了??
———
有什么不可以吗?很多API都是这样。如果你希望一个函数返回多个不同类型的值,你怎么办?
Sorry, 是我粘贴错了,呵呵,源代码是
Function HardDiskSerialNo() As String
HardDiskSerialNo = "ABCDEF"
End Function
因为想用byte型试试,但发帖的时候没改过来。
调用处的函数返回值也要声明为String。
Byte 换成String即可
顶楼的代码是我粘错了!!源代码确实是String型
注意看我发的函数体及其编译后的声明………..
10 20th, 2008
Txt.Size '返回文件大小
Txt.Type '返回文件类型
Txt.DateCreated '返回文件创建时间
Txt.DateLastAccessed '返回文件最近访问时间
Txt.DateLastModified '返回文件最后修改时间
VB 中用FSO ,我想返回文件的后缀,不知道能不能返回,
我是新手,不懂,呵呵,如果大家谁知道请告诉我,谢谢了