【 tulaoshi.com - ASP 】
                             
                               6.2.10  Tools组件
       Tools组件提供了一些有用的方法,可在页面中检查文件是否存在、处理一个HTML窗体、以及产生一个随机整数,还有用于Macintosh计算机的一些方法,还可以检查是否存在某个服务器插件以及检查用户是否是网站的拥有者。
1.  Tools组件的成页
Tools组件提供了五个方法,其中两个依赖于操作系统,如表6-8所示:
表6-8  Tools组件的方法及说明
方 法 
说 明 
FileExists(relative_url) 
如果relative_url指定的文件存在,返回值为True,否则为False。必须给出虚拟相对路径及文件名,并且文件必须存在于发布的Web网站目录中。 
Random() 
产生一个位于-32768~32767之间的随机整数。使用ABS函数(VBScript)或Math.abs(JScript)得到在0~32768之间的正整数。使用Mod运算符(VBScript)或%运算符(JScript)得到指定范围内的一个数值。例如:
intRand = (objTools.Random Mod 76) + 25
得到一个在25~100之间的整数。 
ProcessForm(output_url,
template_url,[insertion_point]) 
通过template_url指定的文件处理一个HTML窗体,并且插入来自窗体中已提交给当前页面的数值。结果写进 output_url指定的文件,如果指定了可选项insertion_point(字符串)参数的话,组件可在已存在的输出文件中找到这个字符串,并在该位置插入新的内容。如果insertion_point参数没有指定,任何已存在的 output_url文件则被新的输出取代 
Owner 
仅适用于Macintosh机,如果当前用户帐户是Web网站的拥有者,返回值为True,否则返回值为False 
PluginExists(plugin_name) 
仅适用于Macintosh机,如果指定的服务器plugin_name安装在机器上,返回值为True,否则为 False 
2.  使用FileExists方法
在允许用户访问之前,可以使用FileExists方法检查某些文件是否存在于服务器中(注意这个方法和 FileSystemObject.FileExists以同样的方式工作)。
下面的例子中,用户提供了网页的相对URL,如果用户想通过在名为txtURL的文本框中键入URL打开网页,在重新定向之前可以检查其是否存在。
       <% // in Jscript:
       var objTools = Server.CreateObject('MSWC.Tools');
       var strURL = Request.Form ('txtURL');         // collect the page URL they entered
       if (objTools.FileExists(strURL))                  // see if it exists
              Server.Transfer(strURL)                    ;      // if it does, transfer to it
       Else          & nbsp;                                     ;           // or if not display a message
              Response.Write('Sorry, the page you requested does not exist');
       %
       这里提供了一个示例页面(使用VBScript)来演示组件的三种方法(非 Macintosh),可以从ASP Installable Components主菜单中运行,如图6-16所示:
图6-16  运行Tools组件的方法的页面
       网页的第一部分允许输入一个文件的相对URL,并告诉用户该文件是否存在。示例提供的缺省值是查看网站的根目录中是否有global.asa文件。点击按钮时,说明该文件是否可找到的信息将放在页面的顶部,如图6-17所示:
图6-17  运行FileExists方法的结果
       把页面的所有控件放在<FORM中,提交回本页面,这已经成为一种规范。在页面的开始,查看点击了哪个按钮。如果是FileExists的按钮,就调用组件的FileExists方法并显示合适的信息。
       'look for a