ASP中Dictionary对象的一个奇怪问题
首先贴代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Dim objDic
Dim arr(2)
arr(0) = 0
arr(1) = 1
arr(2) = 2
Set objDic = Server.CreateObject("Scripting.Dictionary")
objDic.Add "key",arr
Response.Write("这是修改之前的值:" & objDic.Item("key")(0))
objDic.Item("key")(1) = objDic.Item("key")(1) + 4
Response.Write("这是修改之后的值:" & objDic.Item("key")(1))
%>
下面是运行结果:
这是修改之前的值:0这是修改之后的值:0
可以看到objDic.Item("key")(0)的值根本没有任何变化,这是为什么?
下面我们将代码修改一下:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Dim objDic
Dim arr(2)
arr(0) = 0
arr(1) = 1
arr(2) = 2
Set objDic = Server.CreateObject("Scripting.Dictionary")
objDic.Add "key",arr
Response.Write("这是修改之前的值:" & objDic.Item("key")(0))
arr(0) = arr(0) + 4
objDic.Item("key") = arr
Response.Write("这是修改之后的值:" & objDic.Item("key")(0))
%>
再来看看运行结果:
这是修改之前的值:0这是修改之后的值:4
这下结果正确了。
现在我明白了,在ASP中给一个key赋值只能通过objDic.Item(key) = value的方式进行,而且不能有任何的运算符。
相关文档:
采集开始
第一步是分析要采集的页面。
使用浏览器打开要采集的页面(如:http://sports.sina.com.cn/k/2008-09-15/04593948756.shtml,你可以其他页面),打开后,点击右键,查源文件。
第二步,找到要采集的内容所在位置。
假如我要采集这个页面上的标题和内容所在的位置:
标题在<h1 id="artibodyTitle" st ......
这段代码的功能是:将一个数组打乱顺序,显示出来,让每一次显示的顺序都不一样。
<%
Dim tt
tt=Split("1,2,3,4,5,6",",")
'随机排序
leng=UBound(tt)
randomize
for ii=0 to leng-1
b=int(rnd()*leng)
temp=tt(b)
tt(b ......
摘自:http://shawangkun.woku.com/article/2723424.html
最简单的用以下语句:
ip=request.ServerVariables("REMOTE_ADDR")
response.Write(ip)
但这种方法对代理服务器上网的就不准了,故比较全面的是用下面的方法:
<%Private Function getIP()
Dim strIPAddr
If Request.ServerVariables("HTTP_X_FORWARDED_F ......
摘自:http://zxlh168.blog.163.com/blog/static/7778614020098168638654/
<%
’FSO组件名称
dim FSObject
FSObject="Scripting.FileSystemObject"
’=========================================================
’◆是否支持组件
’=============================================== ......
废话不多说,贴代码:
先来看看ByVal传值:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Dim arr(2)
arr(0) = 0
arr(1) = 1
arr(2) = 2
Call sub1(arr)
Sub sub1(ByVal a)
a(0) = 9
a(1) = 8
a(2) = 7
Response.Write("我在sub过程中更改了值:"&a(0)&","&a(1)&","&a(2))
......