当前位置: 首页 > 图文教程 > 网络编程 > ASP > 利用ASP实现三个强大功能之二

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

利用ASP实现三个强大功能之二


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

  在Web上动态建立条形码

  这篇文章讨论的是如何根据数据库的字段在web上动态地建立条形码的问题,这在如下的情况下非常有用:用户输入信息到系统中,然后显示一个总结页面“这就是你所输入的”,这个页面可以被打印,并在日后可以用条形码进行跟踪。


  实现这个功能的关键在于如何将数值比如“ABC”翻译为条形码。这里我们使用“代码39”,关于它的详细情况,请参阅有关定义。我想将产生的条形码显示在web页面上,这样用户就能打印包含条形码的这个页面,然后,再在图形系统的处理中使用它。许多用户都在系统中安装了“代码39”字体,所以我就能够在页面中改变它,但是我不想依赖它们。我想在页面中建立,并且独立于浏览器和计算机。


  我的解决方法是:为Code39中每一个支持的字符创建GIF图形文件。我使用Microsoft Paint软件创建Code39字体大小的文本框,然后为每一个字符建立一个图形。接着,使用Microsoft Image Composer将它们转换为GIF格式。最后,使用扫描软件检查这些字符,看看是否能正确地解释。下面,你将看到A、B、C以及星号(*)的条形码:


Code for A


Code for B


Code for C


Code for Asterisk


  然后,为了在ASP页面中描绘数据库中数值的条形码,仅仅简单地遍历BarCodeText变量字符串中的每一个字符,然后建立< IMG SRC=“...” >标记以替换字符为相应条形码图形文件。这非常简单,不需要在客户端安装字体文件。相关代码如下:


’Code 39 barcodes require an asterisk as the start and stop characters

Response.write "< IMG src="/upload/tech/20091103/20091103101743_996a7fa078cc36c46d02f9af3bef918b.gif""" WIDTH=""30"" HEIGHT=""36"">"

For x = 1 to Len(Trim(rst("BarCodeText")))

Response.Write "< IMG SRC=""" & mid(rst("BarCodeText"),x,1) & _

".gif"" WIDTH=""30"" HEIGHT=""36"">"

Next


’Code 39 barcodes require an asterisk as the start and stop characters

Response.write "< IMG src="/upload/tech/20091103/20091103101743_996a7fa078cc36c46d02f9af3bef918b.gif""" WIDTH=""30"" HEIGHT=""36"">"



  如果在记录集当前记录中BarCodeText的数值是“ABC”,那么执行上述代码后,HTML的结果是:


< IMG src="/upload/tech/20091103/20091103101745_dc5689792e08eb2e219dce49e64c885b.gif"" WIDTH="30" HEIGHT="36">

< IMG src="/upload/tech/20091103/20091103101746_eefc9e10ebdc4a2333b42b2dbb8f27b6.gif"" WIDTH="30" HEIGHT="36">

< IMG src="/upload/tech/20091103/20091103101746_f57a2f557b098c43f11ab969efe1504b.gif"" WIDTH="30" HEIGHT="36">

< IMG src="/upload/tech/20091103/20091103101747_846c260d715e5b854ffad5f70a516c88.gif"" WIDTH="30" HEIGHT="36">

< IMG src="/upload/tech/20091103/20091103101745_dc5689792e08eb2e219dce49e64c885b.gif"" WIDTH="30" HEIGHT="36">



然后,将显示如下图形:


现在,将该页面打印后,就可以被条形码扫描器所跟踪了。


  有2点关于条形码的注意事项:不是所有的条形码都能支持所有的字符集。Code39是很好而且很简单的一种。它具备可变长度,支持所有的大写字符、数字、星号以及7个特殊字符。对于每个字符,它使用风格一致的5线(2宽3窄)4空(指间隙,1宽3窄)形式。另外的字符集支持更多的,使用不同的解码方案。确认对每个字符都建立了GIF图形文件,同时,你可以修改图形的宽度和高度属性,从而在页面上显示稍大的或者稍小的条形码。


  另外,如果遇到特殊的字符,上面的遍历循环代码将不会工作,因为,不能将GIF文件命名为+.gif。这时,就要编写一个接受字符Ascii数值的函数,然后使用CASE语句返回等价于文件名的字符串。如果数据库字段的数值是整型或者仅仅包含字符或者数字,上面的遍历代码就已经很好了!


  以上介绍的方法不是很复杂,但是在某些方面却是很简单,而且很好用。