﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-向东博客</title><link>http://www.cnblogs.com/meil/</link><description>非澹泊无以明志,非宁静无以致远.</description><language>zh-cn</language><lastBuildDate>Sat, 04 Jul 2009 18:53:23 GMT</lastBuildDate><pubDate>Sat, 04 Jul 2009 18:53:23 GMT</pubDate><ttl>60</ttl><item><title>NOT IN、JOIN、IS NULL、NOT EXISTS效率对比 </title><link>http://www.cnblogs.com/meil/archive/2008/09/05/1144405.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 05 Sep 2008 01:14:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2008/09/05/1144405.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/1144405.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2008/09/05/1144405.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/1144405.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/1144405.html</trackback:ping><description><![CDATA[语句一：select count(*) from A where A.a <span style="color: red;">not in </span>(select a from B)<br />
<br />
语句二：select count(*) from A <span style="color: red;">left join </span>B on A.a = B.a where B.a <span style="color: red;">is null</span><br />
<br />
语句三：select count(*) from A where <span style="color: red;">not exists </span>(select a from B where A.a = B.a)<br />
<br />
知道以上三条语句的实际效果是相同的已经很久了，但是一直没有深究其间的效率对比。一直感觉上语句二是最快的。<br />
今天工作上因为要对一个数千万行数据的库进行数据清除，需要删掉两千多万行数据。大量的用到了以上三条语句所要实现的功能。本来用的是语句一，但是结果是执行速度1个小时32分，日志文件占用21GB。时间上虽然可以接受，但是对硬盘空间的占用确是个问题。因此将所有的语句一都换成语句二。本以为会更快。没想到执行40多分钟后，第一批50000行都没有删掉，反而让SQL SERVER崩溃掉了，结果令人诧异。试了试单独执行这条语句，查询近一千万行的表，语句一用了4秒，语句二却用了18秒，差距很大。语句三的效率与语句一接近。<br />
<br />
<br />
第二种写法是大忌，应该尽量避免。第一种和第三种写法本质上几乎一样。 <br />
<br />
假设buffer pool足够大，写法二相对于写法一来说存在以下几点不足： <br />
（1）left join本身更耗资源（需要更多资源来处理产生的中间结果集） <br />
（2）left join的中间结果集的规模不会比表A小 <br />
（3）写法二还需要对left join产生的中间结果做is null的条件筛选，而写法一则在两个集合join的同时完成了筛选，这部分开销是额外的 <br />
<br />
这三点综合起来，在处理海量数据时就会产生比较明显的区别（主要是内存和CPU上的开销）。我怀疑楼主在测试时buffer pool可能已经处于饱和状态，这样的话，写法二的那些额外开销不得不借助磁盘上的虚拟内存，在SQL Server做换页时，由于涉及到较慢的I/O操作因此这种差距会更加明显。 <br />
<br />
关于日志文件过大，这也是正常的，因为删除的记录多嘛。可以根据数据库的用途考虑将恢复模型设为simple，或者在删除结束后将日志truncate掉并把文件shrink下来。<br />
<br />
<br />
因为以前曾经作过一个对这个库进行无条件删除的脚本，就是要删除数据量较大的表中的所有数据，但是因为客户要求，不能使用truncate table，怕破坏已有的库结构。所以只能用delete删，当时也遇到了日志文件过大的问题，当时采用的方法是分批删除，在SQL2K中用set rowcount @chunk，在SQL2K5中用delete top @chunk。这样的操作不仅使删除时间大大减少，而且让日志量大大减少，只增长了1G左右。 <br />
但是这次清除数据的工作需要加上条件，就是delete A from A where ....后面有条件的。再次使用分批删除的方法，却已经没效果了。 <br />
不知您知不知道这是为什么。&nbsp;&nbsp;<img src ="http://www.cnblogs.com/meil/aggbug/1144405.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47970/" target="_blank">19岁天才黑客发布首个iPhone 3GS破解软件</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>MS SQL用ROWCOUNT解决TOP子句不支持变量的问题 </title><link>http://www.cnblogs.com/meil/archive/2008/05/21/sqlserver-2000-rowcount.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Wed, 21 May 2008 09:08:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2008/05/21/sqlserver-2000-rowcount.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/1122822.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2008/05/21/sqlserver-2000-rowcount.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/1122822.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/1122822.html</trackback:ping><description><![CDATA[摘要: &nbsp;&nbsp;<a href='http://www.cnblogs.com/meil/archive/2008/05/21/sqlserver-2000-rowcount.html'>阅读全文</a><img src ="http://www.cnblogs.com/meil/aggbug/1122822.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47969/" target="_blank">新浪邮箱大本营粉墨登场！Sina.cn开放注册</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>开发笔记：ADO枚举常量列表(ASP,VBScript)</title><link>http://www.cnblogs.com/meil/archive/2008/01/29/1057125.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Tue, 29 Jan 2008 02:24:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2008/01/29/1057125.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/1057125.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2008/01/29/1057125.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/1057125.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/1057125.html</trackback:ping><description><![CDATA[<p>　　'----&nbsp;&nbsp; CursorTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adOpenForwardOnly&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adOpenKeyset&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adOpenDynamic&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adOpenStatic&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　'----&nbsp;&nbsp; CursorOptionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adHoldRecords&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000100</p>
<p>　　Const&nbsp;&nbsp; adMovePrevious&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000200</p>
<p>　　Const&nbsp;&nbsp; adAddNew&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H01000400</p>
<p>　　Const&nbsp;&nbsp; adDelete&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H01000800</p>
<p>　　Const&nbsp;&nbsp; adUpdate&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H01008000</p>
<p>　　Const&nbsp;&nbsp; adBookmark&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00002000</p>
<p>　　Const&nbsp;&nbsp; adApproxPosition&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00004000</p>
<p>　　Const&nbsp;&nbsp; adUpdateBatch&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00010000</p>
<p>　　Const&nbsp;&nbsp; adResync&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00020000</p>
<p>　　Const&nbsp;&nbsp; adNotify&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00040000</p>
<p>　　Const&nbsp;&nbsp; adFind&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00080000</p>
<p>　　Const&nbsp;&nbsp; adSeek&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00400000</p>
<p>　　Const&nbsp;&nbsp; adIndex&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00800000</p>
<p>　　'----&nbsp;&nbsp; LockTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adLockReadOnly&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adLockPessimistic&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adLockOptimistic&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adLockBatchOptimistic&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; ExecuteOptionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adAsyncExecute&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000010</p>
<p>　　Const&nbsp;&nbsp; adAsyncFetch&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000020</p>
<p>　　Const&nbsp;&nbsp; adAsyncFetchNonBlocking&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000040</p>
<p>　　Const&nbsp;&nbsp; adExecuteNoRecords&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000080</p>
<p>　　Const&nbsp;&nbsp; adExecuteStream&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000400</p>
<p>　　'----&nbsp;&nbsp; ConnectOptionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adAsyncConnect&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000010</p>
<p>　　'----&nbsp;&nbsp; ObjectStateEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adStateClosed&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000000</p>
<p>　　Const&nbsp;&nbsp; adStateOpen&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000001</p>
<p>　　Const&nbsp;&nbsp; adStateConnecting&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000002</p>
<p>　　Const&nbsp;&nbsp; adStateExecuting&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000004</p>
<p>　　Const&nbsp;&nbsp; adStateFetching&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000008</p>
<p>　　'----&nbsp;&nbsp; CursorLocationEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adUseServer&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adUseClient&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　'----&nbsp;&nbsp; DataTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adEmpty&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adTinyInt&nbsp;&nbsp; =&nbsp;&nbsp; 16</p>
<p>　　Const&nbsp;&nbsp; adSmallInt&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adInteger&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adBigInt&nbsp;&nbsp; =&nbsp;&nbsp; 20</p>
<p>　　Const&nbsp;&nbsp; adUnsignedTinyInt&nbsp;&nbsp; =&nbsp;&nbsp; 17</p>
<p>　　Const&nbsp;&nbsp; adUnsignedSmallInt&nbsp;&nbsp; =&nbsp;&nbsp; 18</p>
<p>　　Const&nbsp;&nbsp; adUnsignedInt&nbsp;&nbsp; =&nbsp;&nbsp; 19</p>
<p>　　Const&nbsp;&nbsp; adUnsignedBigInt&nbsp;&nbsp; =&nbsp;&nbsp; 21</p>
<p>　　Const&nbsp;&nbsp; adSingle&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adDouble&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　Const&nbsp;&nbsp; adCurrency&nbsp;&nbsp; =&nbsp;&nbsp; 6</p>
<p>　　Const&nbsp;&nbsp; adDecimal&nbsp;&nbsp; =&nbsp;&nbsp; 14</p>
<p>　　Const&nbsp;&nbsp; adNumeric&nbsp;&nbsp; =&nbsp;&nbsp; 131</p>
<p>　　Const&nbsp;&nbsp; adBoolean&nbsp;&nbsp; =&nbsp;&nbsp; 11</p>
<p>　　Const&nbsp;&nbsp; adError&nbsp;&nbsp; =&nbsp;&nbsp; 10</p>
<p>　　Const&nbsp;&nbsp; adUserDefined&nbsp;&nbsp; =&nbsp;&nbsp; 132</p>
<p>　　Const&nbsp;&nbsp; adVariant&nbsp;&nbsp; =&nbsp;&nbsp; 12</p>
<p>　　Const&nbsp;&nbsp; adIDispatch&nbsp;&nbsp; =&nbsp;&nbsp; 9</p>
<p>　　Const&nbsp;&nbsp; adIUnknown&nbsp;&nbsp; =&nbsp;&nbsp; 13</p>
<p>　　Const&nbsp;&nbsp; adGUID&nbsp;&nbsp; =&nbsp;&nbsp; 72</p>
<p>　　Const&nbsp;&nbsp; adDate&nbsp;&nbsp; =&nbsp;&nbsp; 7</p>
<p>　　Const&nbsp;&nbsp; adDBDate&nbsp;&nbsp; =&nbsp;&nbsp; 133</p>
<p>　　Const&nbsp;&nbsp; adDBTime&nbsp;&nbsp; =&nbsp;&nbsp; 134</p>
<p>　　Const&nbsp;&nbsp; adDBTimeStamp&nbsp;&nbsp; =&nbsp;&nbsp; 135</p>
<p>　　Const&nbsp;&nbsp; adBSTR&nbsp;&nbsp; =&nbsp;&nbsp; 8</p>
<p>　　Const&nbsp;&nbsp; adChar&nbsp;&nbsp; =&nbsp;&nbsp; 129</p>
<p>　　Const&nbsp;&nbsp; adVarChar&nbsp;&nbsp; =&nbsp;&nbsp; 200</p>
<p>　　Const&nbsp;&nbsp; adLongVarChar&nbsp;&nbsp; =&nbsp;&nbsp; 201</p>
<p>　　Const&nbsp;&nbsp; adWChar&nbsp;&nbsp; =&nbsp;&nbsp; 130</p>
<p>　　Const&nbsp;&nbsp; adVarWChar&nbsp;&nbsp; =&nbsp;&nbsp; 202</p>
<p>　　Const&nbsp;&nbsp; adLongVarWChar&nbsp;&nbsp; =&nbsp;&nbsp; 203</p>
<p>　　Const&nbsp;&nbsp; adBinary&nbsp;&nbsp; =&nbsp;&nbsp; 128</p>
<p>　　Const&nbsp;&nbsp; adVarBinary&nbsp;&nbsp; =&nbsp;&nbsp; 204</p>
<p>　　Const&nbsp;&nbsp; adLongVarBinary&nbsp;&nbsp; =&nbsp;&nbsp; 205</p>
<p>　　Const&nbsp;&nbsp; adChapter&nbsp;&nbsp; =&nbsp;&nbsp; 136</p>
<p>　　Const&nbsp;&nbsp; adFileTime&nbsp;&nbsp; =&nbsp;&nbsp; 64</p>
<p>　　Const&nbsp;&nbsp; adPropVariant&nbsp;&nbsp; =&nbsp;&nbsp; 138</p>
<p>　　Const&nbsp;&nbsp; adVarNumeric&nbsp;&nbsp; =&nbsp;&nbsp; 139</p>
<p>　　Const&nbsp;&nbsp; adArray&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H2000</p>
<p>　　'----&nbsp;&nbsp; FieldAttributeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adFldMayDefer&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000002</p>
<p>　　Const&nbsp;&nbsp; adFldUpdatable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000004</p>
<p>　　Const&nbsp;&nbsp; adFldUnknownUpdatable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000008</p>
<p>　　Const&nbsp;&nbsp; adFldFixed&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000010</p>
<p>　　Const&nbsp;&nbsp; adFldIsNullable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000020</p>
<p>　　Const&nbsp;&nbsp; adFldMayBeNull&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000040</p>
<p>　　Const&nbsp;&nbsp; adFldLong&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000080</p>
<p>　　Const&nbsp;&nbsp; adFldRowID&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000100</p>
<p>　　Const&nbsp;&nbsp; adFldRowVersion&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000200</p>
<p>　　Const&nbsp;&nbsp; adFldCacheDeferred&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00001000</p>
<p>　　Const&nbsp;&nbsp; adFldIsChapter&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00002000</p>
<p>　　Const&nbsp;&nbsp; adFldNegativeScale&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00004000</p>
<p>　　Const&nbsp;&nbsp; adFldKeyColumn&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00008000</p>
<p>　　Const&nbsp;&nbsp; adFldIsRowURL&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00010000</p>
<p>　　Const&nbsp;&nbsp; adFldIsDefaultStream&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00020000</p>
<p>　　Const&nbsp;&nbsp; adFldIsCollection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00040000</p>
<p>　　'----&nbsp;&nbsp; EditModeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adEditNone&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000</p>
<p>　　Const&nbsp;&nbsp; adEditInProgress&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0001</p>
<p>　　Const&nbsp;&nbsp; adEditAdd&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0002</p>
<p>　　Const&nbsp;&nbsp; adEditDelete&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0004</p>
<p>　　'----&nbsp;&nbsp; RecordStatusEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adRecOK&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000000</p>
<p>　　Const&nbsp;&nbsp; adRecNew&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000001</p>
<p>　　Const&nbsp;&nbsp; adRecModified&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000002</p>
<p>　　Const&nbsp;&nbsp; adRecDeleted&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000004</p>
<p>　　Const&nbsp;&nbsp; adRecUnmodified&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000008</p>
<p>　　Const&nbsp;&nbsp; adRecInvalid&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000010</p>
<p>　　Const&nbsp;&nbsp; adRecMultipleChanges&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000040</p>
<p>　　Const&nbsp;&nbsp; adRecPendingChanges&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000080</p>
<p>　　Const&nbsp;&nbsp; adRecCanceled&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000100</p>
<p>　　Const&nbsp;&nbsp; adRecCantRelease&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000400</p>
<p>　　Const&nbsp;&nbsp; adRecConcurrencyViolation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000800</p>
<p>　　Const&nbsp;&nbsp; adRecIntegrityViolation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0001000</p>
<p>　　Const&nbsp;&nbsp; adRecMaxChangesExceeded&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0002000</p>
<p>　　Const&nbsp;&nbsp; adRecObjectOpen&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0004000</p>
<p>　　Const&nbsp;&nbsp; adRecOutOfMemory&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0008000</p>
<p>　　Const&nbsp;&nbsp; adRecPermissionDenied&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0010000</p>
<p>　　Const&nbsp;&nbsp; adRecSchemaViolation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0020000</p>
<p>　　Const&nbsp;&nbsp; adRecDBDeleted&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0040000</p>
<p>　　'----&nbsp;&nbsp; GetRowsOptionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adGetRowsRest&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　'----&nbsp;&nbsp; PositionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adPosUnknown&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adPosBOF&nbsp;&nbsp; =&nbsp;&nbsp; -2</p>
<p>　　Const&nbsp;&nbsp; adPosEOF&nbsp;&nbsp; =&nbsp;&nbsp; -3</p>
<p>　　'----&nbsp;&nbsp; BookmarkEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adBookmarkCurrent&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adBookmarkFirst&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adBookmarkLast&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; MarshalOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adMarshalAll&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adMarshalModifiedOnly&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　'----&nbsp;&nbsp; AffectEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adAffectCurrent&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adAffectGroup&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adAffectAllChapters&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; ResyncEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adResyncUnderlyingValues&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adResyncAllValues&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; CompareEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adCompareLessThan&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adCompareEqual&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adCompareGreaterThan&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adCompareNotEqual&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adCompareNotComparable&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; FilterGroupEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adFilterNone&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adFilterPendingRecords&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adFilterAffectedRecords&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adFilterFetchedRecords&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adFilterConflictingRecords&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　'----&nbsp;&nbsp; SearchDirectionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adSearchForward&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adSearchBackward&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　'----&nbsp;&nbsp; PersistFormatEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adPersistADTG&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adPersistXML&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　'----&nbsp;&nbsp; StringFormatEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adClipString&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; ConnectPromptEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adPromptAlways&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adPromptComplete&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adPromptCompleteRequired&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adPromptNever&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; ConnectModeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adModeUnknown&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adModeRead&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adModeWrite&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adModeReadWrite&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adModeShareDenyRead&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adModeShareDenyWrite&nbsp;&nbsp; =&nbsp;&nbsp; 8</p>
<p>　　Const&nbsp;&nbsp; adModeShareExclusive&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hc</p>
<p>　　Const&nbsp;&nbsp; adModeShareDenyNone&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H10</p>
<p>　　Const&nbsp;&nbsp; adModeRecursive&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H400000</p>
<p>　　Const&nbsp;&nbsp; adCreateCollection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00002000</p>
<p>　　Const&nbsp;&nbsp; adCreateStructDoc&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H80000000</p>
<p>　　Const&nbsp;&nbsp; adCreateNonCollection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000000</p>
<p>　　Const&nbsp;&nbsp; adOpenIfExists&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H02000000</p>
<p>　　Const&nbsp;&nbsp; adCreateOverwrite&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H04000000</p>
<p>　　Const&nbsp;&nbsp; adFailIfNotExists&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　'----&nbsp;&nbsp; RecordOpenOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adOpenRecordUnspecified&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adOpenOutput&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00800000</p>
<p>　　Const&nbsp;&nbsp; adOpenAsync&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00001000</p>
<p>　　Const&nbsp;&nbsp; adDelayFetchStream&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00004000</p>
<p>　　Const&nbsp;&nbsp; adDelayFetchFields&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00008000</p>
<p>　　Const&nbsp;&nbsp; adOpenExecuteCommand&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00010000</p>
<p>　　'----&nbsp;&nbsp; IsolationLevelEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adXactUnspecified&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hffffffff</p>
<p>　　Const&nbsp;&nbsp; adXactChaos&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000010</p>
<p>　　Const&nbsp;&nbsp; adXactReadUncommitted&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000100</p>
<p>　　Const&nbsp;&nbsp; adXactBrowse&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00000100</p>
<p>　　Const&nbsp;&nbsp; adXactCursorStability&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00001000</p>
<p>　　Const&nbsp;&nbsp; adXactReadCommitted&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00001000</p>
<p>　　Const&nbsp;&nbsp; adXactRepeatableRead&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00010000</p>
<p>　　Const&nbsp;&nbsp; adXactSerializable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00100000</p>
<p>　　Const&nbsp;&nbsp; adXactIsolated&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00100000</p>
<p>　　'----&nbsp;&nbsp; XactAttributeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adXactCommitRetaining&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00020000</p>
<p>　　Const&nbsp;&nbsp; adXactAbortRetaining&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H00040000</p>
<p>　　'----&nbsp;&nbsp; PropertyAttributesEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adPropNotSupported&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000</p>
<p>　　Const&nbsp;&nbsp; adPropRequired&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0001</p>
<p>　　Const&nbsp;&nbsp; adPropOptional&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0002</p>
<p>　　Const&nbsp;&nbsp; adPropRead&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0200</p>
<p>　　Const&nbsp;&nbsp; adPropWrite&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0400</p>
<p>　　'----&nbsp;&nbsp; ErrorValueEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adErrProviderFailed&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbb8</p>
<p>　　Const&nbsp;&nbsp; adErrInvalidArgument&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbb9</p>
<p>　　Const&nbsp;&nbsp; adErrOpeningFile&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbba</p>
<p>　　Const&nbsp;&nbsp; adErrReadFile&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbbb</p>
<p>　　Const&nbsp;&nbsp; adErrWriteFile&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbbc</p>
<p>　　Const&nbsp;&nbsp; adErrNoCurrentRecord&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hbcd</p>
<p>　　Const&nbsp;&nbsp; adErrIllegalOperation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hc93</p>
<p>　　Const&nbsp;&nbsp; adErrCantChangeProvider&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hc94</p>
<p>　　Const&nbsp;&nbsp; adErrInTransaction&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hcae</p>
<p>　　Const&nbsp;&nbsp; adErrFeatureNotAvailable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hcb3</p>
<p>　　Const&nbsp;&nbsp; adErrItemNotFound&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hcc1</p>
<p>　　Const&nbsp;&nbsp; adErrObjectInCollection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hd27</p>
<p>　　Const&nbsp;&nbsp; adErrObjectNotSet&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hd5c</p>
<p>　　Const&nbsp;&nbsp; adErrDataConversion&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hd5d</p>
<p>　　Const&nbsp;&nbsp; adErrObjectClosed&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He78</p>
<p>　　Const&nbsp;&nbsp; adErrObjectOpen&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He79</p>
<p>　　Const&nbsp;&nbsp; adErrProviderNotFound&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7a</p>
<p>　　Const&nbsp;&nbsp; adErrBoundToCommand&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7b</p>
<p>　　Const&nbsp;&nbsp; adErrInvalidParamInfo&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7c</p>
<p>　　Const&nbsp;&nbsp; adErrInvalidConnection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7d</p>
<p>　　Const&nbsp;&nbsp; adErrNotReentrant&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7e</p>
<p>　　Const&nbsp;&nbsp; adErrStillExecuting&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He7f</p>
<p>　　Const&nbsp;&nbsp; adErrOperationCancelled&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He80</p>
<p>　　Const&nbsp;&nbsp; adErrStillConnecting&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He81</p>
<p>　　Const&nbsp;&nbsp; adErrInvalidTransaction&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He82</p>
<p>　　Const&nbsp;&nbsp; adErrUnsafeOperation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He84</p>
<p>　　Const&nbsp;&nbsp; adwrnSecurityDialog&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He85</p>
<p>　　Const&nbsp;&nbsp; adwrnSecurityDialogHeader&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He86</p>
<p>　　Const&nbsp;&nbsp; adErrIntegrityViolation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He87</p>
<p>　　Const&nbsp;&nbsp; adErrPermissionDenied&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He88</p>
<p>　　Const&nbsp;&nbsp; adErrDataOverflow&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He89</p>
<p>　　Const&nbsp;&nbsp; adErrSchemaViolation&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8a</p>
<p>　　Const&nbsp;&nbsp; adErrSignMismatch&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8b</p>
<p>　　Const&nbsp;&nbsp; adErrCantConvertvalue&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8c</p>
<p>　　Const&nbsp;&nbsp; adErrCantCreate&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8d</p>
<p>　　Const&nbsp;&nbsp; adErrColumnNotOnThisRow&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8e</p>
<p>　　Const&nbsp;&nbsp; adErrURLIntegrViolSetColumns&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8f</p>
<p>　　Const&nbsp;&nbsp; adErrURLDoesNotExist&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He8f</p>
<p>　　Const&nbsp;&nbsp; adErrTreePermissionDenied&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He90</p>
<p>　　Const&nbsp;&nbsp; adErrInvalidURL&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He91</p>
<p>　　Const&nbsp;&nbsp; adErrResourceLocked&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He92</p>
<p>　　Const&nbsp;&nbsp; adErrResourceExists&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He93</p>
<p>　　Const&nbsp;&nbsp; adErrCannotComplete&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He94</p>
<p>　　Const&nbsp;&nbsp; adErrVolumeNotFound&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He95</p>
<p>　　Const&nbsp;&nbsp; adErrOutOfSpace&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He96</p>
<p>　　Const&nbsp;&nbsp; adErrResourceOutOfScope&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He97</p>
<p>　　Const&nbsp;&nbsp; adErrUnavailable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He98</p>
<p>　　Const&nbsp;&nbsp; adErrURLNamedRowDoesNotExist&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He99</p>
<p>　　Const&nbsp;&nbsp; adErrDelResOutOfScope&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9a</p>
<p>　　Const&nbsp;&nbsp; adErrPropInvalidColumn&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9b</p>
<p>　　Const&nbsp;&nbsp; adErrPropInvalidOption&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9c</p>
<p>　　Const&nbsp;&nbsp; adErrPropInvalidValue&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9d</p>
<p>　　Const&nbsp;&nbsp; adErrPropConflicting&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9e</p>
<p>　　Const&nbsp;&nbsp; adErrPropNotAllSettable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;He9f</p>
<p>　　Const&nbsp;&nbsp; adErrPropNotSet&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea0</p>
<p>　　Const&nbsp;&nbsp; adErrPropNotSettable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea1</p>
<p>　　Const&nbsp;&nbsp; adErrPropNotSupported&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea2</p>
<p>　　Const&nbsp;&nbsp; adErrCatalogNotSet&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea3</p>
<p>　　Const&nbsp;&nbsp; adErrCantChangeConnection&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea4</p>
<p>　　Const&nbsp;&nbsp; adErrFieldsUpdateFailed&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea5</p>
<p>　　Const&nbsp;&nbsp; adErrDenyNotSupported&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea6</p>
<p>　　Const&nbsp;&nbsp; adErrDenyTypeNotSupported&nbsp;&nbsp; =&nbsp;&nbsp; &amp;Hea7</p>
<p>　　'----&nbsp;&nbsp; ParameterAttributesEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adParamSigned&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0010</p>
<p>　　Const&nbsp;&nbsp; adParamNullable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0040</p>
<p>　　Const&nbsp;&nbsp; adParamLong&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0080</p>
<p>　　'----&nbsp;&nbsp; ParameterDirectionEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adParamUnknown&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000</p>
<p>　　Const&nbsp;&nbsp; adParamInput&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0001</p>
<p>　　Const&nbsp;&nbsp; adParamOutput&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0002</p>
<p>　　Const&nbsp;&nbsp; adParamInputOutput&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0003</p>
<p>　　Const&nbsp;&nbsp; adParamReturnValue&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0004</p>
<p>　　'----&nbsp;&nbsp; CommandTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adCmdUnknown&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0008</p>
<p>　　Const&nbsp;&nbsp; adCmdText&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0001</p>
<p>　　Const&nbsp;&nbsp; adCmdTable&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0002</p>
<p>　　Const&nbsp;&nbsp; adCmdStoredProc&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0004</p>
<p>　　Const&nbsp;&nbsp; adCmdFile&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0100</p>
<p>　　Const&nbsp;&nbsp; adCmdTableDirect&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0200</p>
<p>　　'----&nbsp;&nbsp; EventStatusEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adStatusOK&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000001</p>
<p>　　Const&nbsp;&nbsp; adStatusErrorsOccurred&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000002</p>
<p>　　Const&nbsp;&nbsp; adStatusCantDeny&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000003</p>
<p>　　Const&nbsp;&nbsp; adStatusCancel&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000004</p>
<p>　　Const&nbsp;&nbsp; adStatusUnwantedEvent&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H0000005</p>
<p>　　'----&nbsp;&nbsp; EventReasonEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adRsnAddNew&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adRsnDelete&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adRsnUpdate&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adRsnUndoUpdate&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adRsnUndoAddNew&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　Const&nbsp;&nbsp; adRsnUndoDelete&nbsp;&nbsp; =&nbsp;&nbsp; 6</p>
<p>　　Const&nbsp;&nbsp; adRsnRequery&nbsp;&nbsp; =&nbsp;&nbsp; 7</p>
<p>　　Const&nbsp;&nbsp; adRsnResynch&nbsp;&nbsp; =&nbsp;&nbsp; 8</p>
<p>　　Const&nbsp;&nbsp; adRsnClose&nbsp;&nbsp; =&nbsp;&nbsp; 9</p>
<p>　　Const&nbsp;&nbsp; adRsnMove&nbsp;&nbsp; =&nbsp;&nbsp; 10</p>
<p>　　Const&nbsp;&nbsp; adRsnFirstChange&nbsp;&nbsp; =&nbsp;&nbsp; 11</p>
<p>　　Const&nbsp;&nbsp; adRsnMoveFirst&nbsp;&nbsp; =&nbsp;&nbsp; 12</p>
<p>　　Const&nbsp;&nbsp; adRsnMoveNext&nbsp;&nbsp; =&nbsp;&nbsp; 13</p>
<p>　　Const&nbsp;&nbsp; adRsnMovePrevious&nbsp;&nbsp; =&nbsp;&nbsp; 14</p>
<p>　　Const&nbsp;&nbsp; adRsnMoveLast&nbsp;&nbsp; =&nbsp;&nbsp; 15</p>
<p>　　Const&nbsp;&nbsp; adSchemaProviderSpecific&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adSchemaAsserts&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adSchemaCatalogs&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adSchemaCharacterSets&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adSchemaCollations&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adSchemaColumns&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adSchemaCheckConstraints&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　Const&nbsp;&nbsp; adSchemaConstraintColumnUsage&nbsp;&nbsp; =&nbsp;&nbsp; 6</p>
<p>　　Const&nbsp;&nbsp; adSchemaConstraintTableUsage&nbsp;&nbsp; =&nbsp;&nbsp; 7</p>
<p>　　Const&nbsp;&nbsp; adSchemaKeyColumnUsage&nbsp;&nbsp; =&nbsp;&nbsp; 8</p>
<p>　　Const&nbsp;&nbsp; adSchemaReferentialConstraints&nbsp;&nbsp; =&nbsp;&nbsp; 9</p>
<p>　　Const&nbsp;&nbsp; adSchemaTableConstraints&nbsp;&nbsp; =&nbsp;&nbsp; 10</p>
<p>　　Const&nbsp;&nbsp; adSchemaColumnsDomainUsage&nbsp;&nbsp; =&nbsp;&nbsp; 11</p>
<p>　　Const&nbsp;&nbsp; adSchemaIndexes&nbsp;&nbsp; =&nbsp;&nbsp; 12</p>
<p>　　Const&nbsp;&nbsp; adSchemaColumnPrivileges&nbsp;&nbsp; =&nbsp;&nbsp; 13</p>
<p>　　Const&nbsp;&nbsp; adSchemaTablePrivileges&nbsp;&nbsp; =&nbsp;&nbsp; 14</p>
<p>　　Const&nbsp;&nbsp; adSchemaUsagePrivileges&nbsp;&nbsp; =&nbsp;&nbsp; 15</p>
<p>　　Const&nbsp;&nbsp; adSchemaProcedures&nbsp;&nbsp; =&nbsp;&nbsp; 16</p>
<p>　　Const&nbsp;&nbsp; adSchemaSchemata&nbsp;&nbsp; =&nbsp;&nbsp; 17</p>
<p>　　Const&nbsp;&nbsp; adSchemaSQLLanguages&nbsp;&nbsp; =&nbsp;&nbsp; 18</p>
<p>　　Const&nbsp;&nbsp; adSchemaStatistics&nbsp;&nbsp; =&nbsp;&nbsp; 19</p>
<p>　　Const&nbsp;&nbsp; adSchemaTables&nbsp;&nbsp; =&nbsp;&nbsp; 20</p>
<p>　　Const&nbsp;&nbsp; adSchemaTranslations&nbsp;&nbsp; =&nbsp;&nbsp; 21</p>
<p>　　Const&nbsp;&nbsp; adSchemaProviderTypes&nbsp;&nbsp; =&nbsp;&nbsp; 22</p>
<p>　　Const&nbsp;&nbsp; adSchemaViews&nbsp;&nbsp; =&nbsp;&nbsp; 23</p>
<p>　　Const&nbsp;&nbsp; adSchemaViewColumnUsage&nbsp;&nbsp; =&nbsp;&nbsp; 24</p>
<p>　　Const&nbsp;&nbsp; adSchemaViewTableUsage&nbsp;&nbsp; =&nbsp;&nbsp; 25</p>
<p>　　Const&nbsp;&nbsp; adSchemaProcedureParameters&nbsp;&nbsp; =&nbsp;&nbsp; 26</p>
<p>　　Const&nbsp;&nbsp; adSchemaForeignKeys&nbsp;&nbsp; =&nbsp;&nbsp; 27</p>
<p>　　Const&nbsp;&nbsp; adSchemaPrimaryKeys&nbsp;&nbsp; =&nbsp;&nbsp; 28</p>
<p>　　Const&nbsp;&nbsp; adSchemaProcedureColumns&nbsp;&nbsp; =&nbsp;&nbsp; 29</p>
<p>　　Const&nbsp;&nbsp; adSchemaDBInfoKeywords&nbsp;&nbsp; =&nbsp;&nbsp; 30</p>
<p>　　Const&nbsp;&nbsp; adSchemaDBInfoLiterals&nbsp;&nbsp; =&nbsp;&nbsp; 31</p>
<p>　　Const&nbsp;&nbsp; adSchemaCubes&nbsp;&nbsp; =&nbsp;&nbsp; 32</p>
<p>　　Const&nbsp;&nbsp; adSchemaDimensions&nbsp;&nbsp; =&nbsp;&nbsp; 33</p>
<p>　　Const&nbsp;&nbsp; adSchemaHierarchies&nbsp;&nbsp; =&nbsp;&nbsp; 34</p>
<p>　　Const&nbsp;&nbsp; adSchemaLevels&nbsp;&nbsp; =&nbsp;&nbsp; 35</p>
<p>　　Const&nbsp;&nbsp; adSchemaMeasures&nbsp;&nbsp; =&nbsp;&nbsp; 36</p>
<p>　　Const&nbsp;&nbsp; adSchemaProperties&nbsp;&nbsp; =&nbsp;&nbsp; 37</p>
<p>　　Const&nbsp;&nbsp; adSchemaMembers&nbsp;&nbsp; =&nbsp;&nbsp; 38</p>
<p>　　Const&nbsp;&nbsp; adSchemaTrustees&nbsp;&nbsp; =&nbsp;&nbsp; 39</p>
<p>　　Const&nbsp;&nbsp; adSchemaFunctions&nbsp;&nbsp; =&nbsp;&nbsp; 40</p>
<p>　　Const&nbsp;&nbsp; adSchemaActions&nbsp;&nbsp; =&nbsp;&nbsp; 41</p>
<p>　　Const&nbsp;&nbsp; adSchemaCommands&nbsp;&nbsp; =&nbsp;&nbsp; 42</p>
<p>　　Const&nbsp;&nbsp; adSchemaSets&nbsp;&nbsp; =&nbsp;&nbsp; 43</p>
<p>　　'----&nbsp;&nbsp; FieldStatusEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adFieldOK&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adFieldCantConvertValue&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adFieldIsNull&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adFieldTruncated&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adFieldSignMismatch&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　Const&nbsp;&nbsp; adFieldDataOverflow&nbsp;&nbsp; =&nbsp;&nbsp; 6</p>
<p>　　Const&nbsp;&nbsp; adFieldCantCreate&nbsp;&nbsp; =&nbsp;&nbsp; 7</p>
<p>　　Const&nbsp;&nbsp; adFieldUnavailable&nbsp;&nbsp; =&nbsp;&nbsp; 8</p>
<p>　　Const&nbsp;&nbsp; adFieldPermissionDenied&nbsp;&nbsp; =&nbsp;&nbsp; 9</p>
<p>　　Const&nbsp;&nbsp; adFieldIntegrityViolation&nbsp;&nbsp; =&nbsp;&nbsp; 10</p>
<p>　　Const&nbsp;&nbsp; adFieldSchemaViolation&nbsp;&nbsp; =&nbsp;&nbsp; 11</p>
<p>　　Const&nbsp;&nbsp; adFieldBadStatus&nbsp;&nbsp; =&nbsp;&nbsp; 12</p>
<p>　　Const&nbsp;&nbsp; adFieldDefault&nbsp;&nbsp; =&nbsp;&nbsp; 13</p>
<p>　　Const&nbsp;&nbsp; adFieldIgnore&nbsp;&nbsp; =&nbsp;&nbsp; 15</p>
<p>　　Const&nbsp;&nbsp; adFieldDoesNotExist&nbsp;&nbsp; =&nbsp;&nbsp; 16</p>
<p>　　Const&nbsp;&nbsp; adFieldInvalidURL&nbsp;&nbsp; =&nbsp;&nbsp; 17</p>
<p>　　Const&nbsp;&nbsp; adFieldResourceLocked&nbsp;&nbsp; =&nbsp;&nbsp; 18</p>
<p>　　Const&nbsp;&nbsp; adFieldResourceExists&nbsp;&nbsp; =&nbsp;&nbsp; 19</p>
<p>　　Const&nbsp;&nbsp; adFieldCannotComplete&nbsp;&nbsp; =&nbsp;&nbsp; 20</p>
<p>　　Const&nbsp;&nbsp; adFieldVolumeNotFound&nbsp;&nbsp; =&nbsp;&nbsp; 21</p>
<p>　　Const&nbsp;&nbsp; adFieldOutOfSpace&nbsp;&nbsp; =&nbsp;&nbsp; 22</p>
<p>　　Const&nbsp;&nbsp; adFieldCannotDeleteSource&nbsp;&nbsp; =&nbsp;&nbsp; 23</p>
<p>　　Const&nbsp;&nbsp; adFieldReadOnly&nbsp;&nbsp; =&nbsp;&nbsp; 24</p>
<p>　　Const&nbsp;&nbsp; adFieldResourceOutOfScope&nbsp;&nbsp; =&nbsp;&nbsp; 25</p>
<p>　　Const&nbsp;&nbsp; adFieldAlreadyExists&nbsp;&nbsp; =&nbsp;&nbsp; 26</p>
<p>　　Const&nbsp;&nbsp; adFieldPendingInsert&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H10000</p>
<p>　　Const&nbsp;&nbsp; adFieldPendingDelete&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H20000</p>
<p>　　Const&nbsp;&nbsp; adFieldPendingChange&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H40000</p>
<p>　　Const&nbsp;&nbsp; adFieldPendingUnknown&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H80000</p>
<p>　　Const&nbsp;&nbsp; adFieldPendingUnknownDelete&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H100000</p>
<p>　　'----&nbsp;&nbsp; SeekEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adSeekFirstEQ&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H1</p>
<p>　　Const&nbsp;&nbsp; adSeekLastEQ&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H2</p>
<p>　　Const&nbsp;&nbsp; adSeekAfterEQ&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H4</p>
<p>　　Const&nbsp;&nbsp; adSeekAfter&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H8</p>
<p>　　Const&nbsp;&nbsp; adSeekBeforeEQ&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H10</p>
<p>　　Const&nbsp;&nbsp; adSeekBefore&nbsp;&nbsp; =&nbsp;&nbsp; &amp;H20</p>
<p>　　'----&nbsp;&nbsp; ADCPROP_UPDATECRITERIA_ENUM&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adCriteriaKey&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adCriteriaAllCols&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adCriteriaUpdCols&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adCriteriaTimeStamp&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　'----&nbsp;&nbsp; ADCPROP_ASYNCTHREADPRIORITY_ENUM&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adPriorityLowest&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adPriorityBelowNormal&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adPriorityNormal&nbsp;&nbsp; =&nbsp;&nbsp; 3</p>
<p>　　Const&nbsp;&nbsp; adPriorityAboveNormal&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adPriorityHighest&nbsp;&nbsp; =&nbsp;&nbsp; 5</p>
<p>　　'----&nbsp;&nbsp; ADCPROP_AUTORECALC_ENUM&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adRecalcUpFront&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adRecalcAlways&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　'----&nbsp;&nbsp; ADCPROP_UPDATERESYNC_ENUM&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　'----&nbsp;&nbsp; MoveRecordOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adMoveUnspecified&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adMoveOverWrite&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adMoveDontUpdateLinks&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　Const&nbsp;&nbsp; adMoveAllowEmulation&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; CopyRecordOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adCopyUnspecified&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adCopyOverWrite&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adCopyAllowEmulation&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　Const&nbsp;&nbsp; adCopyNonRecursive&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; StreamTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adTypeBinary&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adTypeText&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; LineSeparatorEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adLF&nbsp;&nbsp; =&nbsp;&nbsp; 10</p>
<p>　　Const&nbsp;&nbsp; adCR&nbsp;&nbsp; =&nbsp;&nbsp; 13</p>
<p>　　Const&nbsp;&nbsp; adCRLF&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　'----&nbsp;&nbsp; StreamOpenOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adOpenStreamUnspecified&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adOpenStreamAsync&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adOpenStreamFromRecord&nbsp;&nbsp; =&nbsp;&nbsp; 4</p>
<p>　　'----&nbsp;&nbsp; StreamWriteEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adWriteChar&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adWriteLine&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　'----&nbsp;&nbsp; SaveOptionsEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adSaveCreateNotExist&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adSaveCreateOverWrite&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<p>　　'----&nbsp;&nbsp; FieldEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adDefaultStream&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adRecordURL&nbsp;&nbsp; =&nbsp;&nbsp; -2</p>
<p>　　'----&nbsp;&nbsp; StreamReadEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adReadAll&nbsp;&nbsp; =&nbsp;&nbsp; -1</p>
<p>　　Const&nbsp;&nbsp; adReadLine&nbsp;&nbsp; =&nbsp;&nbsp; -2</p>
<p>　　'----&nbsp;&nbsp; RecordTypeEnum&nbsp;&nbsp; Values&nbsp;&nbsp; ----</p>
<p>　　Const&nbsp;&nbsp; adSimpleRecord&nbsp;&nbsp; =&nbsp;&nbsp; 0</p>
<p>　　Const&nbsp;&nbsp; adCollectionRecord&nbsp;&nbsp; =&nbsp;&nbsp; 1</p>
<p>　　Const&nbsp;&nbsp; adStructDoc&nbsp;&nbsp; =&nbsp;&nbsp; 2</p>
<br />
<font color="#2e496d">本文永久地址: </font><a href="http://www.livebaby.cn/blog/u/meil/archives/2008/asp-ado-enumerate-constant.html">http://www.livebaby.cn/blog/u/meil/archives/2008/asp-ado-enumerate-constant.html</a><br />
  <img src ="http://www.cnblogs.com/meil/aggbug/1057125.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47968/" target="_blank">IE市场份额首次跌破60%</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>开发笔记：FTP命令使用详解</title><link>http://www.cnblogs.com/meil/archive/2008/01/04/1026248.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 04 Jan 2008 09:39:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2008/01/04/1026248.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/1026248.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2008/01/04/1026248.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/1026248.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/1026248.html</trackback:ping><description><![CDATA[<p><font face="Courier New">　　FTP命令是Internet用户使用最频繁的命令之一，不论是在DOS还是UNIX操作系统下使用FTP，都会遇到大量的FTP内部命令。熟悉并灵活应用FTP的内部命令，可以大大方便使用者，并收到事半功倍之效。</font></p>
