createobject()添加两个变量
如题:一个变量是随机数,一个变量是从一个初始值依次递加
目前代码是产生一定数量的随机数据。如:t1=16 t2=1000
选中up项,则会生成1000个16位大写英文字母。
我想添加一项输入项如:inpt
如:inpt=ABCD0001时
输出为:
ABCD0001 ADG....P(16位)
.
.
.
ABCD1000 DTY...L(16位)
下面代码只有生成随机数一列。
<HTML>
<TITLE>Ëæ»úÊý²úÉú</TITLE>
<%
T1=Trim(Request("T1"))
T2=Trim(Request("T2"))
UP=Trim(Request("C1"))
LOW=Trim(Request("C2"))
NUM=Trim(Request("C3"))
inpt=Trim(Request("inpt"))
nowtime=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)
DIM A,B,c(10000000)
Randomize
for j=0 to INT(T2)-1
B=""
FOR I=0 TO (INT(T1)-1)
IF UP<>"" AND LOW<>"" AND NUM="" THEN
A=INT(RND*58+65)
if A>90 and A<97 then
A=A+10
end if
END IF
IF UP<>"" AND LOW="" AND NUM="" THEN
A=INT(RND*26+65)
END IF
IF UP="" AND LOW<>"" AND NUM="" THEN
A=INT(RND*26+97)
END IF
IF UP<>"" AND LOW<>"" AND NUM<>"" THEN
A=INT(RND*75+48)
if A>90 and A<97 then
A=A+10
end if
if A>57 and A<65 then
A=A+10
end if
END IF
IF UP<>"" AND LOW="" AND NUM<>"" THEN
A=INT(RND*43+48)
if A>57 and A<65 then
A=A+10
end if
END IF
IF UP="" AND LOW<>"" AND NUM<>"" THEN
A=INT(RND*43+48)
if A>57 and A<97 then
A=INT(RND*26+97)
end if
END IF
IF UP="" AND LOW="" AND NUM<>"" THEN
A=INT(RND*10+48)
END IF
B=B&CHR(A)
NEXT
c(j)=b
next
set objfso=server.createobject("scripting.filesystemobject")
set objts=objfso.opentextfile(server.mappath("../rand/rand"&T1&"_"&T2&"_"&nowtime&".TXT"),2,true)
for e=inpt to inpt+T2
response.write inpt
inpt=inpt+1
next
for z=0 to j
objts.writeline c(z)
next
%>
<BODY>
<A HREF="../rand<%=T1%>_<%=T2%>_<%=nowtime%>.TXT">RAND<%=T1%>_<%=T2%>_<%=nowtime%></A>
</BODY>
</HTML>
问题点数:100、回复次数:9Top
1 楼myvicy(我来也!)回复于 2005-04-25 13:33:18 得分 0
觉得你的代码有值得优化的地方。Top
2 楼tang()回复于 2005-04-25 13:37:05 得分 0
恩,但是我现在急着,先解决这个问题,你看有什么办法!!Top
3 楼masong_1978(http://www.bd2shou.com)回复于 2005-04-25 13:41:32 得分 0
帮你UP!Top
4 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-04-25 13:48:29 得分 100
<HTML>
<head>
<TITLE>随机数?生</TITLE>
</head>
<BODY>
<%
Dim T1
Dim T2
Dim UP
Dim LOW
Dim NUM
Dim nowtime
dim upperbound
dim lowerbound
Dim i
Dim j
Dim strOne
Dim strAll
T1=Trim(Request("T1")) '随机数位数
T2=Trim(Request("T2")) '随机数数量
UP=Trim(Request("C1")) '大写英文字母
LOW=Trim(Request("C2")) '小写英文字母
NUM=Trim(Request("C3")) '阿拉伯数字
''''''''''''''''' Just For Test '''''''''''''''''''''''''
T1 = 16
T2 = 3
UP = True
LOW = False
NUM = False
strOne = ""
''''''''''''''''' Just For Test '''''''''''''''''''''''''
Randomize
If UP = True then
upperbound = 90
lowerbound = 65
ElseIf Low = True then
upperbound = 122
lowerbound = 97
ElseIf NUM = True then
upperbound = 57
lowerbound = 48
End If
For i=0 To T2 - 1
For j=0 To T1 - 1
dl=Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
Response.Write ( "<font color = green>dl" & j & "=</font>" & Chr(dl) & "<br>" )
strOne = strOne & Chr(dl)
Next
strAll = strAll & strOne & VbCrlf
Response.Write ( "<font color = blue>strOne" & i & "=</font>" & strOne & "<br>" )
Next
'Response.Write ( "<font color = red>strAll=</font>" & strAll & "<br>" )
set objfso=server.createobject("scripting.filesystemobject")
set objts=objfso.opentextfile(server.mappath("../rand/rand"&T1&"_"&T2&"_"&nowtime&".TXT"),2,true)
objts.Write strAll
objts.Close
set objts = Nothing
set objfso = Nothing
%>
</BODY>
</HTML>
看看是不是你要求的,自己修改一下Top
5 楼tang()回复于 2005-04-25 14:13:58 得分 0
谢谢fantiny。我写的代码现在显示结果是:
ADE....T
.
.
16位随机大写字母。
我现在要改成:inpt=ADE001时
ADE001(起始值) ERT...G(16位随机数)
ADE002 ....
.
.
ADE100 ....
Top
6 楼tang()回复于 2005-04-25 14:48:47 得分 0
inpt值是输入的
你的结果是:
dl0=P
dl1=B
dl2=Q
dl3=K
dl4=F
dl5=K
dl6=X
dl7=O
dl8=V
dl9=H
dl10=K
dl11=D
dl12=J
dl13=E
dl14=O
dl15=K
strOne0=PBQKFKXOVHKDJEOK
dl0=O
dl1=E
dl2=F
dl3=V
dl4=J
dl5=P
dl6=L
dl7=Y
dl8=V
dl9=W
dl10=Z
dl11=K
dl12=T
dl13=T
dl14=U
dl15=Y
strOne1=PBQKFKXOVHKDJEOKOEFVJPLYVWZKTTUY
dl0=D
dl1=M
dl2=Z
dl3=I
dl4=O
dl5=U
dl6=R
dl7=T
dl8=W
dl9=K
dl10=P
dl11=C
dl12=C
dl13=L
dl14=K
dl15=Y
strOne2=PBQKFKXOVHKDJEOKOEFVJPLYVWZKTTUYDMZIOURTWKPCCLKY
strAll=PBQKFKXOVHKDJEOKPBQKFKXOVHKDJEOKOEFVJPLYVWZKTTUYPBQKFKXOVHKDJEOKOEFVJPLYVWZKTTUYDMZIOURTWKPCCLKY
Top
7 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-04-25 15:05:46 得分 0
<HTML>
<head>
<TITLE>随机数</TITLE>
</head>
<BODY>
<%
Dim T1
Dim T2
Dim UP
Dim LOW
Dim NUM
Dim nowtime
dim upperbound
dim lowerbound
Dim i
Dim j
Dim strOne
Dim strAll
Dim Title
Dim LenIntCount
Dim LenstrTarget
Dim LenI
DIm strAddZero
T1=Trim(Request("T1")) '随机数位数
T2=Trim(Request("T2")) '随机数数量
UP=Trim(Request("C1")) '大写英文字母
LOW=Trim(Request("C2")) '小写英文字母
NUM=Trim(Request("C3")) '阿拉伯数字
''''''''''''''''' Just For Test '''''''''''''''''''''''''
T1 = 16
T2 = 1000
UP = False
LOW = False
NUM = True
strOne = ""
''''''''''''''''' Just For Test '''''''''''''''''''''''''
Randomize
If UP = True then
upperbound = 90
lowerbound = 65
ElseIf Low = True then
upperbound = 122
lowerbound = 97
ElseIf NUM = True then
upperbound = 57
lowerbound = 48
End If
For i=0 To T2 - 1
Call FormatStr(T2,i + 1,Title)
strOne = ""
strOne = strOne & "ERT"
For j=0 To T1 - 1
dl=Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
strOne = strOne & Chr(dl)
Next
strOne = strOne & "G<br>" & VbCrlf
'strOne = strOne & "G<br>" & VbCrlf
'strAll = strAll & strOne & VbCrlf
Response.Write ( Title & strOne & "<br>" )
Next
'Response.Write ( "<font color = red>strAll=</font>" & strAll & "<br>" )
'set objfso=server.createobject("scripting.filesystemobject")
'set objts=objfso.opentextfile(server.mappath("../rand/rand"&T1&"_"&T2&"_"&nowtime&".TXT"),2,true)
'objts.Write strAll
'objts.Close
'set objts = Nothing
'set objfso = Nothing
%>
</BODY>
</HTML>
<%
Function FormatStr(ByVal intCount,ByVal strTarget,ByRef strTitle)
LenIntCount = Len(intCount)
LenstrTarget = Len(strTarget)
strAddZero = ""
For LenI = LenstrTarget To LenIntCount - 1
strAddZero = strAddZero & "0"
Next
strTitle = "ADE" & strAddZero & strTarget & ":"
End Function
%>
再看看这个Top
8 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-04-26 11:37:44 得分 0
<% Option Explicit %>
<HTML>
<head>
<TITLE>随机数</TITLE>
</head>
<BODY>
<%
Dim T1 '随机数位数
Dim T2 '随机数数量
Dim UP '大写英文字母
Dim LOW '小写英文字母
Dim NUM '阿拉伯数字
Dim nowtime '当前時間
Dim inpt '用戸輸入数字
Dim upperbound '随机数上限範囲
Dim lowerbound '随机数下限範囲
Dim i 'Loop用
Dim j 'Loop用
Dim k 'Loop用
Dim dl '随机数
Dim LenI 'Loop用
Dim Title '字符串前面表示
Dim Leninpt '用戸輸入字符串長度
Dim LenIntCount '
Dim LenstrTarget '
Dim strOne '
Dim strAll '
Dim strTitle '
Dim strSubinpt '
DIm strAddZero '
Dim strSplitOne '
Dim strSplitTwo '
T1=Trim(Request("T1")) '随机数位数
T2=Trim(Request("T2")) '随机数数量
UP=Trim(Request("C1")) '大写英文字母
LOW=Trim(Request("C2")) '小写英文字母
NUM=Trim(Request("C3")) '阿拉伯数字
inpt=Trim(Request("inpt")) '用戸輸入数字
''''''''''''''''' Just For Test '''''''''''''''''''''''''
T1 = 16
T2 = 1000
UP = True
LOW = False
NUM = False
inpt ="ERT0001"
''''''''''''''''' Just For Test '''''''''''''''''''''''''
Randomize
If UP = True then
'大写英文字母 ASCII 範囲
upperbound = 90
lowerbound = 65
ElseIf Low = True then
'小写英文字母 ASCII 範囲
upperbound = 122
lowerbound = 97
ElseIf NUM = True then
'阿拉伯数字 ASCII 範囲
upperbound = 57
lowerbound = 48
End If
strSplitOne = ""
strSplitTwo = ""
'字符串分析
Call SplitStr(inpt,strSplitOne,strSplitTwo)
For i=0 To T2 - 1
'字符串串接
Call FormatStr(T2,strSplitOne,Title,i)
strOne = ""
For j=0 To T1 - 1
'随机数生成
dl=Int((upperbound - lowerbound + 1) * Rnd + lowerbound)
strOne = strOne & Chr(dl)
Next
strOne = strOne & vbCrlf
Response.Write ( Title & " " & strOne & "<br>" )
Next
'Response.Write ( "strSplitOne:" & strSplitOne & "<br>" )
'Response.Write ( "strSplitTwo:" & strSplitTwo & "<br>" )
'set objfso=server.createobject("scripting.filesystemobject")
'set objts=objfso.opentextfile(server.mappath("../rand/rand"&T1&"_"&T2&"_"&nowtime&".TXT"),2,true)
'objts.Write strAll
'objts.Close
'set objts = Nothing
'set objfso = Nothing
%>
</BODY>
</HTML>
<%
'字符串串接函数
Function FormatStr(ByVal intCount,ByRef strTarget,ByRef strTitle,ByVal intLoop)
LenIntCount = Len(Cint(intCount))
LenStrTarget = Len(strTarget)
strAddZero = ""
strAddZero = Cint(strTarget) + Cint(intLoop)
For LenI = 0 To LenIntCount - Len(intLoop + 1) Step 1
If Len(strAddZero) <= Len(intCount) -1 Then
strAddZero = "0" & "" & strAddZero
End If
Next
strTitle = strSplitTwo & strAddZero
End Function
'字符串分析函数
Function SplitStr(ByVal inpt,ByRef SplitOne,ByRef SplitTwo)
Leninpt = Cint(Len(inpt))
strSubinpt = ""
For LenI = 0 To Leninpt - 1
strSubinpt = Mid(inpt,LenI + 1,1)
For k = 0 To 10
If strSubinpt = Chr(48 + k) Then
SplitOne = SplitOne & strSubinpt
Else
SplitTwo = Mid(inpt,1,Leninpt - Len(SplitOne))
End If
Next
Next
End Function
%>
Top
9 楼tang()回复于 2005-04-27 10:28:21 得分 0
谢谢,先给100先
Top




