日期:2010-07-10  浏览次数:21093 次

  为Web站点添加拼写检查功能

  许多开发者都提出“如何对用户输入的内容进行拼写检查”的问题,这篇文章正好提供了一个有用的方法,讨论如何使用XDE拼写检查组件,它既可以当作拼写检查器,同时也可以做完一个字典。关于这个组件的一个好消息是:它能够在服务器端使用,或者做为一个Java Applet。但是有一点,这些方便之处不是免费的,它要花费大约100美元。然而,该组件提供了一个30天免费使用评估版本,所以在真正决定购买前,你可以仔细进行测试,认真考虑是否满足需要。

  首先,访问http://mirrordns.com/download/站点,输入一些信息(名字、电子邮件,等等),下载并安装这个组件。下一步,从可供下载的XDE众多组件中选择 “Quick Spell Check Full Install”项目进行下载。下载完毕后,进行安装。在安装程序结束前,出现一个注册登记菜单,这时,简单地选择默认选择“Evaluation Period”。


  注意,现在的程序还是BETA版本。如果你不希望发生潜在的错误,我建议等第一个正式版本出来后再下载进行试验。我已经发现了现有版本的一些错误。你要记住:这是一个BETA版本,不要在正式站点上应用。


  接着,准备注册登记组件。现在决定一下你是否想要包含Word 97的字典和词典功能,如果需要,请先在Web服务器上安装Word 97或者Word 2000,然后参照http://mirrordns.com/spellchecker/server_installation.htm 的说明执行一套特殊的命令。如果不想使用整个Word 97的字典,就象注册其他组件一样接着进行:

  拷贝DLL文件SpellCheckServer.dll到Windows的System或者System32目录

  使用regsvr32注册组件:regsvr32 spellcheckserver.dll

  现在安装完组件,可以在ASP代码中使用了。为了创建使用拼写检查对象的示例,仅仅简单的编写下面的代码:


Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker")

  如我前面提到的,这个组件提供了拼写检查和词典的功能。首先,来看看如何返回给定单词的一系列同义词。这要使用到LookupSynonym方法,该方法需要一个参数,就是需要寻找同义词的单词。执行后,拼写检查对象收集相关的单词到集合对象SynonymWords。执行下面的代码祷亍癚uick”单词的所有同义词:


< %


Dim objSpellChecker, iLoop

’Create an instance of the SpellChecker

Set objSpellCheck = Server.CreateObject("SpellCheck.ClsChecker")

objSpellChecker.UseMSWord = False ’We’re not using MSWord

objSpellChecker.LookupSynonym "Quick" ’Lookup the synonym for "quick"

’Loop through the returned words:

Response.Write "The following synonyms for ’Quick’ exist: "

For iLoop = 1 To objSpellChecker.SynonymWords("Quick").SuggestedWords.Count

Response.Write objSpellChecker.SynonymWords("Quick").SuggestedWords(iLoop).word

Response.Write " "

Next


%>

  在服务器端执行拼写检查对于代码结构是非常紧凑的,但以我只见,要发挥强大的功能,必须依赖Java applet形式的拼写检查。以下将重点讨论如何应用这种方式,关于在服务器端使用组件的方法,请参见http://mirrordns.com/spellchecker/ 。

  为了使用Java applet,需要将安装目录下的.class文件拷贝到一个web可访问目录。比如,这里将文件移动到/spellcheck目录下。然后,创建一个表单,包含一个文本框或者文本域,其中是要进行拼写检查的内容。

< HTML>

< BODY>

< FORM NAME="frmSpellCheckExample">

< textarea name="JavaTextArea" rows="8" cols="50">< P>

< INPUT TYPE="button" value="Start Spell Check" >

  接着,使用APPLET标记来引用Java applet:

< applet codebase ="/spellcheck/" code="SpellCheck.class"

height="1" name="spellcheck" width="1"

ALT="Applet not displayed">

< param name="foreground" value="FFFFFF">

< param name="background" value="008080">

< param name="label" value="This string was passed from the HTML host.">


注意:在APPLET标记中的codebase参数指向.class文件所在的目录。

最后,在客户端使用一段JavaScript代码来组装applet参数:

< script language="JavaScript">

function SpellCheck() {

document.spellcheck.ptexttocheck =

document.frmSpellCheckExample.JavaTextArea.value;

document.spellcheck.doDlg();

if (document.spellcheck.fixedtext!="") {

document.frmSpellCheckExample.JavaTextArea.value =

document.spellcheck.fixedtext;

}

}

  这就完成了!如果想更多地了解如何使用该组件和Java Applet,一定来下面的地方看看:http://mirrordns.com/spellchecker/。

  在Web上动态建立条形码

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


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


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