当前位置: 首页 > 图文教程 > 网络编程 > ASP > 生成EAN13标准的条形码的ASP代码实例

ASP
ASP 3.0高级编程(二十七)
ASP 3.0高级编程(二十八)
ASP 3.0高级编程(二十九)
ASP 3.0高级编程(三十)
ASP中时间函数的使用(一)
ASP中时间函数的使用(二)
ASP中时间函数的使用(三)
.NET之ASP WebApplication快速入门(1)
.NET之ASP WebApplication快速入门(2)
.NET之ASP WebApplication快速入门(3)
.NET之ASP WebApplication快速入门(4)
.NET之ASP WebApplication快速入门(5)
asp.NET特写
ASP 3.0高级编程(七)
ASP 3.0高级编程(八)
ASP.NET 入门的五个步骤
ASP 组件指南
XML 数据的编码方式
ASP 3.0高级编程(九)
ASP 3.0高级编程(十)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 250 ::
收藏到网摘: n/a

复制代码 代码如下:

<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>