asp中字符串转化为实体类的方法(优化篇,简单优化)
option explicit
dim str1,str2
str1 ="order|||shiyang:100,mayang:200"
str2 = "book|||shuming:计算机,dingjia:100"
'声明2个全局对象
'放弃了一开始希望用数组存储的方式,那个虽然效率更高,但是需要自定义的array_pushobj函数,所以此处不做讨论了
dim objname_g
dim classname_g
'返回实体类
function getObjmod(byval str)
dim classname,itemlist,i
dim execstr
classname = split(str,"|||")(0)
execstr = "class "&classname&chr(10)
itemlist = split(split(str,"|||")(1),",")
for i = 0 to ubound(itemlist)
execstr = execstr +"public "&split(itemlist(i),":")(0)&chr(13)&chr(10)
next
execstr = execstr&"end class"&chr(13)&chr(10)&_
" set objname_g = new "&classname
classname_g =classname
execute execstr
end function
'赋值
function getobjcon(byval str)
dim itemlist,i,execstr
if classname_g = split(str,"|||")(0) and isobject(objname_g) then
set getobjcon = objname_g
else
getObjmod( str)
set getobjcon = objname_g
end if
itemlist = split(split(str,"|||")(1),",")
for i = 0 to ubound(itemlist)
execstr = execstr +"getobjcon."&split(itemlist(i),":")(0)&" = """&split(itemlist(i),":")(1)&"""" &chr(13)&chr(10)
next
execute execstr
end function
'测试函数
sub ceshi3
dim i,o1
for i = 0 to 10000
set o1 = getobjcon(str1)
response.write o1.shiyang&"<br>"
next
set o1 = getobjcon(str2)
response.write o1.shuming&"<br>"
end sub
dim t1
t1=timer()
call ceshi3
response.write FormatNumber((timer()-t1),4,-1)
相关文档:
'使用FSO修改文件特定内容的函数
Function FSOchange(filename,Target,String)
Dim objFSO,objCountFile,FiletempData
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objCountFile = objFSO.OpenTextFile(Server.MapPath(filename),1,True)
FiletempData = objCountFile.ReadAll
objCountFi ......
利用ASP打造网站论坛DIY(3)
2、构建文章显示模块
前面说过,一片具体的文章是分属在看板和主体之下的。因此显示文章也要经过看板列表和主体列表这两页面后,才能得到特定主题下文章的列表。
(1)板列表的显示页面:
< html>
< head>
< title>看板列表< /title>
< meta htt ......
用ASP实现支持附件的EMail系统(1)
大家经常探讨使用asp,而不使用其他组建能否实现文件的上传,从而开发出支持邮件附件的邮件系统,答案是可以的。
以下是发送邮件的页面,邮件的帐号是员工号,假设是5位的数字,sendmail.asp当然是在合法登陆后才能够看到的
<html>
<head>
<meta http-eq ......
用ASP实现支持附件的EMail系统(3)
尝试发送邮件,但是失败了,请修改错误后重试!
<script language="javascript">
alert("您输入的收件组格式错误!\r正确的格式是:'gr:001'");
history.back();
</script>
<p>
<%
response.end
else
thegroup=(mid(trim(strfieldvalue),4))
end if
......