帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > ASP编程
利用ASP实现三个强大功能(二) (转,强烈推荐)
作者: 发布时间:2005-03-12 来源:
2、在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=""asterisk.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=""asterisk.gif"" WIDTH=""30"" HEIGHT=""36"">"


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

< IMG SRC="asterisk.gif" WIDTH="30" HEIGHT="36">
< IMG SRC="A.gif" WIDTH="30" HEIGHT="36">
< IMG SRC="B.gif" WIDTH="30" HEIGHT="36">
< IMG SRC="C.gif" WIDTH="30" HEIGHT="36">
< IMG SRC="asterisk.gif" WIDTH="30" HEIGHT="36">


然后,将显示如下图形:

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

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

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

以上介绍的方法不是很复杂,但是在某些方面却是很简单,而且很好用。
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·利用ASP实现三个强大功能(一)   (2005-03-12)
 ·利用自己开发的vc组件结合asp实现  (2005-03-12)
 ·利用WSH作定時工作排程(转自:L  (2005-03-12)
 ·利用随机函数获取某一范围的整数  (2005-03-12)
 ·<展现C#> 第六章 控制语句(rain  (2005-03-12)
 ·利用OWC服务器端组件动态生成图表  (2005-03-12)
 ·利用WSH作定時工作排程  (2005-03-12)
 ·利用ASP制作EXECL报表方法(一)  (2005-03-12)
 ·利用ASP制作EXECL报表方法(二)  (2005-03-12)
 ·利用MSCHART画图的一段代码  (2005-03-12)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·在ASP中使用数据库
·使用ASP脚本技术
·通过启动脚本来感受ASP的力量
·学习使用ASP对象和组件
·解析asp的脚本语言
·初看ASP-针对初学者
·ASP开发10条经验总结
·ASP之对象总结
·ASP与数据库应用(给初学者)
·关于学习ASP和编程的28个观点
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统