| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 509 人关注过本帖
标题:[开源]谁能解释一下这些代码的意思
只看楼主 加入收藏
willam
Rank: 1
等 级:新手上路
帖 子:237
专家分:0
注 册:2007-7-13
收藏
 问题点数:0 回复次数:4 
[开源]谁能解释一下这些代码的意思
<%
Option Explicit
Response.buffer=true
NumCode
Function NumCode()
Response.Expires = -1
Response.AddHeader "Pragma","no-cache"
Response.AddHeader "cache-ctrol","no-cache"
On Error Resume Next
Dim zNum,i,j
Dim Ados,Ados1
Randomize timer
zNum = cint(8999*Rnd+1000)
Session("CheckCode") = zNum
Dim zimg(4),NStr
NStr=cstr(zNum)
For i=0 To 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
Dim Pos
Set Ados=Server.CreateObject("Adodb.Stream")
Ados.Mode=3
Ados.Type=1
Ados.Open
Set Ados1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
Ados.LoadFromFile(Server.mappath("body.Fix"))
Ados1.write Ados.read(1280)
For i=0 To 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
Next
Ados.LoadFromFile(Server.mappath("head.fix"))
Pos=lenb(Ados.read())
Ados.Position=Pos
For i=0 To 9 Step 1
For j=0 To 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
Next
Next
Response.ContentType = "image/BMP"
Ados.Position=0
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
If Err Then Session("CheckCode") = 9999
End Function
%>

[此贴子已经被作者于2007-7-20 17:58:01编辑过]

搜索更多相关主题的帖子: 开源 代码 解释 
2007-07-20 17:55
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
楼主这段代码很像生成随机图片验证码。
Option Explicit'强制声明变量
Response.buffer=true'设置网页是否缓冲
NumCode
'声明函数
Function NumCode()
Response.Expires = -1'好像是缓冲大小
Response.AddHeader "Pragma","no-cache"'添加网页头部信息
Response.AddHeader "cache-ctrol","no-cache"
On Error Resume Next'错误处理
'声明变量
Dim zNum,i,j
Dim Ados,Ados1
Randomize timer'以当前timer系统时间做随机因子设置随机数
zNum = cint(8999*Rnd+1000)'产生随机数算法8999乘以系统随机数加1000
Session("CheckCode") = zNum'将产生的随机数写入Session变量
Dim zimg(4),NStr'声明数组和变量
NStr=cstr(zNum)'将随机数整型转换为字符型
'随机数赋值到数组中的循环
For i=0 To 3
zimg(i)=cint(mid(NStr,i+1,1))
Next
Dim Pos
Set Ados=Server.CreateObject("Adodb.Stream")'创建一个ADODB.Stream对象
'设置对象的类型和打开方式
Ados.Mode=3
Ados.Type=1
Ados.Open'打开对象
Set Ados1=Server.CreateObject("Adodb.Stream")
Ados1.Mode=3
Ados1.Type=1
Ados1.Open
Ados.LoadFromFile(Server.mappath("body.Fix"))'加载一个文件到对象
'底下的应该是图片生成的算法
Ados1.write Ados.read(1280)
For i=0 To 3
Ados.Position=(9-zimg(i))*320
Ados1.Position=i*320
Ados1.write ados.read(320)
Next
Ados.LoadFromFile(Server.mappath("head.fix"))
Pos=lenb(Ados.read())
Ados.Position=Pos
For i=0 To 9 Step 1
For j=0 To 3
Ados1.Position=i*32+j*320
Ados.Position=Pos+30*j+i*120
Ados.write ados1.read(30)
Next
Next
'到这里图片生成算法结束
'剩下的就是将算法生成的二进制码写成bmp图像文件
Response.ContentType = "image/BMP"
Ados.Position=0
Response.BinaryWrite Ados.read()
Ados.Close:set Ados=nothing
Ados1.Close:set Ados1=nothing
If Err Then Session("CheckCode") = 9999
End Function
%>
2007-07-21 11:00
SkyGull
Rank: 5Rank: 5
来 自:浙江杭州
等 级:贵宾
威 望:13
帖 子:839
专家分:324
注 册:2007-6-7
收藏
得分:0 
2007-07-21 12:12
willam
Rank: 1
等 级:新手上路
帖 子:237
专家分:0
注 册:2007-7-13
收藏
得分:0 
谢谢yms123高手,,你说的没错,这个是生机随机的图片验证码的,现在都明白了,
2007-07-21 13:44
willam
Rank: 1
等 级:新手上路
帖 子:237
专家分:0
注 册:2007-7-13
收藏
得分:0 
yyms123 判断为空我写了,,这些代码要怎么样才能判断验证吗是对的,麻烦你可以再帮一帮忙嘛


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
<style type="text/css">
<!--
.style1 {font-size: 12px}
-->
</style>
<script language="javascript" >
function CheckForm(form){
if(form.checkcode.value===""){
alert("错误提示:\n\n请你填写验证码  ");
return false;

}
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onSubmit="return CheckForm(this)">
<span class="style1">输入验证码</span>:
<input name="checkcode" type="text" size="6">
<span class="style1">验证码:</span><img src="code.asp">
<input type="submit" name="Submit" value="提交" >
</form>
</body>
</html>
2007-07-21 14:02
快速回复:[开源]谁能解释一下这些代码的意思
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030295 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved