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

ASP
ASP正则表达式技巧
ASP Access实现网站计数器(访问量)
ASP新闻分页,将一篇过长的文章分页,生成静态页面
一些关于asp 购物车的想法
一个sql查询器,自动画表格填字段
ASP实现文件直接下载的代码
把网页中的(电话,qq等数字)生成图片的ASP程序
asp长文章用分页符来分页显示
Asp函数介紹(37个常用函数)
ASP中的面向对象类
分页实现方法的性能比较
asp ajax跨域提交数据
asp修改文件和文件夹的名字的代码
ASP 多关键词查询实例代码
asp被杀毒软件误删的解决方法
asp 多关键词搜索的简单实现方法
asp 根据IP地址自动判断转向分站的代码
asp dictionary对象的用法
ASP 千万级数据分页的存储过程
ASP隐藏真实文件的下载功能实现代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 84 ::
收藏到网摘: 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语句返回等价于文件名的字符串。如果数据库字段的数值是整型或者仅仅包含字符或者数字,上面的遍历代码就已经很好了!


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