VB程序员博客
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 ,我想返回文件的后缀,不知道能不能返回,
我是新手,不懂,呵呵,如果大家谁知道请告诉我,谢谢了
10 5th, 2008
VB中定义的函数使用数组作为返回值
请将语法结构写一下
谢谢
dim Myarray
Myarray=array("辣椒","生姜","大蒜","茄子","土豆")
那Myarray(0)就会等于“辣椒”了
谢谢各位大哥大姐