<p><font face="Courier New">　　<strong>FTP的命令行格式为：ftp -v -d -i -n -g [主机名]，其中</strong></font></p>
<p><font face="Courier New">　　-v：显示远程服务器的所有响应信息；</font></p>
<p><font face="Courier New">　　-n：限制ftp的自动登录，即不使用；</font></p>
<p><font face="Courier New">　　.n： etrc文件；</font></p>
<p><font face="Courier New">　　-d：使用调试方式；</font></p>
<p><font face="Courier New">　　-g：取消全局文件名。</font></p>
<p><font face="Courier New">　　<strong>FTP内部命令格式(中括号表示可选项):</strong></font></p>
<p><font face="Courier New">　　1.![cmd[args]]：在本地机中执行交互shell，exit回到ftp环境，如：!ls*.zip.</font></p>
<p><font face="Courier New">　　2.$ macro-ame[args]：执行宏定义macro-name.</font></p>
<p><font face="Courier New">　　3.account[password]：提供登录远程系统成功后访问系统资源所需的补充口令。</font></p>
<p><font face="Courier New">　　4.append local-file[remote-file]：将本地文件追加到远程系统主机，若未指定远程系统文件名，则使用本地文件名。</font></p>
<p><font face="Courier New">　　5.ascii：使用ascii类型传输方式。</font></p>
<p><font face="Courier New">　　6.bell：每个命令执行完毕后计算机响铃一次。</font></p>
<p><font face="Courier New">　　7.bin：使用二进制文件传输方式。</font></p>
<p><font face="Courier New">　　8.bye：退出ftp会话过程。</font></p>
<p><font face="Courier New">　　9.case：在使用mget时，将远程主机文件名中的大写转为小写字母。</font></p>
<p><font face="Courier New">　　10.cd remote-dir：进入远程主机目录。</font></p>
<p><font face="Courier New">　　11.cdup：进入远程主机目录的父目录。</font></p>
<p><font face="Courier New">　　12.chmod mode file-name：将远程主机文件file-name的存取方式设置为mode，如：chmod 777 a.out。</font></p>
<p><font face="Courier New">　　13.close：中断与远程服务器的ftp会话(与open对应)。</font></p>
<p><font face="Courier New">　　14.cr：使用asscii方式传输文件时，将回车换行转换为回行。</font></p>
<p><font face="Courier New">　　15.delete remote-file：删除远程主机文件。</font></p>
<p><font face="Courier New">　　16.debug[debug-value]：设置调试方式，显示发送至远程主机的每条命令，如：deb up 3，若设为0，表示取消debug。</font></p>
<p><font face="Courier New">　　17.dir[remote-dir][local-file]：显示远程主机目录，并将结果存入本地文件local-file。</font></p>
<p><font face="Courier New">　　18.disconnection：同close。</font></p>
<p><font face="Courier New">　　19.form format：将文件传输方式设置为format，缺省为file方式。</font></p>
<p><font face="Courier New">　　20.get remote-file[local-file]：将远程主机的文件remote-file传至本地硬盘的local-file。</font></p>
<p><font face="Courier New">　　21.glob：设置mdelete，mget，mput的文件名扩展，缺省时不扩展文件名，同命令行的-g参数。</font></p>
<p><font face="Courier New">　　22.hash：每传输1024字节，显示一个hash符号(#)。</font></p>
<p><font face="Courier New">　　23.help[cmd]：显示ftp内部命令cmd的帮助信息，如：help get。</font></p>
<p><font face="Courier New">　　24.idle[seconds]：将远程服务器的休眠计时器设为[seconds]秒。</font></p>
<p><font face="Courier New">　　25.image：设置二进制传输方式(同binary)。</font></p>
<p><font face="Courier New">　　26.lcd[dir]：将本地工作目录切换至dir。</font></p>
<p><font face="Courier New">　　27.ls[remote-dir][local-file]：显示远程目录remote-dir，并存入本地文件local-file。</font></p>
<p><font face="Courier New">　　28.macdef macro-name：定义一个宏，遇到macdef下的空行时，宏定义结束。</font></p>
<p><font face="Courier New">　　29.mdelete[remote-file]：删除远程主机文件。</font></p>
<p><font face="Courier New">　　30.mdir remote-files local-file：与dir类似，但可指定多个远程文件，如：mdir *.o.*.zipoutfile</font></p>
<p><font face="Courier New">　　31.mget remote-files：传输多个远程文件。</font></p>
<p><font face="Courier New">　　32.mkdir dir-name：在远程主机中建一目录。</font></p>
<p><font face="Courier New">　　33.mls remote-file local-file：同nlist，但可指定多个文件名。</font></p>
<p><font face="Courier New">　　34.mode[modename]：将文件传输方式设置为modename，缺省为stream方式。</font></p>
<p><font face="Courier New">　　35.modtime file-name：显示远程主机文件的最后修改时间。</font></p>
<p><font face="Courier New">　　36.mput local-file：将多个文件传输至远程主机。</font></p>
<p><font face="Courier New">　　37.newer file-name：如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近，则重传该文件。</font></p>
<p><font face="Courier New">　　38.nlist[remote-dir][local-file]：显示远程主机目录的文件清单，并存入本地硬盘的local-file。</font></p>
<p><font face="Courier New">　　39.nmap[inpattern outpattern]：设置文件名映射机制，使得文件传输时，文件中的某些字符相互转换，<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如：nmap $1.$2.$3[$1，$2].[$2，$3]，则传输文件a1.a2.a3时，文件名变为a1，a2。该命令特别适用于远程主机为非UNIX机的情况。</font></p>
<p><font face="Courier New">　　40.ntrans[inchars[outchars]]：设置文件名字符的翻译机制，如ntrans 1R，则文件名LLL将变为RRR。</font></p>
<p><font face="Courier New">　　41.open host[port]：建立指定ftp服务器连接，可指定连接端口。</font></p>
<p><font face="Courier New">　　42.passive：进入被动传输方式。</font></p>
<p><font face="Courier New">　　43.prompt：设置多个文件传输时的交互提示。</font></p>
<p><font face="Courier New">　　44.proxy ftp-cmd：在次要控制连接中，执行一条ftp命令，该命令允许连接两个ftp服务器，以在两个服务器间传输文件。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 第一条ftp命令必须为open，以首先建立两个服务器间的连接。</font></p>
<p><font face="Courier New">　　45.put local-file[remote-file]：将本地文件local-file传送至远程主机。</font></p>
<p><font face="Courier New">　　46.pwd：显示远程主机的当前工作目录。</font></p>
<p><font face="Courier New">　　47.quit：同bye，退出ftp会话。</font></p>
<p><font face="Courier New">　　48.quote arg1，arg2...：将参数逐字发至远程ftp服务器，如：quote syst.</font></p>
<p><font face="Courier New">　　49.recv remote-file[local-file]：同get。</font></p>
<p><font face="Courier New">　　50.reget remote-file[local-file]：类似于get，但若local-file存在，则从上次传输中断处续传。</font></p>
<p><font face="Courier New">　　51.rhelp[cmd-name]：请求获得远程主机的帮助。</font></p>
<p><font face="Courier New">　　52.rstatus[file-name]：若未指定文件名，则显示远程主机的状态，否则显示文件状态。</font></p>
<p><font face="Courier New">　　53.rename[from][to]：更改远程主机文件名。</font></p>
<p><font face="Courier New">　　54.reset：清除回答队列。</font></p>
<p><font face="Courier New">　　55.restart marker：从指定的标志marker处，重新开始get或put，如：restart 130。</font></p>
<p><font face="Courier New">　　56.rmdir dir-name：删除远程主机目录。</font></p>
<p><font face="Courier New">　　57.runique：设置文件名唯一性存储，若文件存在，则在原文件后加后缀..1，.2等。</font></p>
<p><font face="Courier New">　　58.send local-file[remote-file]：同put。</font></p>
<p><font face="Courier New">　　59.sendport：设置PORT命令的使用。</font></p>
<p><font face="Courier New">　　60.site arg1，arg2...：将参数作为SITE命令逐字发送至远程ftp主机。</font></p>
<p><font face="Courier New">　　61.size file-name：显示远程主机文件大小，如：site idle 7200。</font></p>
<p><font face="Courier New">　　62.status：显示当前ftp状态。</font></p>
<p><font face="Courier New">　　63.struct[struct-name]：将文件传输结构设置为struct-name，缺省时使用stream结构。</font></p>
<p><font face="Courier New">　　64.sunique：将远程主机文件名存储设置为唯一(与runique对应)。</font></p>
<p><font face="Courier New">　　65.system：显示远程主机的操作系统类型。</font></p>
<p><font face="Courier New">　　66.tenex：将文件传输类型设置为TENEX机的所需的类型。</font></p>
<p><font face="Courier New">　　67.tick：设置传输时的字节计数器。</font></p>
<p><font face="Courier New">　　68.trace：设置包跟踪。</font></p>
<p><font face="Courier New">　　69.type[type-name]：设置文件传输类型为type-name，缺省为ascii，如：type binary，设置二进制传输方式。</font></p>
<p><font face="Courier New">　　70.umask[newmask]：将远程服务器的缺省umask设置为newmask，如：umask 3。</font></p>
<p><font face="Courier New">　　71.user user-name[password][account]：向远程主机表明自己的身份，需要口令时，必须输入口令，如：user anonymous my@email。</font></p>
<p><font face="Courier New">　　72.verbose：同命令行的-v参数，即设置详尽报告方式，ftp服务器的所有响应都将显示给用户，缺省为on.</font></p>
<p><font face="Courier New">　　73.?[cmd]：同help。</font></p>
<img src ="http://www.cnblogs.com/meil/aggbug/1026248.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Html中Label标记的作用和使用介绍</title><link>http://www.cnblogs.com/meil/archive/2008/01/04/1025922.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 04 Jan 2008 08:47:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2008/01/04/1025922.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/1025922.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2008/01/04/1025922.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/1025922.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/1025922.html</trackback:ping><description><![CDATA[<p><font face="Courier New"><strong><a href="http://www.livebaby.cn/study/Developer/HTML_CSS/2008/1/Html_Lable_415382424.html"><font face="Courier New"><strong>Label</strong></font></a></strong>标识有两个属性，一个是<strong style="color: red">FOR</strong>，一个是<span style="color: red"><strong>ACCESSKEY</strong></span>。</font></p>
<p><font face="Courier New"><strong style="color: red"><a href="http://www.livebaby.cn/study/Developer/HTML_CSS/2008/1/Html_Lable_415382424.html"><font face="Courier New"><strong style="color: red">FOR</strong></font></a></strong>的意思是，这个Lable是为哪个控件服务的；<br />
<span style="color: red"><strong><a href="http://www.livebaby.cn/study/Developer/HTML_CSS/2008/1/Html_Lable_415382424.html"><span style="color: red"><strong>ACCESSKEY</strong></span></a></strong></span>则定义了访问这个控件的热键。<br />
比如，有一个名字叫Name的文本框，&lt;INPUT TYPE="TEXT" ID="Name" SIZE=30&gt;，<br />
那么，&lt;label&gt;就可以定义成：&lt;LABEL FOR="Name" ACCESSKEY="N"&gt;姓　　名（&lt;U&gt;N&lt;/U&gt;）：&lt;/LABEL&gt;。<br />
可以看见，这个&lt;Label&gt;是为那个ID为&#8220;Name&#8221;控件服务的，而ACESSKEY则定义了，这访问这个控件的热键为&#8220;Alt+N&#8221;。<br />
</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">LABEL&nbsp;</span><span style="color: #ff0000">FOR</span><span style="color: #0000ff">="txtName"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="N"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">姓　　名（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">N</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">LABEL</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">INPUT&nbsp;</span><span style="color: #ff0000">TYPE</span><span style="color: #0000ff">="TEXT"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="txtName"</span><span style="color: #ff0000">&nbsp;SIZE</span><span style="color: #0000ff">=30</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">Meil</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">LABEL&nbsp;</span><span style="color: #ff0000">FOR</span><span style="color: #0000ff">="txtUrl"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="U"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">个人主页（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">U</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">LABEL</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">INPUT&nbsp;</span><span style="color: #ff0000">TYPE</span><span style="color: #0000ff">="TEXT"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="txtUrl"</span><span style="color: #ff0000">&nbsp;SIZE</span><span style="color: #0000ff">=30</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">http://www.livebaby.cn</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">&nbsp;7</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">LABEL&nbsp;</span><span style="color: #ff0000">FOR</span><span style="color: #0000ff">="txtPhonebox"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="P"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">联系电话（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">P</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">LABEL</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">INPUT&nbsp;</span><span style="color: #ff0000">TYPE</span><span style="color: #0000ff">="TEXT"</span><span style="color: #ff0000">&nbsp;ID</span><span style="color: #0000ff">="txtPhonebox"</span><span style="color: #ff0000">&nbsp;SIZE</span><span style="color: #0000ff">=30</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">br</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;9</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><br />
</span><span style="color: #008080">10</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">LABEL&nbsp;</span><span style="color: #ff0000">FOR</span><span style="color: #0000ff">="areabox"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="S"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">留　　言（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">S</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）：</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">LABEL</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">11</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">TEXTAREA&nbsp;</span><span style="color: #ff0000">ID</span><span style="color: #0000ff">="areabox"</span><span style="color: #ff0000">&nbsp;COLS</span><span style="color: #0000ff">="30"</span><span style="color: #ff0000">&nbsp;ROWS</span><span style="color: #0000ff">="3"</span><span style="color: #0000ff">&gt;&lt;/</span><span style="color: #800000">TEXTAREA</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span></div>
<br />
<br />
<p><font face="Courier New">　　单选钮、复选框都要点击控件才能选中控件，而如果使用&lt;label&gt;标识就可以实现点击文字选取。</font></p>
<p><font face="Courier New">点击文字可以选取的多项选择框：<br />
</font></p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="CHECKBOX"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="chk1"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="often"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="chkoften"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="chk1"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">经常来这里</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="CHECKBOX"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="chk2"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="seldom"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="chkseldom"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="chk2"</span><span style="color: #ff0000">&nbsp;</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">偶尔来看看</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;</span></div>
<br />
<font face="Courier New">带热键的多项选择框：</font><br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="CHECKBOX"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="chk3"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="often"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="chkoften"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="chk3"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="H"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">经常来这里（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">H</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">3</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">input&nbsp;</span><span style="color: #ff0000">type</span><span style="color: #0000ff">="CHECKBOX"</span><span style="color: #ff0000">&nbsp;id</span><span style="color: #0000ff">="chk4"</span><span style="color: #ff0000">&nbsp;value</span><span style="color: #0000ff">="seldom"</span><span style="color: #ff0000">&nbsp;name</span><span style="color: #0000ff">="chkseldom"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">4</span><span style="color: #000000"><img alt="" src="http://www.cnblogs.com/images/OutliningIndicators/None.gif" align="top" /></span><span style="color: #0000ff">&lt;</span><span style="color: #800000">label&nbsp;</span><span style="color: #ff0000">for</span><span style="color: #0000ff">="chk4"</span><span style="color: #ff0000">&nbsp;ACCESSKEY</span><span style="color: #0000ff">="L"</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">偶尔来看看（</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">L</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">U</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">）</span><span style="color: #0000ff">&lt;/</span><span style="color: #800000">label</span><span style="color: #0000ff">&gt;</span></div>
</font><br />
原文： <font face="Courier New">http://www.livebaby.cn/study/Developer/HTML_CSS/2008/1/Html_Lable_415382424.html<br />
</font>
 <img src ="http://www.cnblogs.com/meil/aggbug/1025922.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47965/" target="_blank">Google App Engine宕机6小时——云的安全在哪里？</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>我丫是程序员！"</title><link>http://www.cnblogs.com/meil/archive/2007/11/28/976119.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Wed, 28 Nov 2007 13:05:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/11/28/976119.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/976119.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/11/28/976119.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/976119.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/976119.html</trackback:ping><description><![CDATA[<p><font face="Courier New">　　MM说："我爱你."</font></p>
<p><font face="Courier New">　　我脸红了.我不想害她："我没钱，更没有房子和车."</font></p>
<p><font face="Courier New">　　MM盯着我的眼睛："我知道."</font></p>
<p><font face="Courier New">　　"我的月薪只有一千五."</font></p>
<p><font face="Courier New">　　MM的目光仍然坚定无比："以后会多的."</font></p>
<p><font face="Courier New">　　我用颤抖的双手拿出一支烟叼在嘴上："我每天要抽一包烟，一喝酒就闹事."</font></p>
<p><font face="Courier New">　　MM笑了，"以后有我在，你放心."</font></p>
<p><font face="Courier New">　　我的脊梁上冒起一阵寒意，结结巴巴地说："其实&#8230;&#8230;其实我很流氓&#8230;&#8230;幼儿园就喜欢去女厕所，小学就没了初吻，中学就&#8230;&#8230;"</font></p>
<p><font face="Courier New">　　MM没等我说完就软在了我的怀里，声音细若蚊鸣："早知道你好色，你老偷偷瞄我胸脯&#8230;&#8230;"</font></p>
<p><font face="Courier New">　　一股鼻血喷涌而出，我抱紧了MM，温热娇小的身体让我热血沸腾.这时我忽然想到了一件很重要的事情，我决定把这事告诉MM.</font></p>
<p><font face="Courier New">　　5秒钟后，MM抬头问我："真的？"我悲愤地点点头.</font></p>
<p><font face="Courier New">　　MM沉默片刻，挣开我的怀抱，抬手给了我一个耳光，她愤怒地朝我喊道："你丫竟然是程序员！"</font></p>
<img src ="http://www.cnblogs.com/meil/aggbug/976119.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47961/" target="_blank">微软新推社交网站Windows Live Planet</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Windows XP SP3 能显著提升SP2性能!</title><link>http://www.cnblogs.com/meil/archive/2007/11/24/970735.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Sat, 24 Nov 2007 02:12:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/11/24/970735.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/970735.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/11/24/970735.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/970735.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/970735.html</trackback:ping><description><![CDATA[<div class="postEntry">
<h3 class="title"><a href="http://meils.yculblog.com/post.1820510.html" rel="follow">Windows XP SP3 能显著提升SP2性能!</a></h3>
<h4 class="signature"><font size="3">　　在指出Windows Vista SP1不能提升Windows Vista的性能之后,Windows XP Service Pack 3 (v.3244) 的测试人员得出了一个可喜的测试结果,在OfficeBench测试环境下,桌面计算机部署XP SP3能显著提升XP SP2的系统性能,内含图像和测试报告.<br />
查看：</font><a href="http://exo-blog.blogspot.com/2007/11/windows-xp-sp3-yields-performance-gains.html" target="_blank"><font size="3">Windows XP SP3 (v.3244) Review</font></a><br />
</h4>
<div class="content">
<div><font size="3"></font></div>
<div><font size="3"></font></div>
<div><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><strong><font size="3">通过Windows Update更新到最新版Windows XP SP3<br />
</font></strong></div>
<p><font size="3">　　和上次更新Windows Vista SP1的方法一样,我们可以通过Windows Update更新到最新版Windows XP SP3,同样修改注册表键值,方法很简单.</font></p>
<p><font size="3">　　不过安装SP3还请三思而后行,毕竟只是一个测试版本,但是刚刚我们提供的报告显示,SP3能提升不少性能,小白鼠们如果有兴趣的话就赶紧测试,看看他们说的对不对吧.</font></p>
<p><font size="3">　　具体方法如下:</font></p>
<div><font size="3">&nbsp;&nbsp;&nbsp; 1.下载这个文件,利用管理员身份执行,并确认该信息.(用文本编辑器打开,你可以看到注册表键值,其实这就是一个修改注册表的批处理文件.)<br />
<br />
&nbsp;&nbsp;&nbsp; <strong>下载:</strong></font><a href="http://dailyapps.net/wp-content/uploads/2007/11/windowsxpsp3hack.cmd" target="_blank"><font size="3">WindowsXPSP3Hack.cmd</font></a><br />
<br />
<font size="3">&nbsp;&nbsp;&nbsp; * 这个文件可以让微软认为你是一个白鼠.<br />
<br />
&nbsp;&nbsp;&nbsp; 2.检查Windows Update,你可以看见SP3的更新.<br />
&nbsp;&nbsp;&nbsp; 3.下载安装即可<br />
<br />
&nbsp;原文地址：<font face="Arial"><a href="http://www.livebaby.cn/hot/tech/tech/2007/11/249565530.html">http://www.livebaby.cn/hot/tech/tech/2007/11/249565530.html</a></font></font></div>
<!-- <div class="more"><a href="/post.1820510.html">...</a></div>--></div>
</div>
<img src ="http://www.cnblogs.com/meil/aggbug/970735.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47960/" target="_blank">火狐3.5版被指推出太匆忙：存在50多个漏洞</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>最新消息:@live.com&amp;@live.cn邮箱正式开放注册了!</title><link>http://www.cnblogs.com/meil/archive/2007/11/07/951704.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Wed, 07 Nov 2007 00:51:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/11/07/951704.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/951704.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/11/07/951704.html#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/951704.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/951704.html</trackback:ping><description><![CDATA[喜讯:MSN,live.cn邮箱可以注册了!<br />
今天发现不用刷漏洞直接可以注册live.cn或hotmail.com邮箱,开心,注册成功!:-)<br />
试着改IE7的语言为en-US发现不能注册live.com，选项是live.ca和hotmail.com.想要Live邮箱的兄弟们快注册啊！<br />
<br />
<p><strong>注册地址:</strong><a href="http://get.live.com/getlive/overview" target="_blank">Sign up for Windows Live</a><br />
<br />
@live.com注册方法：<br />
将浏览器语言修改为en-us，然后到<a href="http://get.live.com/en-us/wl/signup">http://get.live.com/en-us/wl/signup</a>注册就可以。 </p>
<img src ="http://www.cnblogs.com/meil/aggbug/951704.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47959/" target="_blank">Google对手机搜索进行优化升级</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>adodb.stream文件操作类详解</title><link>http://www.cnblogs.com/meil/archive/2007/11/01/945898.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Thu, 01 Nov 2007 09:16:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/11/01/945898.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/945898.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/11/01/945898.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/945898.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/945898.html</trackback:ping><description><![CDATA[&lt;%<br />
''/*******************************二进制文件操作类************************************<br />
''/*作者：死在水中的鱼（死鱼）<br />
''/*日期：2004年9月7日<br />
''/*BLOG: http://blog.csdn.net/bpfish<br />
''/*<br />
''/*用法：<br />
''/*Dim obj,sData,iPos,iSize<br />
''/*Set obj=new FileClass<br />
''/*obj.OpenFile "文件绝对路径地址","打开方式" &nbsp; &nbsp; &nbsp; ''打开文件,打开方式的值和ADODB.Stream的Mode属性值相同<br />
''/*打开方式的相关几个值：1 = 只读 &nbsp;2 = 只写 &nbsp;3或空值 = 读写<br />
''/*obj.AppendTo "[追加文件]绝对路径地址" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''把当前打开的文件追加到[追加文件]的末尾<br />
''/*obj.Move 数值 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''把当前打开的文件指针相对移动[数值]个字节<br />
''/*obj.MoveTo 数值 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''把当前打开的文件指针绝对于文件头移动[数值]个字节<br />
''/*sData=obj.Read(数值)<br />
''/*''说明：obj.Read(数值）读取当前被打开的文件[数值]个字节 &nbsp;''/*注意：读取位置与文件指针有关,如果数值为0则从当前文件位置开始读取数据直到文件尾<br />
''/*sData=obj.ReadAll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''读取当前打开的文件所有数据<br />
''/*iPos=obj.Position &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''返回当前文件的文件指针位置(Position属性是只读,不能写）<br />
''/*iSize=obj.Size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''返回当前文件的大小，即字节总数<br />
''/*If obj.Eof Then Response.Write "文件尾" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
''/*注意：obj.Eof是判断文件指针是否移动到了文件的末尾,当obj.Eof=True时<br />
''/* &nbsp; &nbsp; obj.Position=obj.Size。但obj.Position=obj.Size则不一定obj.Eof=True<br />
''/*obj.SaveAs "另存为文件名","保存模式" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''将当前打开的文件另存为新文件，保存模式的值是1或2 1=非覆盖 2=覆盖<br />
''/*obj.CloseFile &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''关闭当前打开的文件<br />
''/*obj.NewFile "新文件名",字节数据流 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''将[字节数据流]建立一个新文件，如果文件存在则将覆盖，如果非字节数据流则新建文件失败<br />
''/*obj.AppendFile "文件1","文件2",&#8220;生成文件"<br />
''/*''将[文件1]和[文件2]合并为一个新的[生成文件]，如果[生成文件]存在，则合并失败！如果将[生成文件]置为空，则将[文件2]合并进[文件1去。<br />
''/*Response.Write obj.GetText(字节数据流) &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''将[字节数据流]转换成字符串并返回<br />
''/*Set obj=Nothing<br />
''/*<br />
''/*说明：字节数据流是二进制的数据<br />
''/*以下方法可以不需要先OpenFile：NewFile和AppendFile和GetText方法，否则其它则必需要先使用OpenFile方法打开文件<br />
''/**********************************************************************************<br />
Class FileClass<br />
Private ObjStream &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''ADODB.Stream对象变量<br />
Private OpenFlag &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''是否已有打开的文件<br />
Private FileIsEof<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：初始化类<br />
''/**********************************************************************************<br />
Private Sub Class_Initialize<br />
&nbsp;OpenFlag=False<br />
&nbsp;FileIsEof=True<br />
End Sub<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：<br />
''/**********************************************************************************<br />
Private Sub Class_Terminate &nbsp;<br />
&nbsp;Call CloseFile<br />
&nbsp;Set ObjStream=Nothing<br />
End Sub<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：获取文件的大小(-1 = 没有打开的文件)<br />
''/**********************************************************************************<br />
Public Property Get Size<br />
&nbsp; &nbsp;If OpenFlag Then<br />
&nbsp; &nbsp; &nbsp; Size=ObjStream.Size<br />
&nbsp; &nbsp;Else<br />
&nbsp; &nbsp; &nbsp; Size=-1<br />
&nbsp; &nbsp;End If<br />
End Property<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：获取当前文件的文件指针位置(-1 = 没有打开的文件)<br />
''/**********************************************************************************<br />
Public Property Get Position<br />
&nbsp; &nbsp;If OpenFlag Then<br />
&nbsp; &nbsp; &nbsp; Position=ObjStream.Position<br />
&nbsp; &nbsp;Else<br />
&nbsp; &nbsp; &nbsp; Position=-1<br />
&nbsp; &nbsp;End If<br />
End Property<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：获取当前的文件是否在文件尾(True = 文件尾 False = 否)<br />
''/*注意：返回为True时文件只是在最后一个字节处，返回为True是因为被尝试移动指针到文件的尾部(大于文件的大小)<br />
''/* &nbsp; &nbsp; &nbsp;如果外部调用此值时建议当该值为True时，停止任何的读取数据操作，否则有可能会有数据返回<br />
''/**********************************************************************************<br />
Public Property Get Eof<br />
&nbsp; &nbsp;Eof=FileIsEof<br />
End Property<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：打开文件<br />
''/*参数： FileName = 要打开的文件名，绝对地址<br />
''/* &nbsp; OpenMode = 打开文件的模式 值是同Adodb.Stream 对象的Mode属性相同<br />
''/**********************************************************************************<br />
Public Function OpenFile(ByVal FileName,ByVal OpenMode)<br />
On Error Resume Next<br />
Dim sFileName,iMode<br />
&nbsp; &nbsp;If OpenFlag Then &nbsp; &nbsp; &nbsp; &nbsp; ''如果已有打开文件，则关闭前一个文件<br />
&nbsp; &nbsp;Call CloseFile<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;sFileName=Trim(FileName)<br />
&nbsp; &nbsp;If sFileName="" Then<br />
&nbsp; &nbsp; &nbsp; FileIsEof=True<br />
&nbsp; &nbsp; &nbsp; OpenFlag=False<br />
&nbsp; &nbsp;OpenFile=False<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;iMode=Cint(OpenMode) &nbsp; &nbsp; ''如果输入的不是数字则采用默认的3打开模式（读写型）<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp;iMode=3<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;If iMode&lt;&gt;0 And iMode&lt;&gt;1 And iMode&lt;&gt;2 And iMode&lt;&gt;3 And iMode&lt;&gt;4 And iMode&lt;&gt;8 And iMode&lt;&gt;12 And iMode&lt;&gt;16 And iMode&lt;&gt;4194304 Then<br />
&nbsp; &nbsp; &nbsp; iMode=3 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''如果输入的数字不在ADODB.ReadStream的Mode属性所接受的值则采用默认值3<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;''On Error Goto 0<br />
&nbsp; &nbsp;If Not InitObjStream Then &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''初始化对象,如不能初始化则返回一个False值<br />
&nbsp; &nbsp; &nbsp; FileIsEof=True<br />
&nbsp; &nbsp; &nbsp; OpenFlag=False<br />
&nbsp; &nbsp;OpenFile=False<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;ObjStream.Type=1<br />
&nbsp; &nbsp;ObjStream.Mode=iMode<br />
&nbsp; &nbsp; &nbsp; ObjStream.Open<br />
&nbsp; &nbsp; &nbsp; ObjStream.LoadFromFile sFileName<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;FileIsEof=False<br />
&nbsp; &nbsp;OpenFlag=True<br />
&nbsp; &nbsp;OpenFile=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：读取指定长度的二进制内容<br />
''/*参数： Numbytes = 要读取的字节数(Numbytes = 0 获取当前文件指针后的所有内容)<br />
''/*返回：读取的字节数据<br />
''/**********************************************************************************<br />
Public Function Read(ByVal Numbytes)<br />
Dim iNum<br />
&nbsp; &nbsp;If Not OpenFlag Then Exit Function<br />
&nbsp; &nbsp;If Not IsInteger(Numbytes) Then Exit Function<br />
&nbsp; &nbsp;iNum=Clng(Numbytes)<br />
&nbsp; &nbsp;FileIsEof=False<br />
&nbsp; &nbsp;If iNum&lt;0 Then<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;ElseIf (iNum+ObjStream.Position)&gt;ObjStream.Size Then<br />
&nbsp; &nbsp;''iNum=ObjStream.Size-ObjStream.Position<br />
&nbsp; &nbsp;FileIsEof=True<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;If iNum=0 Then<br />
&nbsp; &nbsp; &nbsp; Read=ObjStream.Read<br />
&nbsp; &nbsp;Else<br />
&nbsp; &nbsp; &nbsp; Read=ObjStream.Read(iNum)<br />
&nbsp; &nbsp;End If<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：读取文件的所有内容<br />
''/*参数：<br />
''/*返回：读取文件的所有字节数据<br />
''/**********************************************************************************<br />
Public Function ReadAll<br />
&nbsp; &nbsp;If Not OpenFlag Then Exit Function<br />
&nbsp; &nbsp;ObjStream.Position=0<br />
&nbsp; &nbsp;ReadAll=ObjStream.Read<br />
&nbsp; &nbsp;FileIsEof=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：文件另存为<br />
''/*参数：FileName = 另存为文件绝对路径 &nbsp; Options = 文件另存为的模式 (1=非覆盖 2=覆盖)<br />
''/*返回：读取文件的所有字节数据<br />
''/**********************************************************************************<br />
Public Function SaveAs(ByVal FileName,ByVal Options)<br />
On Error Resume Next<br />
Dim sFileName,iOption<br />
&nbsp; &nbsp;If Not OpenFlag Then<br />
&nbsp; &nbsp;SaveAs=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;sFileName=Trim(FileName)<br />
&nbsp; &nbsp;If sFileName="" Then<br />
&nbsp; &nbsp;SaveAs=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;iOption=Cint(Options)<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then &nbsp; &nbsp; &nbsp;''如果非数值型数据，则采用默认值 1 = 非覆盖方式保存<br />
&nbsp; &nbsp;iOption=1 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp; &nbsp; If iOption&lt;&gt;1 And iOption&lt;&gt;2 Then &nbsp; &nbsp; &nbsp; ''如果Options的值不在1和2的范围，则采用默认值 1<br />
&nbsp; &nbsp; &nbsp; iOption=1<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;ObjStream.SaveToFile sFileName,iOption<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp; &nbsp; Err.Clear<br />
&nbsp; &nbsp;SaveAs=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;SaveAs=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：追加文件数据到另一个文件<br />
''/*参数：FileName = 被追加的文件绝对路径<br />
''/*返回：True = 追加数据成功 &nbsp;False = 追加文件数据失败<br />
''/**********************************************************************************<br />
Public Function AppendTo(ByVal FileName)<br />
On Error Resume Next<br />
Dim sFileName,AppendObj<br />
&nbsp; &nbsp;If Not OpenFlag Then<br />
&nbsp; &nbsp;AppendTo=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;sFileName=Trim(FileName)<br />
&nbsp; &nbsp;If sFileName="" Then<br />
&nbsp; &nbsp;AppendTo=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;''打开要被追加的文件<br />
&nbsp; &nbsp;Set AppendObj=Server.CreateObject("ADODB.Stream")<br />
&nbsp; &nbsp;AppendObj.Type=1<br />
&nbsp; &nbsp;AppendObj.Mode=3<br />
&nbsp; &nbsp; &nbsp; AppendObj.Open<br />
&nbsp; &nbsp; &nbsp; AppendObj.LoadFromFile sFileName<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp;AppendTo=False<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;AppendObj.Position=AppendObj.Size &nbsp; &nbsp;''移动指针到文件尾<br />
&nbsp; &nbsp;AppendObj.Write ReadAll &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''追加数据第一个文件的数据<br />
&nbsp; &nbsp;AppendObj.SaveToFile sFileName,2 &nbsp; &nbsp; ''另存为自己<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp; &nbsp; Err.Clear<br />
&nbsp; &nbsp;AppendTo=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;AppendObj.Close<br />
&nbsp; &nbsp;Set AppendObj=Nothing<br />
&nbsp; &nbsp;AppendTo=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：保存sData数据为一个文件<br />
''/*参数：FileName = 被追加的文件绝对路径<br />
''/*返回：True = 追加数据成功 &nbsp;False = 追加文件数据失败<br />
''/**********************************************************************************<br />
Public Function NewFile(ByVal FileName,ByRef sData)<br />
On Error Resume Next<br />
Dim sFileName,AppendObj<br />
&nbsp; &nbsp;sFileName=Trim(FileName)<br />
&nbsp; &nbsp;If sFileName="" Then<br />
&nbsp; &nbsp;NewFile=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;''打开要被追加的文件<br />
&nbsp; &nbsp;Set AppendObj=Server.CreateObject("ADODB.Stream")<br />
&nbsp; &nbsp;AppendObj.Type=1<br />
&nbsp; &nbsp;AppendObj.Mode=3<br />
&nbsp; &nbsp; &nbsp; AppendObj.Open<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp;NewFile=False<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;If Left(TypeName(sData),4)="Byte" Then &nbsp; &nbsp; ''是字节流数据才能追加<br />
&nbsp; &nbsp; &nbsp; AppendObj.Write sData &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''追加数据第一个文件的数据<br />
&nbsp; &nbsp;AppendObj.SaveToFile sFileName,2 &nbsp; &nbsp; &nbsp; &nbsp;''另存为自己<br />
&nbsp; &nbsp;Else<br />
&nbsp; &nbsp;NewFile=False<br />
&nbsp; &nbsp; &nbsp; Exit Function &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp; &nbsp; Err.Clear<br />
&nbsp; &nbsp;NewFile=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;AppendObj.Close<br />
&nbsp; &nbsp;Set AppendObj=Nothing<br />
&nbsp; &nbsp;NewFile=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：文件合并<br />
''/*参数：AppendFileName = 合并文件1 &nbsp; &nbsp;SourceFileName = 合并文件2 &nbsp;TargetFileName = 合并后的文件(如为空，则保存为第一个文件名)<br />
''/*返回：True = 合并成功 &nbsp;False = 合并失败<br />
''/**********************************************************************************<br />
Public Function AppendFile(ByVal AppendFileName,ByVal SourceFileName,ByVal TargetFileName)<br />
On Error Resume Next<br />
Dim sFileName1,sFileName2,AppendObj1,AppendObj2<br />
Dim sTargetFile<br />
&nbsp; &nbsp;sFileName1=Trim(AppendFileName)<br />
&nbsp; &nbsp;sFileName2=Trim(SourceFileName)<br />
&nbsp; &nbsp;sTargetFile=Trim(TargetFileName)<br />
&nbsp; &nbsp;If sFileName1="" Or sFileName2="" Then<br />
&nbsp; &nbsp;AppendFile=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;''打开要被追加和追加的文件<br />
&nbsp; &nbsp;Set AppendObj1=Server.CreateObject("ADODB.Stream")<br />
&nbsp; &nbsp;Set AppendObj2=Server.CreateObject("ADODB.Stream")<br />
&nbsp; &nbsp;AppendObj1.Type=1<br />
&nbsp; &nbsp;AppendObj1.Mode=3<br />
&nbsp; &nbsp; &nbsp; AppendObj1.Open<br />
&nbsp; &nbsp; &nbsp; AppendObj1.LoadFromFile sFileName1<br />
&nbsp; &nbsp;AppendObj2.Type=1<br />
&nbsp; &nbsp;AppendObj2.Mode=3<br />
&nbsp; &nbsp; &nbsp; AppendObj2.Open<br />
&nbsp; &nbsp; &nbsp; AppendObj2.LoadFromFile sFileName2<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp;AppendFile=False<br />
&nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;AppendObj1.Position=AppendObj1.Size &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ''移动指针到文件尾<br />
&nbsp; &nbsp;AppendObj1.Write AppendObj2.Read &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;''追加数据第一个文件的数据<br />
&nbsp; &nbsp;If sTargetFile="" Then<br />
&nbsp; &nbsp; &nbsp; AppendObj1.SaveToFile sFileName1,2 &nbsp; &nbsp; &nbsp; &nbsp; ''另存为自己<br />
&nbsp; &nbsp;Else<br />
&nbsp; &nbsp; &nbsp; AppendObj1.SaveToFile sTargetFile,1 &nbsp; &nbsp; &nbsp; &nbsp;''另存为其它文件时不采用强制覆盖方式<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp; &nbsp; Err.Clear<br />
&nbsp; &nbsp;AppendFile=False<br />
&nbsp; &nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;AppendObj1.Close<br />
&nbsp; &nbsp;Set AppendObj1=Nothing<br />
&nbsp; &nbsp;AppendObj2.Close<br />
&nbsp; &nbsp;Set AppendObj2=Nothing<br />
&nbsp; &nbsp;AppendFile=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：移动文件指针（相对移动）<br />
''/*参数： ToNum = 要移动的字节数<br />
''/* &nbsp;<br />
''/**********************************************************************************<br />
Public Sub Move(ByVal ToNum)<br />
Dim iNum<br />
&nbsp; &nbsp;If Not OpenFlag Then Exit Sub<br />
&nbsp; &nbsp;If Not IsInteger(ToNum) Then Exit Sub<br />
&nbsp; &nbsp;iNum=ObjStream.Position+Clng(ToNum)<br />
&nbsp; &nbsp; &nbsp; FileIsEof=False<br />
&nbsp; &nbsp;If iNum&lt;0 Then<br />
&nbsp; &nbsp;iNum=0<br />
&nbsp; &nbsp;ElseIf iNum&gt;ObjStream.Size Then<br />
&nbsp; &nbsp;iNum=ObjStream.Size<br />
&nbsp; &nbsp;FileIsEof=True<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;ObjStream.Position=iNum<br />
End Sub<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：移动文件指针（绝对移动）<br />
''/*参数： ToNum = 要移动的字节数<br />
''/* &nbsp;<br />
''/**********************************************************************************<br />
Public Sub MoveTo(ByVal ToNum)<br />
Dim iNum<br />
&nbsp; &nbsp;If Not OpenFlag Then Exit Sub<br />
&nbsp; &nbsp;If Not IsInteger(ToNum) Then Exit Sub<br />
&nbsp; &nbsp;iNum=Clng(ToNum)<br />
&nbsp; &nbsp;FileIsEof=False<br />
&nbsp; &nbsp;If iNum&lt;0 Then<br />
&nbsp; &nbsp;iNum=0<br />
&nbsp; &nbsp;ElseIf iNum&gt;ObjStream.Size Then<br />
&nbsp; &nbsp;iNum=ObjStream.Size<br />
&nbsp; &nbsp;FileIsEof=True<br />
&nbsp; &nbsp;End If<br />
&nbsp; &nbsp;ObjStream.Position=iNum<br />
End Sub<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：关闭已打开的文件<br />
''/**********************************************************************************<br />
Public Sub CloseFile<br />
On Error Resume Next<br />
&nbsp;If Not IsNothing(ObjStream) Then<br />
&nbsp; &nbsp; ObjStream.Close<br />
&nbsp;End If<br />
&nbsp;OpenFlag=False<br />
&nbsp;FileIsEof=True<br />
End Sub<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：初始化ObjStream对象<br />
''/**********************************************************************************<br />
Private Function InitObjStream<br />
On Error Resume Next<br />
&nbsp;If IsNothing(ObjStream) Then<br />
&nbsp; &nbsp; Set ObjStream=Server.CreateObject("ADODB.Stream")<br />
&nbsp; &nbsp; If Err.Number&lt;&gt;0 Then<br />
&nbsp; &nbsp; &nbsp; &nbsp;Err.Clear<br />
&nbsp; &nbsp; InitObjStream=False<br />
&nbsp; &nbsp; Exit Function<br />
&nbsp; &nbsp; End If<br />
&nbsp;End If<br />
&nbsp;InitObjStream=True<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：获取二进制转换为字符串的数据<br />
''/**********************************************************************************<br />
Public Function GetText(ByRef vIn)<br />
On Error Resume Next<br />
Dim strReturn, i, ThisCharCode, NextCharCode<br />
&nbsp; &nbsp; &nbsp; &nbsp; strReturn = ""<br />
&nbsp; &nbsp; &nbsp; &nbsp; For i = 1 To LenB(vIn)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ThisCharCode = AscB(MidB(vIn, i, 1))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If ThisCharCode &lt; &amp;H80 Then<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strReturn = strReturn &amp; Chr(ThisCharCode)<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Else<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;NextCharCode = AscB(MidB(vIn, i + 1, 1))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;strReturn = strReturn &amp; Chr(CLng(ThisCharCode) * &amp;H100 + CInt(NextCharCode))<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;i = i + 1<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;End If<br />
&nbsp; &nbsp; &nbsp; &nbsp; Next<br />
&nbsp; &nbsp; &nbsp; &nbsp; GetText = strReturn<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：判断OBJ对象是否是空值<br />
''/**********************************************************************************<br />
Private Function IsNothing(Obj)<br />
&nbsp;If Not IsObject(Obj) Then<br />
&nbsp; &nbsp; IsNothing=True<br />
&nbsp; &nbsp; Exit Function<br />
&nbsp;End If &nbsp;<br />
&nbsp;If Obj Is Nothing Then<br />
&nbsp; &nbsp; IsNothing=True<br />
&nbsp; &nbsp; Exit Function<br />
&nbsp;End If<br />
&nbsp;If IsNull(Obj) Then<br />
&nbsp; &nbsp; IsNothing=True<br />
&nbsp; &nbsp; Exit Function<br />
&nbsp;End If &nbsp; &nbsp;<br />
&nbsp;IsNothing=False<br />
End Function<br />
<br />
''/**********************************************************************************<br />
''/* &nbsp; &nbsp; &nbsp; &nbsp; 函数名：判断是否是数字值(0,1,2,3,4,5...........9)<br />
''/**********************************************************************************<br />
Private Function IsInteger(Para)<br />
On Error Resume Next<br />
&nbsp; &nbsp; &nbsp; Dim str<br />
&nbsp; &nbsp; &nbsp; Dim l,i<br />
&nbsp; &nbsp; &nbsp; If isNUll(para) Then<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IsInteger=False<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp; &nbsp; End if<br />
&nbsp; &nbsp; &nbsp; str=Cstr(para)<br />
&nbsp; &nbsp; &nbsp; If Trim(str)="" Then<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IsInteger=False<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp; &nbsp; End If<br />
&nbsp; &nbsp; &nbsp; l=Len(str)<br />
&nbsp; &nbsp; &nbsp; For i=1 To l<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; If Mid(str,i,1)&gt;"9" Or Mid(str,i,1)&lt;"0" Then<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IsInteger=False<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exit Function<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; End if<br />
&nbsp; &nbsp; &nbsp; Next<br />
&nbsp; &nbsp; &nbsp; IsInteger=true<br />
&nbsp; &nbsp; &nbsp; If Err.number&lt;&gt;0 Then Err.clear<br />
End Function<br />
End Class<br />
%&gt;<br />
<br />
使用&#8220;二进制文件操作类编写的[文件分割]和[文件合并]代码例子：<br />
&lt;%<br />
Dim obj<br />
Set obj=New FileClass<br />
''文件分隔<br />
Dim i<br />
Obj.OpenFile "G:\2.mp3",""<br />
i=0<br />
Do While Not Obj.Eof<br />
&nbsp; If Obj.NewFile("G:\2_"&amp;i&amp;".mp3",Obj.Read(2048*1024)) Then &nbsp; &nbsp; &nbsp; &nbsp; ''分隔成2M大小的文件<br />
&nbsp; &nbsp; &nbsp;Response.Write "分隔成文件G:\2_"&amp;i&amp;".mp3成功！&lt;br&gt;"<br />
&nbsp; Else<br />
&nbsp; &nbsp; &nbsp;Response.Write "分隔成文件G:\2_"&amp;i&amp;".mp3失败！&lt;br&gt;"<br />
&nbsp; End If<br />
&nbsp; i=i+1<br />
Loop<br />
Obj.CloseFile<br />
<br />
''合并文件<br />
Dim j<br />
Obj.AppendFile "G:\2_0.mp3","G:\2_1.mp3","G:\Mp3.mp3"<br />
For j=2 To i-1<br />
&nbsp; &nbsp;Obj.AppendFile "G:\Mp3.mp3","G:\2_"&amp;j&amp;".mp3",""<br />
Next<br />
Response.Write "合并文件成功!"<br />
Set Obj=Nothing<br />
%&gt; 
 <img src ="http://www.cnblogs.com/meil/aggbug/945898.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Visual Studio 2008 RTM 已经对内发布</title><link>http://www.cnblogs.com/meil/archive/2007/11/01/945089.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Thu, 01 Nov 2007 00:12:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/11/01/945089.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/945089.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/11/01/945089.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/945089.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/945089.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;众多.NET开发人员所期待的Visual Studio 2008终于发布了，从昨天晚上开始微软全球的员工已经可以开始下载这个Internal Release版本。 <br />
虽然正式发布启动仪式要在明年2月底进行，但为了&#8220;先声夺人&#8221;，<a href="http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx"><u>Visual Studio 2008</u></a>和<a href="http://www.microsoft.com/sql/2008/default.mspx"><u>SQL Server 200</u>8</a>、<a href="http://www.microsoft.com/windowsserver2008/default.mspx"><u>Windows Server 2008</u></a>的站点已经上线。<br />
<br />
<p><span style="font-weight: bold">微软主要从3个方面对Visual Studio 2008进行完善：</span><u style="font-weight: bold"><br />
<br />
</u>
<li>提高开发人员工作效率；
<li>便于管理整个项目生命周期；
<li>把最近的技术和开发框架集成到Visual Stuido中； <br />
从具体的开发领域看，这个版本的VS面向不同背景的开发团队，从下面7个领域作了较大的改善：<br />
<br />
<li>为了便于应用的分发和部署，对Smart Client应用增加了一整套的工具和类库，便于把Smart Client应用与既有的和新开发的Web应用集成在一起。另外，本地缓存机制也对脱机应用情形作了完善；
<li>发布新一代VSTO（Visual Studio Tool for Office），在对Word和Excel继续提供便捷开发的同时，着重加强了面向PowerPoint、Outlook的开发能力；
<li>结合Vista和Longhorn平台，提供更丰富的定制扩展能力，在WPF的基础上除了保持对WinForm和WebForm的支持外，对新出现的主动式客户体验驱动和数据内容驱动的应用提供支持；
<li>从.NET语言看，对LINQ的支持将很多以前游离在语言外部的公共机制直接内置到语言内部，便于开发人员开发中以一种更面向对象化的方式完成业务逻辑；
<li>进一步改善开发人员的设计和调试体验；
<li>提供面向AJAX的ASP.NET的模型，尤其在浏览器客户端开发中，JavaScript Intellisense的支持是很多开发人员期盼已久的；
<li>面向项目所有参与者提供多角度的项目生命期管理，提供更为便捷的参与、交互能力；<br />
</li>
<img src ="http://www.cnblogs.com/meil/aggbug/945089.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47958/" target="_blank">风声又起 Windows 7 RTM版7月13日完成</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>JavaScript 对象与数组参考大全 </title><link>http://www.cnblogs.com/meil/archive/2007/10/26/938462.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 26 Oct 2007 03:34:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/26/938462.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/938462.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/26/938462.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/938462.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/938462.html</trackback:ping><description><![CDATA[本文列举了各种JavaScript对象与数组,同时包括对上述每一对象或数组所完成工作的简短描述,以及与其相关的属性方法,以及事件处理程序,还注明了该对象或数组的父对象用户同样可能需要参考Online Companion中的超级文本Object Hierarchy页面(<a href="http://www.netscapepress.com/support/javascript/10-9.htm">http://www.netscapepress.com/support/javascript/10-9.htm</a>),以便了解这些对象之间是如何相互关联的。<br />
　　顺便提一下,记住,这里把所有作为另一对象的子对象的对象看作该对象的属性请参见第十章中与此相关的注解。
<p>　　B.1 anchor对象<br />
　　使用&lt;A NAME=&gt;标记创建的HTML描点能被一个链接作为目标如果锚点包括HREF=特性,则它也是一个链接对象。<br />
　　anchor对象是document对象的一个属性,它本身没有属性方法或者事件处理程序。</p>
<p>　　B.2 anchors数组<br />
　　anchors数组是document对象的一个属性,是文档内所有anchor对象的一个列表如果anchor也是一个link(链接),则它会同时出现在anchors和links数组中。<br />
　　属性<br />
　　length 文档内的锚点个数</p>
<p>　　B.3 array对象<br />
　　array对象是Netscape Navlgator 3.0 beta 3中引入的一个新的对象,因而,它不能在Netscape 2.0中使用它是一个内置对象,而不是其它对象的属性。<br />
　　属性<br />
&nbsp;　length 数组中的值个数</p>
<p>　　B.4 button对象<br />
　　它是form对象的一个属性,使用&lt;INPUT TYPE="BUTTON"&gt;标记来创建。<br />
　　属性<br />
　　name HTML标记中的NAME=特性<br />
　　value HTML标记中的VALUE=特性<br />
　　方法<br />
　　click 模拟鼠标单击一按钮<br />
　　事件处理程序<br />
　　Onclick</p>
<p>　　B.5 checkbox 对象<br />
　　它是form对象的一个属性,使用&lt;INPUT TYPE="CHECKBOX"&gt;标记来创建。<br />
　　属性<br />
　　checked 复选框的选择状态<br />
　　defaultChecked 标记的CHECKED=特性<br />
　　name 标记的NAME=特性<br />
　　value 标记的VALUE=特性<br />
　　方法<br />
　　click 模拟鼠标单击按钮<br />
　　事件处理程序<br />
　　onclick</p>
<p>　　B.6 Date对象<br />
　　它是一个内置对象——而不是其它对象的属性,允许用户执行各种使用日期和时间的过程。<br />
&nbsp; 　方法<br />
　　getDate() 查看Date对象并返回日期<br />
　　getDay() 返回星期几<br />
　　getHours() 返回小时数<br />
　　getMinutes() 返回分钟数<br />
　　getMonth() 返回月份值<br />
　　getSeconds() 返回秒数<br />
　　getTime() 返回完整的时间<br />
　　getTimezoneoffset() 返回时区偏差值(格林威治平均时间与运行脚本的计算机所处时区设置之间相差的小时数)<br />
　　getYear() 返回年份<br />
　　parse() 返回在Date字符串中自从1970年1月1日00:00:00以来的毫秒数(Date对象按照毫秒数的形式存储从那时起的日期和时间)但是注意,该方法当前不能正确运行<br />
　　setDate() 改变Date对象的日期<br />
　　setHours() 改变小时数<br />
　　setMinutes() 改变分钟数<br />
　　setMonth() 改变月份<br />
　　setSeconds() 改变秒数<br />
　　setTime() 改变完整的时间<br />
　　setYear() 改变年份<br />
　　toGMTString() 把Date对象的日期(一个数值)转变成一个GMT时间字符串,返回类似下面的值:Weds,15 June l997 14:02:02 GMT(精确的格式依赖于计算机上所运行的操作系统而变)<br />
　　toLocaleString() 把Date对象的日期(一个数值)转变成一个字符串,使用所在计算机上配置使用的特定日期格式<br />
　　UTC() 使用Date UTC(年、月、日、时、分、秒),以自从1970年1月1日00:00:00(其中时、分、秒是可选的)以来的毫秒数的形式返回日期</p>
<p>　　B.7 document对象<br />
　　该对象是window和frames对象的一个属性,是显示于窗口或框架内的一个文档。<br />
　　属性<br />
　　alinkColor 活动链接的颜色(ALINK)<br />
　　anchor 一个HTMI锚点,使用&lt;A NAME=&gt;标记创建(该属性本身也是一个对象)<br />
　　anchors array 列出文档锚点对象的数组(&lt;A NAME=&gt;)(该属性本身也是一个对象)<br />
　　bgColor 文档的背景颜色(BGCOLOR)<br />
　　cookie 存储于cookie.txt文件内的一段信息,它是该文档对象的一个属性<br />
　　fgColor 文档的文本颜色(&lt;BODY&gt;标记里的TEXT特性)<br />
　　form 文档中的一个窗体(&lt;FORM&gt;)(该属性本身也是一个对象)<br />
　　forms anay 按照其出现在文档中的顺序列出窗体对象的一个数组(该属性本身也是一个对象)<br />
　　lastModified 文档最后的修改日期<br />
　　linkColor 文档的链接的颜色,即&lt;BODY&gt;标记中的LINK特性(链接到用户没有观察到的文档)<br />
　　link 文档中的一个&lt;A HREF=&gt;标记(该属性本身也是一个对象)<br />
　　links array 文档中link对象的一个数组,按照它们出现在文档中的顺序排列(该属性本身也是一个对象)<br />
　　location 当前显示文档的URL。用户不能改变document.location(因为这是当前显示文档的位置)。但是,可以改变window.location (用其它文档取代当前文档)window.location本身也是一个对象,而document.location不是对象<br />
　　referrer 包含链接的文档的URL,用户单击该链接可到达当前文档<br />
　　title 文档的标题((TITLE&gt;)<br />
　　vlinkColor 指向用户已观察过的文档的链接文本颜色,即&lt;BODY&gt;标记的VLINK特性<br />
　　方法<br />
　　clear 清除指定文档的内容<br />
　　close 关闭文档流<br />
　　open 打开文档流<br />
　　write 把文本写入文档<br />
　　writeln 把文本写入文档,并以换行符结尾</p>
<p>　　B.8 elements数组<br />
　　它是form对象的一个属性,列举了窗体内各元素的一个数组。<br />
　　属性<br />
　　1ength 窗体内的元素个数<br />
　　B.9 form对象<br />
　　它是document对象的一个属性,文档内的一个窗体。<br />
　　属性<br />
　　action 包含了为一个窗体提交的目标URL的字符串<br />
　　button 窗体内的一个按钮,使用&lt;INPUT TYPE=&#8221;BUTTON&#8221;&gt;标记来创建(该属性本身也是一个对象)<br />
　　checkbox 复选框,使用&lt;INPUT TYPE=&#8221;CHECKBOX&#8221;&gt;标记来创建 (该属性本身也是一个对象)<br />
　　elements array 一个数组,按照其出现于窗体内的顺序列举各窗体元素(该属性本身也是一个对象)<br />
　　encoding 窗体的MIME编码<br />
&nbsp; 　hidden 窗体里的一个隐藏元素(&lt;INPUT TYPE=&#8221;HIDDEN&#8221;&gt;)。窗体对象的一个属性(该属性本身也是一个对象)<br />
　　length 窗体里的元素的个数<br />
　　method 输入窗体的数据传送到服务器上的方式,即(FORM)标记中的METHOD特性<br />
　　radio 设置在窗体里的单选按钮(&lt;INPUT TYPE=&#8221;RADIO&#8221;&gt;)(该属性本身也是一个对象)<br />
　　reset 窗体里的复位按钮((1NPUT TYPE=&#8221;RESET&#8221;&gt;)(该属性自身也是一个对象)<br />
　　select 窗体里的选择框(&lt;SELECT&gt;)(该属性本身也是一个对象)<br />
　　submit 窗体里的提交按钮(&lt;INPUT TYPE=&#8221;SUBMIT&#8221;&gt;)(该属性本身也是一个对象)<br />
　　target 提交窗体后,显示回应信息的窗口的名字<br />
　　text 窗体里的文本元素(&lt;INPUT TYPE=&#8221;TEXT&#8221;&gt;)(该属性本身也是一个对象)<br />
　　textarta 窗体里的文本区元素(&lt;TEXTAREA&gt;)(该属性本身也是一个对象)<br />
　　方法<br />
　　submit 提交窗体(与使用Submit按钮的作用相同)事件处理程序<br />
　　onsubmit</p>
<p>　　B.10 forms数组<br />
　　该数组是document对象的一个属性,即列举了文档内的各窗体的一个数组。<br />
　　属性<br />
　　length 文档内窗体的个数</p>
<p>　　B.11 frame对象<br />
　　它是window对象的一个属性,窗口内的一个框架。除了个别例外,frame对象与window对象的作用相同。<br />
　　属性<br />
　　frames array 列举该框架内的各个子框架的一个数组(该属性本身也是—个对象)<br />
　　length 该框架内的框架数<br />
　　name 框架的名字(&lt;FRAME&gt;标记里的NAME特性)<br />
　　parent 包含本框架的父窗口的同义词<br />
　　self 当前框架的同义词<br />
　　window 当前框架的同义词<br />
　　方法<br />
　　clearTimeout() 用来终止setTimeout方法的工作<br />
　　setTimeout() 等待指定的毫秒数,然后运行指令</p>
<p>　　B.12 frames数组<br />
　　它既是window对象,也是frame对象的属性,列举了window或者frame对象内的各框架。<br />
　　属性<br />
　　length 窗口或框架对象内的框架数</p>
<p>　　B.13 hidden对象<br />
　　糊为form对象的一个属性,窗体内的一个隐藏元素(&lt;INPUT TYPE=&#8221;HIDDEN&#8221;&gt;)。<br />
　　属性<br />
　　name 标记内的名字(NAME特性)<br />
　　value 标记内的VALUE=特性</p>
<p>　　B.14 history对象<br />
　　它为window对象的一个属性,该窗口的历史列表。<br />
　　属性<br />
　　length 历史列表中的项目数<br />
　　方法<br />
　　back 加载历史列表中的上一个文档<br />
　　forward 加载历史列表中的下一个文档<br />
　　go 加载历史列表中的一个指定文档,通过文档在列表中的位置来指定</p>
<p>　　B.15 image对象<br />
　　它是document对象的一个属性,是使用(1MG)标记内嵌入文档里的一幅图像这是Netscape Navigator 3.0 beta 3引入的新对象。<br />
　　属性<br />
　　border &lt;IMG&gt;标记的BORDER特性<br />
　　complete 表示浏览器是否完整地加载了图像的一个布尔值<br />
　　height HEIGHT特性<br />
　　hspace HSPACE特性<br />
　　lowsrc LOWSRC特性<br />
　　src SRC特性<br />
　　vsPace VSPACE特性<br />
　　width WIDTH特性<br />
　　事件处理程序<br />
　　Onload 图象载入<br />
　　Onerror 载入错误<br />
　　Onabort 取消</p>
<p>　　B.16 images数组<br />
　　它是document对象的一个属性,文档中所有图像的列表。<br />
　　属性<br />
　　length 文档内的图像个数</p>
<p>　　B.17 link<br />
　　它是document对象的一个属性,文档内的一个&lt;A HREF=&gt;标记。<br />
　　属性<br />
　　hash 以散列号(#)开始的一个字符串,用于指定URL内的一个锚点<br />
　　host 包括冒号和端口号的URL的主机名部分<br />
　　hostname 与host属性相同,除了不包括冒号和端口号外<br />
　　href 完整的URL<br />
　　pathname URL的目录路径部分<br />
　　port URL的:端口部分<br />
　　protocol URL类型(http:、ftp:、gopher:等等)<br />
　　search 以一个问号开始的URL中的一部分,用于指定搜索信息<br />
　　target 当用户单击一链接(TARGET特性)时,用于显示被引用文档内容的窗口<br />
　　事件处理程序<br />
　　Onclick 点击<br />
　　Onmouseover 鼠标移到对象上</p>
<p>　　B.18 links数组<br />
　　它是document对象的一个属性,文档内所有链接的一个列表。<br />
　　属性<br />
　　length 文档内的链接数</p>
<p>　　B.19 location对象<br />
　　它为document对象的一个属性,该文档的完整URL，请不要把它与window.location属性相混淆,后者可用来加载一个新文档,并且window.location属性本身并不是一个对象，同时,window.location可以用脚本修改,而document.location则不能。<br />
　　属性<br />
　　hash 以散列号(#)开始的一个字符串,用于指定URL内的一个锚点<br />
　　host 包括冒号和端口号的URL的主机名部分<br />
　　hostname 与host属性相同,除了不包括冒号和端口号之外<br />
　　href 完整的URL<br />
　　pathname URL的目录路径部分<br />
　　port URL的:端口部分<br />
　　protocol URL的类型(http:、ftp:、gopher:等等)<br />
　　search 以问号(?)开始的URL中的一部分,用于指定搜索信息<br />
　　target 用户单击链接(TARGET特性)时,用于显示被引用文档的内容的窗口</p>
<p>　　B.20 math对象<br />
　　该对象不是其它对象的一个属性,而是一个内置对象,包含了许多数学常量和函数。<br />
　　属性<br />
　　E 欧拉常量,自然对数的底(约等于2.718)<br />
　　LN2 2的自然对数(约等于0.693)<br />
　　LN10 10的自然对数(约等于2.302)<br />
　　LOG2E 以2为底的e的对数(约等于1.442)<br />
　　LOG10E 以10为底的e的对数(约等于o.434)<br />
　　PI &#8719;的值(约等于3.14159)<br />
　　SQRT1_2 0.5的平方根(即l除以2的平方根,约等于o.707)<br />
　　SQRT2 2的平方根(约等于1.414)<br />
　　方法<br />
　　abs() 返回某数的绝对值(即该数与o的距离,例如,2与一2的绝对值都是2)<br />
　　acos() 返回某数的反余弦值(以弧度为单位)<br />
　　asin() 返回某数的反正弦值(以弧度为单位)<br />
　　atan() 返回某数的反正切值(以弧度为单位)<br />
　　ceil() 返回与某数相等,或大于该数的最小整数(ceil(-22.22)返回-22;ceil22,22)返回23;ceil(22)返回22)<br />
　　cos() 返回某数(以弧度为单位)的余弦值<br />
　　exp() 返回en<br />
　　floor() 与ceil相反(floor(一22.22)返回一23;floor(22.22)返回22; floor(22)返回22)<br />
　　10g() 返回某数的自然对数(以e为底)<br />
　　max() 返回两数间的较大值<br />
　　min() 返回两数问的较小值<br />
　　pow() 返回m的n次方(其中,m为底,n为指数)<br />
　　random() 返回0和1之间的一个伪随机数(该方法仅在Netscape<br />
　　Navigator的UNIX版本中有效)<br />
　　round() 返回某数四舍五入之后的整数<br />
　　sin() 返回某数(以弧度为单位)的正弦值<br />
　　sqrt() 返回某数的平方根<br />
　　tan() 返回某数的正切值</p>
<p>　　B.2l navigator对象<br />
　　该对象不是其它对象的属性,而是一个内置对象它包含了有关加载文档的浏览器的信息。<br />
　　属性<br />
　　appCodeName 浏览器的代码名(例如,Mozilla)<br />
　　appName 浏览器的名字<br />
　　appVersion 浏览器的版本号<br />
　　userAgent 由客户机送到服务器的用户与代理头标文本<br />
　　方法<br />
　　javaEnabled JavaScript中当前并没有该方法,但是不久之后将会添加上它将查看浏览器是否为兼容JavaScript的浏览器,如果是,继续查看JavaScript是否处于支持状态。</p>
<p>　　B.22 options数组<br />
　　该数组是select对象的一个属性,即选择框中的所有选项(&lt;OPTION&gt;)的一个列表。<br />
　　属性<br />
　　defaultSelected 选项列表中的缺省选项<br />
　　index 选项列表中某选项的索引位置<br />
　　length 选项列表中的选项数(&lt;OPTIONS&gt;)<br />
　　name 选项列表的名字(NAME特性)<br />
　　selected 表示选项列表中某选项&lt;OPTION&gt;是否被选中的一个布尔类型值<br />
　　selectedIndex 选项列表中已选中的&lt;OPTION&gt;的索引(位置)<br />
　　text 选项列表中&lt;OPTION&gt;标记后的文本<br />
　　value 选项列表中的VALUE=特性</p>
<p>　　B.23 Password 对象<br />
　　它是document对象的一个属性,一个&lt;INPUT TYPE=&#8221;PASSWORD&#8221;&gt;标记。<br />
　　属性<br />
　　defaultValue password对象的缺省值(VAlUE=特性)<br />
　　name 对象的名字(NAME=特性)<br />
　　value 该域具有的当前值最初与VALUE=特性(defauttValue)相同,但是,如果脚本修改了该域中的值,则该值将改变<br />
　　方法<br />
　　focus 把焦点从该域移开<br />
　　blur 把焦点移到该域<br />
　　select 选择输入区域</p>
<p>　　B.24 radio对象<br />
　　它是form对象的一个属性,窗体内的一组单选按钮(选项按钮)(&lt;INPUT TYPE=&#8221;RADIO&#8221;&gt;)。<br />
　　属性<br />
　　checked 复选框或选项按钮(单选按钮)的状态<br />
　　defaultChecked 复选框或选项按钮(单选按钮)的缺省状态<br />
　　length 一组单选按钮中的按钮数<br />
　　name 对象的名字(NAME=特性)<br />
　　value VALUE=特性<br />
　　方法<br />
　　click 模拟鼠标单击按钮<br />
　　事件处理程序<br />
　　onclick 点击</p>
<p>　　B.25 reset 对象<br />
　　它是form对象的一个属性,复位按钮(&lt;INPUT TYPE=&#8221;RESET&#8221;&gt;)。<br />
　　属性<br />
　　name 对象的名字(NAME=特性)<br />
　　value VALUE=特性<br />
　　方法<br />
　　click 模拟鼠标单击按钮<br />
　　事件处理程序<br />
　　onclick 点击</p>
<p>　　B.26 select对象<br />
　　它是form对象的一个属性,选择框(&lt;SELECT&gt;)。<br />
　　属性<br />
　　length 选项列表中的选项数(&lt;OPTIONS&gt;)<br />
　　name 选项列表的名字(NAME特性)<br />
　　options 列表中的选项数<br />
　　selectedlndex 选项列表中已选中的&lt;OPTION&gt;的索引(位置)<br />
　　text 选项列表中(OPTION)标记之后的文本<br />
　　value 选项列表中的VALUE=特性<br />
　　方法<br />
　　blur 把焦点从选项列表中移走<br />
　　focus 把焦点移到选项列表中<br />
　　事件处理程序<br />
　　Onblur 失去焦点时事件<br />
　　onchange 更改<br />
　　Onfocus 聚焦事件</p>
<p>　　B.27 string对象<br />
　　它不是另一个对象的属性,而是一个内置对象,即一串字符字符串输入脚本中时必须位于引号内。<br />
　　属性<br />
　　length 字符串中的字符个数<br />
　　方法<br />
　　anchor() 用来把字符串转换到HTML锚点标记内(&lt;A NAME=&gt;)<br />
　　big() 把字符串中的文本变成大字体(&lt;BIG&gt;)<br />
　　blink() 把字符串中的文本变成闪烁字体(&lt;BLINK&gt;)<br />
　　bold() 把字符串中的文本变成黑字体(&lt;B&gt;)<br />
　　charAt() 寻找字符串中指定位置的一个字符<br />
　　fixed() 把字符串中的文本变成固定间距字体(&lt;TT&gt;)<br />
　　fontcolor() 改变字符串中文本的颜色(&lt;FONT COLOR=&gt;)<br />
　　fontsize() 把字符串中的文本变成指定大小(&lt;FONTSIZE=&gt;)<br />
　　indexOf() 用来搜索字符串中的某个特殊字符,并返回该字符的索引位置<br />
　　italics() 把字符串中的文本变成斜字体(&lt;I&gt;)<br />
　　lastlndexOf() 与indexof相似,但是向后搜索最后一个出现的字符<br />
　　link() 用来把字符串转换到HTML链接标记中(&lt;A HREF=&gt;)<br />
　　small() 把字符串中的文本变成小字体(&lt;SMALL&gt;)<br />
　　strike() 把字符串中的文本变成划掉字体(&lt;STRIKE&gt;)<br />
　　sub() 把字符串中的文本变成下标(subscript)字体((SUB&gt;)<br />
　　substring() 返回字符串里指定位置间的一部分字符串<br />
　　sup() 把字符串中的文本变成上标(superscript)字体(&lt;SUP&gt;)<br />
　　toLowerCase() 把字符串中的文本变成小写<br />
　　toUpperCase() 把字符串中的文本变成大写</p>
<p>　　B.28 submit对象<br />
　　它是form对象的一个属性,窗体中的一个提交按钮(&lt;INPUT TYPE=&#8221;SUBMIT&#8221;&gt;)。<br />
　　属性<br />
　　name 对象的名字(NAME=特性)<br />
　　value VALUE=特性<br />
　　方法<br />
　　click 模拟鼠标单击按钮<br />
　　事件处理程序<br />
　　Onclick 点击</p>
<p>　　B.29 text对象<br />
　　它是form对象的一个属性,宙体中的一个文本域(&lt;INPUT TYPE=&#8221;TEXT&#8221;&gt;)。<br />
　　属性<br />
　　defaultValue text对象的缺省值(VALUE=特性)<br />
　　name 该对象的名字(NAME=特性)<br />
　　Value 该域具有的当前值,最初与VALUE=特性(defaultValue)相同但是,如果脚本修改了该域中的值,则该值将改变<br />
　　方法<br />
　　blur 把焦点从文本框移开<br />
　　focus 把焦点移到文本框<br />
　　select 选择输入区域<br />
　　事件处理程序<br />
　　Onblur 失去焦点事件<br />
　　Onchange 更改<br />
　　Onfocus 聚焦事件<br />
　　Onselect 选取事件</p>
<p>　　B.30 textarea对象<br />
　　它是form对象的一个属性,宙体中的一个文本区域(&lt;TEXTAREA&gt;)。<br />
　　属性<br />
　　defaultValue textarea对象的缺省值(VALUE=特性)<br />
　　name 该对象的名字(NAME=特性)<br />
　　value 该域具有的当前值,最初与VALUE=特性(defaultValue)相同,但是,如果脚本修改了该域中的值,则该值将改变了。<br />
　　方法<br />
　　blur 把焦点从文本区移开<br />
　　focus 把焦点移到文本区<br />
　　select 选择输入区域事件处理程序<br />
　　事件处理程序<br />
　　Onblur 失去焦点事件<br />
　　Onchange 更改<br />
　　Onfocus 聚焦事件<br />
　　Onselect 选取事件</p>
<p>　　B.31 window对象<br />
　　它是一个顶层对象,而不是另一个对象的属性即浏览器的窗口。<br />
　　属性<br />
　　defaultStatus 缺省的状态条消息<br />
　　document 当前显示的文档(该属性本身也是一个对象)<br />
　　frame 窗口里的一个框架((FRAME&gt;)(该属性本身也是一个对象)<br />
　　frames array 列举窗口的框架对象的数组,按照这些对象在文档中出现的顺序列出(该属性本身也是一个对象)<br />
　　history 窗口的历史列表(该属性本身也是一个对象)<br />
　　length 窗口内的框架数<br />
　　location 窗口所显示文档的完整(绝对)URL(该属性本身也是一个对象)不要把它与如document.location混淆,后者是当前显示文档的URL。用户可以改变window.location(用另一个文档取代当前文档),但却不能改变document.location(因为这是当前显示文档的位置)<br />
　　name 窗口打开时,赋予该窗口的名字<br />
　　opener 代表使用window.open打开当前窗口的脚本所在的窗口(这是Netscape Navigator 3.0beta 3所引入的一个新属性)<br />
　　parent 包含当前框架的窗口的同义词。frame和window对象的一个属性<br />
　　self 当前窗口或框架的同义词<br />
　　status 状态条中的消息<br />
　　top 包含当前框架的最顶层浏览器窗口的同义词<br />
　　window 当前窗口或框架的同义词,与self相同<br />
　　方法<br />
　　alert() 打开一个Alert消息框<br />
　　clearTimeout() 用来终止setTimeout方法的工作<br />
　　close() 关闭窗口<br />
　　confirm() 打开一个Confirm消息框,用户可以选择OK或Cancel,如果用户单击OK,该方法返回true,单击Cancel返回false<br />
　　blur() 把焦点从指定窗口移开(这是Netscape Navigator 3.0 beta 3引入的新方法)<br />
　　focus() 把指定的窗口带到前台(另一个新方法)<br />
　　open() 打开一个新窗口<br />
　　prompt() 打开一个Prompt对话框,用户可向该框键入文本,并把键入的文本返回到脚本<br />
　　setTimeout() 等待一段指定的毫秒数时间,然后运行指令事件处理程序<br />
　　事件处理程序<br />
　　Onload() 页面载入时触发<br />
　　Onunload() 页面关闭时触发</p>
<img src ="http://www.cnblogs.com/meil/aggbug/938462.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>解决RUN的路径里有空格的问题</title><link>http://www.cnblogs.com/meil/archive/2007/10/26/938456.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 26 Oct 2007 03:29:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/26/938456.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/938456.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/26/938456.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/938456.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/938456.html</trackback:ping><description><![CDATA[<p>在VBS中，如果RUN的路径里有空格，一般情况下都要将路径进行转换，转换成VBS认识的格式，如：路径C:\Program Files\1.bat一般要写成：C:\Progra~1\1.bat，这本来也没有什么，只是我对这种转换德规则不是很熟悉，在转换中经常出现错误。</p>
<p>幸好在 <font color="#ff0000">优游天下</font> 中发现了这么一段代码可以解决这个矛盾。现将代码抄录如下：<br />
Dim Wsh<br />
Set Wsh = WScript.CreateObject("WScript.Shell")<br />
WScript.Sleep(60000)<br />
Wsh.Run <font color="#ff0000">chr(34) &amp;</font> "C:\Program Files\1.bat" <font color="#ff0000">&amp; chr(34)</font>,,True<br />
Set Wsh=NoThing <br />
WScript.quit</p>
<img src ="http://www.cnblogs.com/meil/aggbug/938456.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>windows2003下使用WScript.Shell</title><link>http://www.cnblogs.com/meil/archive/2007/10/26/938307.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 26 Oct 2007 02:24:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/26/938307.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/938307.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/26/938307.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/938307.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/938307.html</trackback:ping><description><![CDATA[
<p>在windows2000下，IIS默认设置是可以web和可执行程序通信的。但是在2003下IIS关于这方面的服务是禁止的。<br />
我现在遇到的问题是，利用web和一个带参数的可执行程序连接。并运行这个带参赛的可执行程序。<br />
在windows2003下用asp中的Server.CreateObject("WScript.Shell") 运行没有出现错误，但是并没有执行。<br />
但是在windows2000下可以执行。<br />
呵呵，意识到那是IIS开的玩笑。<br />
在windows2003下如果支持Server.CreateObject("WScript.Shell") </p>
<p>你必须设置一下内容</p>
<p>1：在&#8220;Web服务扩展&#8221;中Active Server Pages,Internet 数据连接器，RPC代理服务扩展，以及在服务器端的包含文件都必须置为允许状况</p>
<p>2：&#8220;网站&#8221;－》属性－》主目录－》配置－》选项－》启动父路径</p>
<p>3：&#8220;网站&#8221;－》属性－》服务－》在隔离模式中选中&#8220;以IIS5.0隔离模式运行WWW服务&#8221;</p>
<p>4：开始－》程序－》管理工具－》服务.找到RPC服务，双击－》登录－》允许服务与桌面交互</p>
<p>这样在windows2003下就可以运行asp的Server.CreateObject("WScript.Shell") </p>
<p>本来我是想用asp.net做这个程序，在asp.netzh中也是一直存在这个问题。所以该用asp<br />
在asp可以实现功能了。我就没有在asp.net下做，诸位如果有兴趣可以试一试！</p><img src ="http://www.cnblogs.com/meil/aggbug/938307.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>ASP网页中使用 Wscript.Shell 执行文件</title><link>http://www.cnblogs.com/meil/archive/2007/10/26/938303.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 26 Oct 2007 02:21:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/26/938303.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/938303.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/26/938303.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/938303.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/938303.html</trackback:ping><description><![CDATA[<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;language</span><span style="color: #000000">=</span><span style="color: #000000">VBscript</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;</span><span style="color: #0000ff">Set</span><span style="color: #000000">&nbsp;WshShell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">CreateObject</span><span style="color: #000000">(</span><span style="color: #000000">"</span><span style="color: #000000">WScript.Shell</span><span style="color: #000000">"</span><span style="color: #000000">)<br />
</span><span style="color: #008080">3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;WshShell.Run&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">%windir%\notepad</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;,</span><span style="color: #000000">3</span><span style="color: #000000">,</span><span style="color: #0000ff">false</span><span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">&lt;/</span><span style="color: #000000">script</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">5</span>&nbsp;</div>
<br />
但是这要看客户端IE的安全设定<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">1</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">script&nbsp;language</span><span style="color: #000000">=</span><span style="color: #000000">javascript</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
</span><span style="color: #008080">2</span>&nbsp;<span style="color: #000000">&lt;</span><span style="color: #000000">!</span><span style="color: #000000">--</span><span style="color: #000000"><br />
</span><span style="color: #008080">3</span>&nbsp;<span style="color: #0000ff">function</span><span style="color: #000000">&nbsp;aa(){<br />
</span><span style="color: #008080">4</span>&nbsp;<span style="color: #000000">var&nbsp;WshShell&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ActiveXObject(</span><span style="color: #000000">"</span><span style="color: #000000">WScript.Shell</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">5</span>&nbsp;<span style="color: #000000">var&nbsp;oExec&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;WshShell.Exec(</span><span style="color: #000000">"</span><span style="color: #000000">notepad</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
</span><span style="color: #008080">6</span>&nbsp;<span style="color: #000000">}<br />
</span><span style="color: #008080">7</span>&nbsp;<span style="color: #000000">--&gt;</span></div>
<br />
<img src ="http://www.cnblogs.com/meil/aggbug/938303.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47957/" target="_blank">乔布斯和埃利森</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>JavaScript的9个陷阱</title><link>http://www.cnblogs.com/meil/archive/2007/10/19/930950.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 19 Oct 2007 13:26:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/19/930950.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/930950.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/19/930950.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/930950.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/930950.html</trackback:ping><description><![CDATA[<p>　　来自Nine Javascript Gotchas, 以下是JavaScript容易犯错的九个陷阱。虽然不是什么很高深的技术问题，但注意一下，会使您的编程轻松些，即所谓make life easier. 笔者对某些陷阱会混杂一些评点。</p>
<p>　　1、<strong>最后一个逗号</strong></p>
<p>　　如这段代码，注意最后一个逗号，按语言学角度来说应该是不错的（python的类似数据类型辞典dictionary就允许如此）。IE会报语法错误，但语焉不详，你只能用人眼从几千行代码中扫描。</p>
<p>　　&lt;script&gt;</p>
<p>　　var theObj = {</p>
<p>　　city : "Boston",</p>
<p>　　state : "MA",</p>
<p>　　}</p>
<div>　　&lt;/script&gt; </div>
<div>
<p>　　2、<strong>this的引用会改变</strong></p>
</div>
<p>　　如这段代码：</p>
<p>　　&lt;input type="button" value="Gotcha!" id="MyButton" &gt;</p>
<p>　　&lt;script&gt;</p>
<p>　　var MyObject = function () {</p>
<p>　　this.alertMessage = "Javascript rules";</p>
<p>　　this.ClickHandler = function() {</p>
<p>　　alert(this.alertMessage );</p>
<p>　　}</p>
<p>　　}();</p>
<p>　　document.getElementById(&#8221;theText&#8221;).onclick =&nbsp; MyObject.ClickHandler</p>
<p>　　&lt;/script&gt;并不如你所愿，答案并不是&#8221;JavaScript rules&#8221;。在执行MyObject.ClickHandler时，代码中红色这行，this的引用实际上指向的是document.getElementById("theText")的引用。可以这么解决：</p>
<p>　　&lt;input type="button" value="Gotcha!" id="theText" &gt;</p>
<p>　　&lt;script&gt;</p>
<p>　　var MyObject = function () {</p>
<p>　　var self = this;</p>
<p>　　this.alertMessage = &#8220;Javascript rules&#8221;;</p>
<p>　　this.OnClick = function() {</p>
<p>　　alert(self.value);</p>
<p>　　}</p>
<p>　　}();</p>
<p>　　document.getElementById(&#8221;theText&#8221;).onclick =&nbsp; MyObject.OnClick</p>
<p>　　&lt;/script&gt;实质上，这就是JavaScript作用域的问题。如果你看过，你会发现解决方案不止一种。</p>
<p>　　<strong>3、标识盗贼</strong></p>
<p>　　在JavaScript中不要使用跟HTML的id一样的变量名。如下代码：</p>
<p>　　&lt;input type="button" id="TheButton"&gt;</p>
<p>　　&lt;script&gt;</p>
<p>　　TheButton = get("TheButton");</p>
<p>　　&lt;/script&gt;IE会报对象未定义的错误。我只能说：IE sucks.</p>
<p>　　4、<strong>字符串只替换第一个匹配</strong></p>
<p>　　如下代码：</p>
<p>　　&lt;script&gt;</p>
<p>　　var fileName = "This is a title".replace(" ","_");</p>
<p>　　&lt;/script&gt;而实际上，结果是&#8221;This_is a title&#8220;. 在JavaScript中，String.replace的第一个参数应该是正则表达式。所以，正确的做法是这样：</p>
<div>　　var fileName = "This is a title".replace(/ /g,"_");</div>
<p><br />
&nbsp;</p>
<div>　　5、<strong>mouseout意味着mousein</strong></div>
<p>　　事实上，这是由于事件冒泡导致的。IE中有mouseenter和mouseleave，但不是标准的。作者在此建议大家使用库比如YUI来解决问题。</p>
<p>　　6、<strong>parseInt是基于进制体系的</strong></p>
<p>　　这个是常识，可是很多人给忽略了parseInt还有第二个参数，用以指明进制。比如，parseInt("09")，如果你认为答案是9，那就错了。因为，在此，字符串以0开头，parseInt以八进制来处理它，在八进制中，09是非法，返回false，布尔值false转化成数值就是0. 因此，正确的做法是parseInt("09", 10).</p>
<p>　　7、<strong>for...in...会遍历所有的东西</strong></p>
<p>　　有一段这样的代码：</p>
<p>　　var arr = [5,10,15]</p>
<p>　　var total = 1;</p>
<p>　　for ( var x in arr) {</p>
<p>　　total = total * arr[x];</p>
<p>　　}运行得好好的，不是吗？但是有一天它不干了，给我返回的值变成了NaN, 晕。我只不过引入了一个库而已啊。原来是这个库改写了Array的prototype，这样，我们的arr平白无过多出了一个属性（方法），而for...in...会把它给遍历出来。所以这样做才是比较安全的：</p>
<p>　　for ( var x = 0; x &lt; arr.length; x++) {</p>
<p>　　total = total * arr[x];</p>
<p>　　}其实，这也是污染基本类的prototype会带来危害的一个例证。</p>
<p>　　8、<strong>事件处理器的陷阱</strong></p>
<p>　　这其实只会存在使用作为对象属性的事件处理器才会存在的问题。比如window.onclick = MyOnClickMethod这样的代码，这会复写掉之前的window.onclick事件，还可能导致IE的内容泄露（sucks again）。在IE还没有支持DOM 2的事件注册之前，作者建议使用库来解决问题，比如使用YUI:</p>
<p>　　YAHOO.util.Event.addListener(window, "click", MyOnClickMethod);这应该也属于常识问题，但新手可能容易犯错。</p>
<p>　　9、<strong>Focus Pocus</strong></p>
<p>　　新建一个input文本元素，然后把焦点挪到它上面，按理说，这样的代码应该很自然：</p>
<p>　　var newInput = document.createElement("input");</p>
<p>　　document.body.appendChild(newInput);</p>
<p>　　newInput.focus();</p>
<p>　　newInput.select();但是IE会报错（sucks again and again）。理由可能是当你执行fouce()的时候，元素尚未可用。因此，我们可以延迟执行：</p>
<p>　　var newInput = document.createElement("input");</p>
<p>　　newInput.id = "TheNewInput";</p>
<p>　　document.body.appendChild(newInput);</p>
<p>　　setTimeout(function(){ //这里我使用闭包改写过，若有兴趣可以对比原文</p>
<p>　　&nbsp;document.getElementById('TheNewInput').focus();</p>
<p>　　&nbsp;document.getElementById('TheNewInput').select();}, 10);在实践中，JavaScript的陷阱还有很多很多，大多是由于解析器的实现不到位而引起。这些东西一般都不会在教科书中出现，只能靠开发者之间的经验分享。谢天谢地，我们生活在网络时代，很多碰到的问题，一般都可以在Google中找到答案。</p>
<p><br />
<font color="#2e496d">本文永久地址: </font><a href="http://www.livebaby.cn/blog/u/meil/archives/2007/2633.html">http://www.livebaby.cn/blog/u/meil/archives/2007/2633.html</a><br />
</p>
<img src ="http://www.cnblogs.com/meil/aggbug/930950.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>使用JavaScript将字符串数据转换为XML</title><link>http://www.cnblogs.com/meil/archive/2007/10/19/930947.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 19 Oct 2007 13:25:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/10/19/930947.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/930947.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/10/19/930947.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/930947.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/930947.html</trackback:ping><description><![CDATA[<strong>在java端将字符串转化为xml对象可以使用DocumentHelper.parseText(xmlReturn).getRootElement();</strong>
<p><span style="font-size: 12pt">　　在js中同样有方法可以将字符串转化为xml对象，可以使用如下函数</span></p>
<p>
<table style="width: 100%; border-collapse: collapse">
    <tbody>
        <tr>
            <td style="border-right: #666666 1px solid; border-top: #666666 1px solid; border-left: #666666 1px solid; border-bottom: #666666 1px solid">
            <p class="code">function createXml(str){ <br />
            　　if(document.all){ <br />
            　　var xmlDom=new ActiveXObject("Microsoft.XMLDOM") <br />
            　　xmlDom.loadXML(str) <br />
            　　return xmlDom <br />
            　　} <br />
            　　else <br />
            　　return new DOMParser().parseFromString(str, "text/xml") <br />
            　　}</p>
            </td>
        </tr>
    </tbody>
</table>
</p>
<div>&nbsp;</div>
<div><span style="font-size: 12pt">　　如果在js端是读取文件，那就更方便了</span></div>
<p>
<table style="width: 100%; border-collapse: collapse">
    <tbody>
        <tr>
            <td style="border-right: #666666 1px solid; border-top: #666666 1px solid; border-left: #666666 1px solid; border-bottom: #666666 1px solid">
            <p class="code">var xmlDoc = new ActiveXObject("Msxml2.DOMDocument.3.0"); <br />
            　　xmlDoc.async = false; <br />
            　　xmlDoc.load("文件路径");</p>
            </td>
        </tr>
    </tbody>
</table>
</p>
<div>&nbsp;</div>
<div><span style="font-size: 12pt">　　至于操作xml也是很简单，如果会使用jdom或是dom4j的话，操作也是相当方便。</span></div>
<p>
<table style="width: 100%; border-collapse: collapse">
    <tbody>
        <tr>
            <td style="border-right: #666666 1px solid; border-top: #666666 1px solid; border-left: #666666 1px solid; border-bottom: #666666 1px solid">
            <p class="code">var domxml= createXml(Http.responseText); <br />
            　　var code=domxml.getElementsByTagName("code"); <br />
            　　if(code.item(0).text=="100"){ <br />
            　　var parameter=domxml.getElementsByTagName("parameter"); <br />
            　　identifier=parameter.item(0).attributes.getNamedItem("value").value; <br />
            　　}</p>
            </td>
        </tr>
    </tbody>
</table>
</p>
<div>&nbsp;</div>
<div><span style="font-size: 12pt">　　对于节点的值和属性的值获取的方法不同。</span></div>
<br />
<font color="#2e496d">本文永久地址: </font><a href="http://www.livebaby.cn/blog/u/meil/archives/2007/2637.html">http://www.livebaby.cn/blog/u/meil/archives/2007/2637.html</a><br />
<img src ="http://www.cnblogs.com/meil/aggbug/930947.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47956/" target="_blank">Xbox Live将投放Silverlight广告</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>正则表达式的威力--轻松消除HTML代码</title><link>http://www.cnblogs.com/meil/archive/2007/09/14/875874.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Fri, 14 Sep 2007 15:03:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/09/14/875874.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/875874.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/09/14/875874.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/875874.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/875874.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 正则表达式再次让我震撼，寥寥数行代码就可以完成普通代码不易实现的功能，至少是实现起来比较复杂的功能。<br />
<br />
一、清楚内容中的Javsscript 代码</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">Function&nbsp;ClearJSCode(originCode)<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;Dim&nbsp;reg<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;set&nbsp;reg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;New&nbsp;RegExp<br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;reg.Pattern&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;SCRIPT[^&lt;]*&lt;/SCRIPT&gt;</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;reg.IgnoreCase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;True<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;reg.Global&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;True<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;clearJSCode&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reg.Replace(originCode,&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">)<br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">13</span>&nbsp;<span style="color: #000000">End&nbsp;Function<br />
</span><span style="color: #008080">14</span>&nbsp;</div>
<p>&nbsp;二、清除内容中的HTML代码</p>
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><span style="color: #008080">&nbsp;1</span>&nbsp;<span style="color: #000000">Function&nbsp;ClearHTMLCode(originCode)<br />
</span><span style="color: #008080">&nbsp;2</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;3</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;reg&nbsp;<br />
</span><span style="color: #008080">&nbsp;4</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;reg&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;RegExp&nbsp;<br />
</span><span style="color: #008080">&nbsp;5</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;6</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;reg.Pattern&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">&lt;[^&gt;]*&gt;</span><span style="color: #000000">"</span><span style="color: #000000"><br />
</span><span style="color: #008080">&nbsp;7</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;reg.IgnoreCase&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;True<br />
</span><span style="color: #008080">&nbsp;8</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;reg.Global&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;True<br />
</span><span style="color: #008080">&nbsp;9</span>&nbsp;<span style="color: #000000">&nbsp;<br />
</span><span style="color: #008080">10</span>&nbsp;<span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;ClearHTMLCode&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;reg.Replace(originCode,&nbsp;</span><span style="color: #000000">""</span><span style="color: #000000">)<br />
</span><span style="color: #008080">11</span>&nbsp;<span style="color: #000000"><br />
</span><span style="color: #008080">12</span>&nbsp;<span style="color: #000000">End&nbsp;Function<br />
</span><span style="color: #008080">13</span>&nbsp;</div>
<br />
<br />
现在好多网站的内容都是使用采集程序生成的，使用上边的代码就可以轻松的将内容中的HTML和JS代码清除掉。<img src ="http://www.cnblogs.com/meil/aggbug/875874.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47951/" target="_blank">Debian无视GNU创始人警告 接受Mono</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>EditPlue使用进阶之正则表达式</title><link>http://www.cnblogs.com/meil/archive/2007/08/09/849892.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Thu, 09 Aug 2007 13:24:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/08/09/849892.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/849892.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/08/09/849892.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/849892.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/849892.html</trackback:ping><description><![CDATA[<div><span style="font-size: 12pt"><strong>EditPlus 支持以下的正则表达式，可以用于 查找， 替换 和在文件中查找等命令。<br />
</strong><br />
<br />
表达式&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;说明</span></div>
<span style="font-size: 12pt">
<div>
<hr />
</div>
<div><strong>\t</strong>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 制表符.<br />
<strong>\n</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;新行.<br />
<strong>.&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;匹配任意字符.<br />
<strong>|</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".<br />
<strong>[]&nbsp;&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.<br />
<strong>[^]&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符.<br />
<strong>*&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其左边的字符被匹配任意次(0次，或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee".<br />
<strong>+</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其左边的字符被匹配至少一次(1次，或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b".<br />
<strong>?&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee".<br />
<strong>^</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行.<br />
<strong>$</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;其左边的表达式被匹配在一行的结尾. 例如 "e$" 仅仅匹配以 "e" 结尾的行.<br />
<strong>()</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;影响表达式匹配的顺序，并且用作表达式的分组标记.<br />
<strong>\&nbsp;</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\".<br />
</div>
<div>
<hr />
</div>
<div><br />
表达式的分组使用()来标记. 表达式的分组可以被引用为 \0, \1, \2, \3, 等等. \0 表示被匹配的所有字符串. \1 表示被匹配的第一个分组, \2 表示第二个分组, 依此类推. 举例如下.<br />
<br />
原文&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;查找&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;替换&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;结果</div>
<div>
<hr />
abc&nbsp; &nbsp;&nbsp;&nbsp;(ab)(c)&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;\0-\1-\2&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;abc-ab-c <br />
abc&nbsp; &nbsp;&nbsp;&nbsp;a(b)(c)&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;\0-\1-\2&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;abc-b-c <br />
abc&nbsp; &nbsp;&nbsp;&nbsp;(a)b(c)&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;\0-\1-\2&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;abc-a-c<br />
<br />
<br />
<strong style="color: #000080">1、替换日期：2000/[0-9]+/[0-9]+<br />
</strong>将2000/XX/XX或2000/X/X或2000/X/XX等格式的日期替换为指定的日期<br />
<br />
原文：<a href="http://www.livebaby.cn/blog/u/meil/archives/2007/1568.html">http://www.livebaby.cn/blog/u/meil/archives/2007/1568.html</a></div>
</span><img src ="http://www.cnblogs.com/meil/aggbug/849892.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47950/" target="_blank">iPhone 3GS首发日创AT&T多项纪录</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>只需一行代码就能让IE 6崩溃</title><link>http://www.cnblogs.com/meil/archive/2007/08/07/846758.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Tue, 07 Aug 2007 11:55:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/08/07/846758.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/846758.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/08/07/846758.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/846758.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/846758.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在一个<a href="http://d.hatena.ne.jp/Hamachiya2/20070804/browser_crasher">日本博客</a>上发现的只需一行代码就能让IE6崩溃,代码如下:<br><span style="COLOR: #ff0000">&lt;style&gt;*{position:relative}&lt;/style&gt;&lt;table&gt;&lt;input&gt;&lt;/table&gt;</span><br>这行代码在Firefox,Safari和Opera都能正确解析,但是在IE 6下却会引起mshtml.dll致命错误.<br><img src ="http://www.cnblogs.com/meil/aggbug/846758.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47949/" target="_blank">Silverlight开发大赛奖金高达10000美元</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>微软印度将成为Windows 7的开发中心</title><link>http://www.cnblogs.com/meil/archive/2007/08/04/843291.html</link><dc:creator>meil</dc:creator><author>meil</author><pubDate>Sat, 04 Aug 2007 15:33:00 GMT</pubDate><guid>http://www.cnblogs.com/meil/archive/2007/08/04/843291.html</guid><wfw:comment>http://www.cnblogs.com/meil/comments/843291.html</wfw:comment><comments>http://www.cnblogs.com/meil/archive/2007/08/04/843291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/meil/comments/commentRss/843291.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/meil/services/trackbacks/843291.html</trackback:ping><description><![CDATA[<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 最新消息,设计者和工程人员已经在Microsoft R&amp;D印度中心集结开发Windows 7,该系统的发布日期大约在2009年10月.<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前已知新的操作系统将对网络相关的特性进行增强,并提供对虚拟化的支持.微软高级副总裁Jon DeVaan先生宣称他们已经在印度建立了必要的发展平台,开发重心将转移到微软印度.该系统实际上就是Windows Me发布时传出的BlackComb计划,虽后来被取消,但Windows 7很明显与当时的开发计划时间相当吻合.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 除此之外,工程师们还介绍了虚拟化计算机的概念,每一台虚拟机都是逻辑上的独立、完整的计算机,同时运行多个操作系统而没有目前主机端的依赖性结构.</p><img src ="http://www.cnblogs.com/meil/aggbug/843291.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47947/" target="_blank">微软告攒机商第一案胜诉</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>