服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - ASP教程 - 生成EAN13标准的条形码的ASP代码实例

生成EAN13标准的条形码的ASP代码实例

2019-10-08 09:41asp代码网 ASP教程

生成EAN13标准的条形码的ASP代码实例

代码如下:


<title>条形码生成</title>
<%
Rem =================================================================
Rem = 函数:ean13
Rem = 说明:生成EAN13标准的条形码,有实例(ASP代码)
Rem = 版本:1.0.0
Rem = 作者:第七种直角(7th/semico)
Rem = Date:2005-08-08 11:57:06
Rem = QQ:11110785
Rem = QQ群:3773360
Rem = 适用:按照需要生成EAN13标准的条形码
Rem =================================================================
Function ean13(code,w,h)
 Dim Guide,Dict,Lencode,Rencode,cStart,cMid,cEnd,Barcode,Lmethod
 Guide = array("AAAAAA","AABABB","AABBAB","ABAABB","ABBAAB","ABBBAA","ABABAB","ABABBA","ABBABA")

 

 Set Dict = CreateObject("Scripting.Dictionary")
 Dict.Add "A", "0001101001100100100110111101010001101100010101111011101101101110001011"
 Dict.Add "B", "0100111011001100110110100001001110101110010000101001000100010010010111"

 Rencode = array("1110010","1100110","1101100","1000010","1011100","1001110","1010000","1000100","1001000","1110100")

 cStart="101"
 cMid="01010"
 cEnd="101"

 if w<2 then w=2
 if h<20 then h=20
 cWidth=w '条码单元宽度
 cHeight=h '条码高度

 '检验条码是否符合标准
 if len(code)<>13 then response.write "必须为13位!":response.end

 for i=1 to 12
  if IsNumeric(mid(code,i,1)) then
   if i mod 2 then
    rsum=rsum+int(mid(code,i,1))
   else
    lsum=lsum+int(mid(code,i,1))
   end if
  else
   response.write "必须为数字码!":response.end
  end if
 next
 if 10-((lsum*3+rsum) mod 10) <> int(right(code,1)) then response.write "此条码错误!":response.end

 

 '转换条码
 Barcode=cStart
 Lmethod=left(code,1)
 'if Lmethod=0 then Lmethod=1
 for i=2 to 7
  barcode = barcode & mid(Dict(Mid(Guide(Lmethod-1),i-1,1)),(7*mid(code,i,1)+1),7)
 next
 barcode=barcode & cMid
 for i=8 to 13
  barcode = barcode & Rencode(mid(code,i,1))
 next
 barcode=barcode & cEnd


 fg="#000000" '条码前景色
 bg="#ffffff" '条码背景色
 response.write "<div style='position:absolute;width:"&cWidth*95+60&"px; height:"&cHeight+30&"px; background:"&bg&";'>"
 '绘制条码
 for x=1 to len(barcode)
  if x<5 or x>92 or (x>46 and x<51)then
   sh=10
  else
   sh=0
  end if

  if mid(barcode,x,1)="1" then
   bColor=fg
  else
   bColor=bg
  end if

  response.write "<div style='position:absolute;left:"&(x-1)*cWidth+30&"px;top:5px;width:"&cWidth&"px;height:"&cHeight+5+sh&"px;background:"&bColor&";'></div>"
 next
 '加入可读数字标签
 response.write "<div style='position:absolute;left:16px;top:"&cHeight+10&"px;background:"&bg&";color:"&fg&";font:12px Verdana;'>"&left(code,1)&"</div>"
 for x=1 to 6
  response.write "<div style='position:absolute;left:"&(x*7+2)*cWidth+22&"px;top:"&cHeight+10&"px;background:"&bg&";color:"&fg&";font:12px Verdana;'>"&mid(code,x+1,1)&"</div>"
  response.write "<div style='position:absolute;left:"&(x*7+47)*cWidth+24&"px;top:"&cHeight+10&"px;background:"&bg&";color:"&fg&";font:12px Verdana;'>"&mid(code,x+7,1)&"</div>"
 next
 response.write "<div style='position:absolute; left:30px;top:"&cHeight+25&"px;width:"&cWidth*95&"px;height:10px;text-align:center;background:#ffffff;border:solid 1px #e5e5e5;font:9px verdana;'>© 2007 by elbo </div>"
 response.write "</div>"
End Function

%>  
<p style="font:12px Verdana">
<span style="text-decoration: none">
<font color="#000000">适用:按照需要生成EAN13标准的条形码</font></span><br />
可以试验以下条码:<br />
9787900420206<br />
9787894954947
</p>
<br />
<form method="post" action="ttt.asp">
 <label>
  <input type="" name="bcode" />
 </label>
 <input type="submit" value="生成条码"/>
</form>
<p align="center"></p>

<p align="center">

<%
if request("bcode")<>"" then
 call ean13(request("bcode"),2,100)
else
 call ean13("1234567890128",2,100)
end if

%>
</br></a>版权所有 </p>
 

 

延伸 · 阅读

精彩推荐
  • ASP教程asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误

    asp页面提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误

    访问asp页面时提示Response 对象 错误 ASP 0156 : 80004005 HTTP 头错误?,行 0 已将 HTTP 头输出到客户端浏览器。任何对 HTTP 头的修改都必须在输出页内容之前进行。...

    服务器之家2692019-08-16
  • ASP教程asp获取当前文件名的代码

    asp获取当前文件名的代码

    对于asp下我们如果获得当前程序的文件名,就可以利用下面的代码获得,是不是很简单呢 DimcurUrl:curUrl=Replace(Request.ServerVariables(Script_Name),/,)...

    asp代码网1322019-09-25
  • ASP教程ASP实现加法验证码

    ASP实现加法验证码

    这篇文章主要介绍了ASP实现加法验证码,是在原来的验证码基础上进行创新,将验证码改为加法运算,感兴趣的小伙伴们可以参考一下...

    lijiao2602019-06-20
  • ASP教程ASP中的面向对象类

    ASP中的面向对象类

    大二给公司做的报表系统现在我打算重新修改优化一下,用的是ASP,用面向对象就得有类,还好VBS 支持 ...

    asp建站网1442019-09-17
  • ASP教程asp利用Split函数进行多关键字检索

    asp利用Split函数进行多关键字检索

    如题:我写入关键字到数据库,多的时候用|隔开了,我提取再做相关文章搜索的时候,我怎么提取用|隔开的文字啊,这样我就好用关键字做搜索啊 回复: 复制代码 代码如下: script language=vbscript dim keywords,operator,operend,strsql keywor...

    asp之家3762019-09-09
  • ASP教程Form Post提交容量大的数据

    Form Post提交容量大的数据

    以前在工作中遇到一个问题,当表单发送的数据量很大时,就会报错。查阅MSDN了解到,原因是微软对用Request.Form()可接收的最大数据限制为100K字节。...

    asp教程网3312019-09-11
  • ASP教程asp 空值测试判断函数

    asp 空值测试判断函数

    asp 空值测试判断函数,学习asp的朋友可以参考下。...

    asp之家5022019-08-16
  • ASP教程asp对复杂json的解析一定要注意要点

    asp对复杂json的解析一定要注意要点

    网上有很多类似的文章但只解析出第一层,后面的死活试了大半天才测试出来,下面贴上我的代码,解释一下,也算对我做的东西留个备份...

    ASP之家4632019-07-06