LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

在ASP中用execute 动态的创建数组

admin
2010年6月7日 23:44 本文热度 6783

今天找了下eval 没法创建连续的变量,如"a1,a2,a3..."这样的连续变量
而我希望创建"a1,a2,a3..."这样有连续数组
百度上找了许多方法,在网络上用许多人用了execute这个方法来创建如"a1,a2,a3..."这样的连续变量,是可行的,于是我就用这个方法来创建连续的数组变量
arraystr=split("1|2|3,4|5|6,7|8|9",",")
for i=0 to ubound(arraystr)
execute "a"&i&"=split("""&arraystr(i)&""",""|"")"
next

=========================================
后来又在网上找到了这篇文章
vbscript中的eval()函数
javascript中的eval函数让我们可以很方便地操作一系列变量(a1,a2,a3,……)。自从vbscript 5.0之后,我们也可以asp中使用这个功能了!
很感谢编程爱好者论坛上的朋友提出的难题,让我多学到了这个很有用的函数。
和javascript一样,eval()也是计算其中字符串所代表变量的值并返回,如eval("a"&"1")返回a1的值。不过这个eval()的功能和javascript比起来还是有差距的。我试了一下,发现主要有以下一点:vbscript中的eval函数只能读取返回值而不能为其中所代表变量赋值,即我们不可以用eval("a"&"1")为a1赋值。
那位朋友提出的问题,是将接收到的一个长字符串("2005081200507120050612005051")按7个字符为一组依次赋给一系列变量a1,a2,a3,…。
如果是赋值予数组,那我们可以建立动态数组:
<%
use="2005081200507120050612005051"
dim myarray()
redim myarray(0)
for i=1 to len(use) step 7
redim myarray(ubound(myarray)+1)
'将数组容量加1
myarray(ubound(myarray))=mid(use,i,7)
next
%>
现在要赋值给系列变量,我们得引入另外一个函数execute()。这个函数的作用是将其中字符串视为vbscript语句执行,如execute("a"&"1="&100")是执行以下语句:a1=100。
据此,我们可以按那位朋友的要求写出以下代码:
<%
use="2005081200507120050612005051"
dim n
'作为变量a后的索引1,2,3,…
n=1
for i=1 to len(use) step 7
execute "dim a"&cstr(n)&":a"&cstr(n)&"="&mid(use,i,7)
'执行语句dim a:a1=mid(use,i,7)
n=n+1
next
%>
=======================================
这篇文章中提到了execute的用法
算是了解了eval和execute的区别


该文章在 2010/6/7 23:44:34 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved