﻿<?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>博客园-Aricc</title><link>http://www.cnblogs.com/Aricc/</link><description>Aricc's Space</description><language>zh-cn</language><lastBuildDate>Wed, 03 Dec 2008 03:55:33 GMT</lastBuildDate><pubDate>Wed, 03 Dec 2008 03:55:33 GMT</pubDate><ttl>60</ttl><item><title>关于System.Web.HttpContext.Current.Session 为 null的问题</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342693.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Thu, 27 Nov 2008 14:55:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342693.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1342693.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342693.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1342693.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1342693.html</trackback:ping><description><![CDATA[<p>在HttpHandler程序中使用Session时发现,报如题所示的错误，Google了一下，实现了<span style="color: #ff0000;">IRequiresSessionState</span>接口后解决了。</p>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> LogOut : IHttpHandler, <span style="color: #ff0000;">IRequiresSessionState</span></span></pre>
</div>
<pre></pre>
<p><br />在这里记一下，也希望对其它人有帮助。</p><img src ="http://www.cnblogs.com/Aricc/aggbug/1342693.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43772/" target="_blank">[新闻]Digg创始人：不再考虑出售公司 将适机并购</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>一个FTP上传组件及使用注意事项</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342328.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Thu, 27 Nov 2008 07:33:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342328.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1342328.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/27/1342328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1342328.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1342328.html</trackback:ping><description><![CDATA[<p>下面是使用示例。<br />传输方式最好用BINARY，如果用ASCII，会改变文件的编码格式。</p>
<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #000000;">ftp </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> EnterpriseDT.Net.Ftp.FTPClient(ftpip, ftpport);<br />ftp.Login(ftpusername, ftppassword);<br />ftp.ConnectMode </span><span style="color: #000000;">=</span><span style="color: #000000;"> EnterpriseDT.Net.Ftp.FTPConnectMode.ACTIVE;<br />ftp.TransferType </span><span style="color: #000000;">=</span><span style="color: #000000;"> EnterpriseDT.Net.Ftp.FTPTransferType.BINARY;<br />ftp.Put(filename);<br />ftp.Quit();</span></pre>
</div>
<p>&nbsp;</p>
<pre></pre>
<p><a href="http://gx007d.mofile.com/5694661271640881/RGlzazIvMTcvMTc0MzkxNzEyMi82LzYwNDQ5MjUyMjgzMjQyMw../FTPClient.rar" target="_blank">源文件</a></p><img src ="http://www.cnblogs.com/Aricc/aggbug/1342328.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43772/" target="_blank">[新闻]Digg创始人：不再考虑出售公司 将适机并购</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>存储过程调用DTS包实现大批量数据导入</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341614.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 08:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341614.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341614.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341614.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341614.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341614.html</trackback:ping><description><![CDATA[<p>存储过程执行DTS包</p>
<div class="cnblogs_code">
<pre><span style="color: #0000FF;">set</span><span style="color: #000000;"> </span><span style="color: #008000;">@shellSql</span><span style="color: #000000;"> </span><span style="color: #808080;">=</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">dtsrun /S "</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #008000;">@serverip</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">" /U "</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #008000;">@user</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">" /P "</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #008000;">@pwd</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">" /N "gz_ParseFile_City" /A "type_id":"19"="</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">cast</span><span style="color: #000000;">(</span><span style="color: #008000;">@type_id</span><span style="color: #000000;">  </span><span style="color: #0000FF;">as</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">)<br />                </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">" /A "filename":"8"="</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #008000;">@file_name</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">" /A "cityID":"19"="</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">cast</span><span style="color: #000000;">(</span><span style="color: #008000;">@cityID</span><span style="color: #000000;"> </span><span style="color: #0000FF;">as</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">) </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">"</span><span style="color: #FF0000;">'</span><span style="color: #000000;"><br /><br /><br /></span><span style="color: #0000FF;">exec</span><span style="color: #000000;"> master..xp_cmdshell </span><span style="color: #008000;">@shellSql</span></pre>
</div>
<p>&nbsp;</p>
<p>具体参数如何使用请看下面从Sql Server帮助里复制过来的内容：</p>
<p>&nbsp;</p>
<pre></pre>
<div><br />
<h1><a name="_dtsrun70_utility"></a>dtsrun 实用工具</h1>
<p><strong>dtsrun </strong>实用工具执行用数据转换服务 (DTS) 创建的包。DTS 包可存储在 Microsoft&reg; SQL Server&trade; 2000 <strong>msdb</strong> 数据库、COM 结构化存储文件或 SQL Server Meta Data Services 中。</p>
<h5>语法</h5>
<p><strong>dtsrun</strong> <br /><strong>[/</strong>?<strong>]</strong>|<br />[<br />&nbsp;&nbsp;&nbsp;&nbsp;[<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong>/</strong>[<strong>~</strong>]<strong>S</strong> <em>server_name</em>[<strong>\</strong><em>instance_name</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ {<strong>/</strong>[<strong>~</strong>]<strong>U</strong> <em>user_name</em> [<strong>/</strong>[<strong>~</strong>]<strong>P</strong> <em>password</em>]} | <strong>/E</strong> }<br />&nbsp;&nbsp;&nbsp;&nbsp;]<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<strong>/</strong>[~]<strong>N</strong> <em>package_name</em> }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| {<strong>/</strong>[~]<strong>G</strong> <em>package_guid_string</em>}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| {<strong>/</strong>[~]<strong>V</strong> <em>package_version_guid_string</em>}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/</strong>[~]<strong>M</strong> <em>package_password</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/</strong>[<strong>~</strong>]<strong>F</strong> <em>filename</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/</strong>[~]<strong>R</strong> <em>repository_database_name</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/A</strong> <em>global_variable_name:typeid=value</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/L</strong> <em>log_file_name</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[<strong>/W</strong> <em>NT_event_log_completion_status</em>]<br />&nbsp;&nbsp;&nbsp;&nbsp;[/Z] [<strong>/!X</strong>] [<strong>/!D</strong>] [<strong>/!Y</strong>] [<strong>/!C</strong>]<br />]</p>
<p><strong>/?</strong></p>
<p class="indent">显示命令提示选项。</p>
<p><strong>~</strong></p>
<p class="indent">指定接下来的参数采取十六进制文本表示加密的参数值。可以和 <strong>/S</strong>、<strong>/U</strong>、<strong>/P</strong>、<strong>/N</strong>、<strong>/G</strong>、<strong>/V</strong>、<strong>/M</strong>、<strong>/F </strong>和 <strong>/R </strong>选项一起使用。使用加密的值增加了用于执行 DTS 包的命令的安全性，因为服务器名称、密码等等都不可见。使用 <strong>/!Y </strong>确定加密的命令。</p>
<p><span style="color: #ff0000;"><strong>/S</strong> <em>server_name</em>[<strong>\</strong><em>instance_name</em>]</span></p>
<p class="indent">指定要连接到的 SQL Server 实例。指定用于连接到该服务器上的 SQL Server 默认实例的 <em>server_name</em>。指定用于连接到该服务器上的 SQL Server 2000 命名实例的 <em>server_name</em><strong>\</strong><em>instance_name</em>。</p>
<p><span style="color: #ff0000;"><strong>/U </strong><em>user_name</em></span></p>
<p class="indent">是用于连接到 SQL Server 实例的登录 ID。</p>
<p><span style="color: #ff0000;"><strong>/P </strong><em>password</em></span></p>
<p class="indent">是同登录 ID 一起使用的用户指定的密码。</p>
<p><strong>/E</strong></p>
<p class="indent">指定信任连接（不需密码）。</p>
<p><span style="color: #ff0000;"><strong>/N </strong><em>package_name</em></span></p>
<p class="indent">当创建 DTS 包时为包所指派的名称。</p>
<p><strong>/G</strong> <em>package_guid_string</em></p>
<p class="indent">当创建 DTS 包时指派给它的包 ID。该包 ID 是 GUID。</p>
<p><strong>/V </strong><em>package_version_guid_string</em></p>
<p class="indent">当第一次保存或执行 DTS 包时指派给它的版本 ID。每次修改 DTS 包时都指派给它新的版本 ID。该版本 ID 是 GUID。</p>
<p><strong>/M </strong><em>package_password</em></p>
<p class="indent">当创建 DTS 包时指派给它的可选密码。</p>
<p><strong>/F </strong><em>filename</em></p>
<p class="indent">包含 DTS 包的结构化存储文件的名称。如果也指定了 <em>server_name</em>，则执行从 SQL Server 中检索到的 DTS 包并且将该包添加到结构化存储引擎。</p>
<p><strong>/R </strong><em>repository_database_name</em></p>
<p class="indent">包含 DTS 包的知识库数据库名称。如果没有指定名称，则使用默认的数据库名称。 </p>
<p><span style="color: #ff0000;"><strong>/A</strong> <em>global_variable_name:typeid=value</em></span></p>
<p class="indent">指定一个包全局变量，其中 <em>typeid</em> = 全局变量数据类型的类型标识符。可以引用整个参数字符串。该参数可重复使用以指定多个全局变量。<span style="color: #ff0000;">有关全局变量的各种可用类型标识符的信息，请参见下面的表1</span>。</p>
<p class="indent">若要使用该命令开关设置全局变量，必须有包的所有者权限或者该包必须已在未启用 DTS 密码保护的状态保存。如果没有所有者权限，可以指定全局变量，但是所用的值将是设置在包中的值，而不是那些用 <strong>/A </strong>命令开关指定的值。</p>
<p><strong>/L</strong> <em>log_file_name:</em></p>
<p class="indent">指定包日志文件的名称。</p>
<p><strong>/W</strong> <em>Windows_Event_Log</em></p>
<p class="indent">指定是否在 Windows 应用程序日志中写入包执行的完成状态。指定 <strong>True</strong> 或 <strong>False</strong>。</p>
<p><strong>/Z</strong></p>
<p class="indent">指示使用 SQL Server 2000 加密对 dtsrun 命令行进行加密。</p>
<p><strong>/!X</strong></p>
<p class="indent">阻塞选定 DTS 包的执行。当想要无须执行包便能创建加密的命令行时，使用该命令参数。如果未指定此选项，则将立即执行 DTS 包。</p>
<p><strong>/!D</strong></p>
<p class="indent">从 SQL Server 实例中删除 DTS 包。将不执行此包。从结构化存储文件中删除特定的 DTS 包是不能实现的。需要使用 <strong>/F</strong> 和 <strong>/S</strong> 选项重写整个文件。</p>
<p><strong>/!Y</strong></p>
<p class="indent">显示用于执行 DTS 包的加密命令，但不执行该命令。</p>
<p><strong>/!C</strong></p>
<p class="indent">将用于执行 DTS 包的命令复制到 Microsoft Windows&reg; 剪贴板上。此选项也可与 <strong>/!X</strong> 和 <strong>/!Y </strong>一起使用。 </p>
<p class="indent">表1：</p>
<p class="indent">
<table border="1" cellpadding="2" width="595" frame="box" rules="all">
<tbody>
<tr valign="top">
<th class="label" width="50%">数据类型</th><th class="label" width="50%">类型 ID</th>
</tr>
<tr valign="top">
<td width="50%">Integer (small)</td>
<td width="50%">2</td>
</tr>
<tr valign="top">
<td width="50%">Integer</td>
<td width="50%">3</td>
</tr>
<tr valign="top">
<td width="50%">Real (4-byte)</td>
<td width="50%">4</td>
</tr>
<tr valign="top">
<td width="50%">Real (8-byte)</td>
<td width="50%">5</td>
</tr>
<tr valign="top">
<td width="50%">Currency</td>
<td width="50%">6</td>
</tr>
<tr valign="top">
<td width="50%">Date</td>
<td width="50%">7</td>
</tr>
<tr valign="top">
<td width="50%">String</td>
<td width="50%">8</td>
</tr>
<tr valign="top">
<td width="50%">Boolean</td>
<td width="50%">11</td>
</tr>
<tr valign="top">
<td width="50%">Decimal</td>
<td width="50%">14</td>
</tr>
<tr valign="top">
<td width="50%">Integer (1-byte)</td>
<td width="50%">16</td>
</tr>
<tr valign="top">
<td width="50%">Unsigned int (1-byte)</td>
<td width="50%">17</td>
</tr>
<tr valign="top">
<td width="50%">Unsigned int (2-byte)</td>
<td width="50%">18</td>
</tr>
<tr valign="top">
<td width="50%">Unsigned int (4-byte)</td>
<td width="50%">19</td>
</tr>
<tr valign="top">
<td width="50%">Integer (8-byte)</td>
<td width="50%">20</td>
</tr>
<tr valign="top">
<td width="50%">Unsigned int (8-byte)</td>
<td width="50%">21</td>
</tr>
<tr valign="top">
<td width="50%">Int</td>
<td width="50%">22</td>
</tr>
<tr valign="top">
<td width="50%">Unsigned int</td>
<td width="50%">23</td>
</tr>
<tr valign="top">
<td width="50%">HRESULT</td>
<td width="50%">25</td>
</tr>
<tr valign="top">
<td width="50%">Pointer</td>
<td width="50%">26</td>
</tr>
<tr valign="top">
<td width="50%">LPSTR</td>
<td width="50%">30</td>
</tr>
<tr valign="top">
<td width="50%">LPWSTR</td>
<td width="50%">31</td>
</tr>
</tbody>
</table>
</p>
</div><img src ="http://www.cnblogs.com/Aricc/aggbug/1341614.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>存储过程示例-临时表代替游标</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341600.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 08:49:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341600.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341600.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341600.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341600.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341600.html</trackback:ping><description><![CDATA[<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #008080;">/*</span><span style="color: #008080;"><br />    手机动作统计<br /></span><span style="color: #008080;">*/</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">CREATE</span><span style="color: #000000;"> </span><span style="color: #0000FF;">PROC</span><span style="color: #000000;"> usp_ActionCount<br /></span><span style="color: #008000;">@planid</span><span style="color: #000000;"> </span><span style="color: #0000FF;">int</span><span style="color: #000000;">,<br /></span><span style="color: #008000;">@updatetype</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">)<br /></span><span style="color: #0000FF;">AS</span><span style="color: #000000;"> <br /></span><span style="color: #008080;">--</span><span style="color: #008080;">------------------------------------------------------------------</span><span style="color: #008080;"><br /></span><span style="color: #0000FF;">CREATE</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TABLE</span><span style="color: #000000;"> #tempA (<br />    id </span><span style="color: #0000FF;">int</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">IDENTITY</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">) </span><span style="color: #808080;">NOT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">NULL</span><span style="color: #000000;"> ,<br />    mobile </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">) </span><span style="color: #808080;">NOT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">NULL</span><span style="color: #000000;"> ,<br />    updatetype </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">50</span><span style="color: #000000;">)<br />)<br /></span><span style="color: #0000FF;">CREATE</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TABLE</span><span style="color: #000000;"> #tempB(<br />    id </span><span style="color: #0000FF;">int</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">IDENTITY</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">,</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">) </span><span style="color: #808080;">NOT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">NULL</span><span style="color: #000000;">,<br />    mobile </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">) </span><span style="color: #808080;">NOT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">NULL</span><span style="color: #000000;"> ,<br />    updatetype </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">)     <br />)<br /></span><span style="color: #0000FF;">INSERT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">INTO</span><span style="color: #000000;"> #tempA (mobile,updatetype) </span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">DISTINCT</span><span style="color: #000000;"> msisdn,</span><span style="color: #FF0000;">''</span><span style="color: #000000;"> </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> tb_PlanMsisdn </span><span style="color: #0000FF;">WHERE</span><span style="color: #000000;"> plan_id</span><span style="color: #808080;">=</span><span style="color: #008000;">@planid</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">DECLARE</span><span style="color: #000000;"> </span><span style="color: #008000;">@id</span><span style="color: #000000;"> </span><span style="color: #0000FF;">int</span><span style="color: #000000;">,</span><span style="color: #008000;">@mobile</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">)<br /></span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #008000;">@id</span><span style="color: #808080;">=</span><span style="color: #FF00FF;">COUNT</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">) </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> #tempA ta<br /></span><span style="color: #0000FF;">WHILE</span><span style="color: #000000;"> </span><span style="color: #008000;">@id</span><span style="color: #808080;">&gt;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">BEGIN</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #008000;">@mobile</span><span style="color: #808080;">=</span><span style="color: #000000;">mobile </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> #tempA ta </span><span style="color: #0000FF;">WHERE</span><span style="color: #000000;"> ta.id</span><span style="color: #808080;">=</span><span style="color: #008000;">@id</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">TRUNCATE</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TABLE</span><span style="color: #000000;"> #tempB<br />        </span><span style="color: #0000FF;">INSERT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">INTO</span><span style="color: #000000;"> #tempB(mobile,updatetype) </span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #0000FF;">DISTINCT</span><span style="color: #000000;"> msisdn,updatetype </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> tb_PlanMsisdn tpm </span><span style="color: #0000FF;">WHERE</span><span style="color: #000000;"> tpm.msisdn</span><span style="color: #808080;">=</span><span style="color: #008000;">@mobile</span><span style="color: #000000;"> </span><span style="color: #808080;">AND</span><span style="color: #000000;"> tpm.plan_id</span><span style="color: #808080;">=</span><span style="color: #008000;">@planid</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">DECLARE</span><span style="color: #000000;"> </span><span style="color: #008000;">@innerid</span><span style="color: #000000;"> </span><span style="color: #0000FF;">int</span><span style="color: #000000;">,</span><span style="color: #008000;">@utype</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">),</span><span style="color: #008000;">@innermobile</span><span style="color: #000000;"> </span><span style="color: #0000FF;">varchar</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">20</span><span style="color: #000000;">)<br />        </span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #008000;">@innerid</span><span style="color: #808080;">=</span><span style="color: #FF00FF;">COUNT</span><span style="color: #000000;">(</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;">) </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> #tempB tb<br />        </span><span style="color: #0000FF;">WHILE</span><span style="color: #000000;"> </span><span style="color: #008000;">@innerid</span><span style="color: #808080;">&gt;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br />            </span><span style="color: #0000FF;">BEGIN</span><span style="color: #000000;"><br />                </span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #008000;">@utype</span><span style="color: #808080;">=</span><span style="color: #000000;">updatetype,</span><span style="color: #008000;">@innermobile</span><span style="color: #808080;">=</span><span style="color: #000000;">tb.mobile    </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> #tempB tb </span><span style="color: #0000FF;">WHERE</span><span style="color: #000000;"> tb.id</span><span style="color: #808080;">=</span><span style="color: #008000;">@innerid</span><span style="color: #000000;"><br />                </span><span style="color: #0000FF;">IF</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">charindex</span><span style="color: #000000;">(</span><span style="color: #008000;">@utype</span><span style="color: #000000;">,</span><span style="color: #008000;">@updatetype</span><span style="color: #000000;">)</span><span style="color: #808080;">&gt;</span><span style="color: #800000; font-weight: bold;">0</span><span style="color: #000000;"><br />                    </span><span style="color: #0000FF;">BEGIN</span><span style="color: #000000;"><br />                        </span><span style="color: #0000FF;">UPDATE</span><span style="color: #000000;"> #tempA </span><span style="color: #0000FF;">SET</span><span style="color: #000000;"> updatetype </span><span style="color: #808080;">=</span><span style="color: #000000;">updatetype </span><span style="color: #808080;">+</span><span style="color: #000000;"> </span><span style="color: #FF00FF;">CASE</span><span style="color: #000000;"> </span><span style="color: #008000;">@utype</span><span style="color: #000000;"><br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">1</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">周期更新 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">2</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">关机 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">3</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">开机 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">4</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">进入小区 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">5</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">寻呼响应 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">6</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">发短信 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">7</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">主叫 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">WHEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">8</span><span style="color: #FF0000;">'</span><span style="color: #000000;"> </span><span style="color: #0000FF;">THEN</span><span style="color: #000000;"> </span><span style="color: #FF0000;">'</span><span style="color: #FF0000;">短信接收 </span><span style="color: #FF0000;">'</span><span style="color: #000000;">    <br />                        </span><span style="color: #0000FF;">ELSE</span><span style="color: #000000;"> </span><span style="color: #FF0000;">''</span><span style="color: #000000;"><br />                        </span><span style="color: #0000FF;">END</span><span style="color: #000000;"> </span><span style="color: #0000FF;">WHERE</span><span style="color: #000000;"> mobile</span><span style="color: #808080;">=</span><span style="color: #008000;">@innermobile</span><span style="color: #000000;">    <br />                        <br />                    </span><span style="color: #0000FF;">END</span><span style="color: #000000;">                                    <br />                </span><span style="color: #0000FF;">SET</span><span style="color: #000000;"> </span><span style="color: #008000;">@innerid</span><span style="color: #808080;">=</span><span style="color: #008000;">@innerid</span><span style="color: #808080;">-</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;"><br />            </span><span style="color: #0000FF;">END</span><span style="color: #000000;">            <br />        </span><span style="color: #0000FF;">SET</span><span style="color: #000000;"> </span><span style="color: #008000;">@id</span><span style="color: #808080;">=</span><span style="color: #008000;">@id</span><span style="color: #808080;">-</span><span style="color: #800000; font-weight: bold;">1</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">END</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">SELECT</span><span style="color: #000000;"> </span><span style="color: #808080;">*</span><span style="color: #000000;"> </span><span style="color: #0000FF;">FROM</span><span style="color: #000000;"> #tempA ta<br /></span><span style="color: #0000FF;">DROP</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TABLE</span><span style="color: #000000;"> #tempB    <br /></span><span style="color: #0000FF;">DROP</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TABLE</span><span style="color: #000000;"> #tempA<br /></span><span style="color: #0000FF;">GO</span><span style="color: #000000;"><br /></span></pre>
</div>
<pre></pre><img src ="http://www.cnblogs.com/Aricc/aggbug/1341600.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>GridView Delete, with Confirmation </title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341382.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 05:03:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341382.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341382.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341382.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341382.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341382.html</trackback:ping><description><![CDATA[<div id="main-content" class="item-content">
<h2>Introduction</h2>
<p>Everyone likes a confirmation that lets them know that a record is being deleted. In this article, I will show you how you can prompt confirmation boxes when you delete a record from the <code>GridView</code> control.</p>
<h2>Implementing the Confirmation Feature</h2>
<p>The first thing that you need to do is to attach the JavaScript confirmation code to the delete column of the <code>GridView</code> control. This can be done in the <code>Row_DataBound</code> event of the <code>GridView</code> control. The <code>Row_DataBound</code> event is fired whenever the row is attached to the <code>GridView</code>. Hence, this is fired when the <code>GridView</code> is building for the first time or even when the page is reloaded.</p>
<p>Let's see the HTML part of the <code>GridView</code> code:</p>
<pre>&lt;asp:GridView DataKeyNames="CategoryID" ID="GridView1" 
       runat="server" AutoGenerateColumns="False" 
       OnRowCommand="GridView1_RowCommand" 
       OnRowDataBound="GridView1_RowDataBound" 
       OnRowDeleted="GridView1_RowDeleted" OnRowDeleting="GridView1_RowDeleting"&gt;
  &lt;Columns&gt;
   &lt;asp:BoundField DataField="CategoryID" HeaderText="CategoryID" /&gt;
   &lt;asp:BoundField DataField="CategoryName" HeaderText="CategoryName" /&gt;
   &lt;asp:TemplateField HeaderText="Select"&gt;
     &lt;ItemTemplate&gt;
       &lt;asp:LinkButton ID="LinkButton1" 
         CommandArgument='&lt;%# Eval("CategoryID") %&gt;' 
         CommandName="Delete" runat="server"&gt;
         Delete&lt;/asp:LinkButton&gt;
     &lt;/ItemTemplate&gt;
   &lt;/asp:TemplateField&gt;
  &lt;/Columns&gt;
&lt;/asp:GridView&gt;</pre>
<p>As you can see from the above code, I have three columns in the <code>GridView</code>. Columns <code>CategoryID</code> and <code>CategoryName</code> are the bound columns, and the column <code>Delete</code> is a template column. The command argument is set as the <code>CategoryID</code> which means that whenever the <code>LinkButton</code> is clicked, it will pass <code>CategoryID</code> as an argument. The <code>CommandName</code> is set to "Delete".</p>
<p>The <code>CommandName</code> property is very important. If you have a <code>LinkButton</code> or a <code>Button</code> control inside the template column of the <code>GridView</code> control and the <code>CommandName</code> property is set to "Delete", then apart from <code>GridView_RowCommand</code> event, the <code>GridView_Row_Deleting</code> event is also fired.</p>
<p>Now, let's see the <code>GridView_RowBound</code> event where I attach the JavaScript code to every <code>LinkButton</code>.</p>
<pre><span>protected</span> <span>void</span> GridView1_RowDataBound(<span>object</span> sender, 
                         GridViewRowEventArgs e)
{
  <span>if</span> (e.Row.RowType == DataControlRowType.DataRow)
  {
    LinkButton l = (LinkButton)e.Row.FindControl(<span>"LinkButton1"</span>); 
    l.Attributes.Add(<span>"onclick"</span>, <span>"javascript:return "</span> +
    <span>"confirm('Are you sure you want to delete this record "</span> +
    DataBinder.Eval(e.Row.DataItem, <span>"CategoryID"</span>) + <span>"')"</span>); 
  }
}</pre>
<p>In the above code, I checked whether the <code>GridView</code> row is a <code>DataRow</code>, and if it is, I simply attach some JavaScript code using the <code>Attributes.Add</code> method.</p>
<h2>Catching the Primary Key of the Clicked Row</h2>
<p>Now that you have successfully attached the JavaScript code to the <code>GridView</code> control, all that is left is to catch the primary key of the row which you have clicked so that you can perform further operations (like deleting the row). Remember what I said about a <code>LinkButton</code> or a <code>Button</code> control with the <code>CommandName</code> set to "Delete"? If you don't, read the text in the box again.</p>
<p>The <code>CommandName</code> property is very important. If you have a <code>LinkButton</code> or a <code>Button</code> control inside the template column of the <code>GridView</code> control and the <code>CommandName</code> property is set to "Delete", then apart from the <code>GridView_RowCommand</code> event, the <code>GridView_Row_Deleting</code> event is also fired.</p>
<p>Now, since our <code>LinkButton</code>'s <code>CommandName</code> is set to "Delete", it means we have two choices of getting the primary key from the <code>GridView</code>. We can do this in the <code>RowCommand</code> event, or we can do this in the <code>Row_Deleting</code> event. I am going to show you both of them.</p>
<h2>Catching the primary key in the RowCommand event</h2>
<p>This is pretty simple. All you need to do is to get the value from the <code>CommandArgument</code> property which you have already set to the <code>CategoryID</code>.</p>
<pre><span>protected</span> <span>void</span> GridView1_RowCommand(<span>object</span> sender, 
                         GridViewCommandEventArgs e)
{
  <span>if</span> (e.CommandName == <span>"Delete"</span>)
  {
    <span>// get the categoryID of the clicked row</span>
    <span>int</span> categoryID = Convert.ToInt32(e.CommandArgument);
    <span>// Delete the record </span>
    DeleteRecordByID(categoryID);
    <span>// Implement this on your own :) </span>
  }
}</pre>
<p><code>e.CommandArgument</code> returns <code><span>object</span></code> so you need to convert it to <code><span>int</span></code> as I have done above.</p>
<h2>Catching the primary key in the Row_Deleting event</h2>
<p>Let's see how we can catch the primary key of the clicked row in the <code>Row_Deleting</code> event.</p>
<pre>&lt;asp:GridView DataKeyNames="CategoryID" ID="GridView1" 
     runat="server" AutoGenerateColumns="False" 
     OnRowCommand="GridView1_RowCommand" 
     OnRowDataBound="GridView1_RowDataBound"
     OnRowDeleted="GridView1_RowDeleted" 
     OnRowDeleting="GridView1_RowDeleting"&gt;</pre>
<pre><span>protected</span> <span>void</span> GridView1_RowDeleting(<span>object</span> sender, GridViewDeleteEventArgs e)
{
  <span>int</span> categoryID = (<span>int</span>) GridView1.DataKeys[e.RowIndex].Value;
  DeleteRecordByID(categoryID); 
}</pre>
<p>In the above technique, you must set the <code>DataKeyNames</code> property of the <code>GridView</code> to "<code>CategoryID</code>". The <code>GridView1.DataKeys[e.RowIndex].Value</code> property gets the <code>CategoryID</code> out of the row which is clicked. </p>
<p>I hope you liked this article, happy coding!</p>
<p>注：<br />除了以上两种方法，还在网上看到了这种方法，不过我还没有测试：<br /><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">asp</span><span style="color: #0000ff;">:</span><span style="color: #800000;">GridView</span> <span style="color: #ff0000;">ID</span><span style="color: #0000ff;">="GridView1"</span> <span style="color: #ff0000;">runat</span><span style="color: #0000ff;">="server"</span>&nbsp;<span style="color: #ff0000;">DataKeyNames</span><span style="color: #0000ff;">="id"</span> <span style="color: #ff0000;">DataSourceID</span><span style="color: #0000ff;">="SqlDataSource1"</span><span style="color: #0000ff;">&gt;</span></p>
<div><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">Columns</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">&nbsp;&nbsp; &lt;</span><span style="color: #800000;">asp</span><span style="color: #0000ff;">:</span><span style="color: #800000;">TemplateField</span> <span style="color: #ff0000;">ShowHeader</span><span style="color: #0000ff;">="False"&gt;</span></div>
<div><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;</span><span style="color: #800000;">ItemTemplate</span><span style="color: #0000ff;">&gt;</span> </div>
<div><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;</span><span style="color: #800000;">asp</span><span style="color: #0000ff;">:</span><span style="color: #800000;">LinkButton</span> <span style="color: #ff0000;">ID</span><span style="color: #0000ff;">="LinkButton1"</span> <span style="color: #ff0000;">runat</span><span style="color: #0000ff;">="server"</span> <span style="color: #ff0000;">CausesValidation</span><span style="color: #0000ff;">="False"</span> <span style="color: #ff0000;">CommandName</span><span style="color: #0000ff;">="Delete"</span></div>
<div><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&nbsp;<span style="color: #ff0000;">OnClientClick</span><span style="color: #0000ff;">='return confirm("Are you sure you want to delete this entry?");'</span> </div>
<div><span style="color: #ff0000;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Text</span><span style="color: #0000ff;">="Delete" /</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">&nbsp;&nbsp;&nbsp;&nbsp; &lt;/</span><span style="color: #800000;">ItemTemplate</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">&nbsp;&nbsp; &lt;/</span><span style="color: #800000;">asp</span><span style="color: #0000ff;">:</span><span style="color: #800000;">TemplateField</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">Columns</span><span style="color: #0000ff;">&gt;</span></div>
<div><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">asp</span><span style="color: #0000ff;">:</span><span style="color: #800000;">GridView</span><span style="color: #0000ff;">&gt;</span></div>
<!-- Article Ends --></div><img src ="http://www.cnblogs.com/Aricc/aggbug/1341382.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>在运行程序时传入参数（Delphi）</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341380.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 05:01:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341380.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341380.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341380.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341380.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341380.html</trackback:ping><description><![CDATA[<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> TForm1.FormShow(Sender: TObject);<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"><br />  i:Integer;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />  </span><span style="color: #000000;">//</span><span style="color: #000000;">当前程序的完整路径（包括文件名）<br />  lbl1.Caption:</span><span style="color: #000000;">=</span><span style="color: #000000;">ParamStr(</span><span style="color: #800080;">0</span><span style="color: #000000;">) </span><span style="color: #000000;">+</span><span style="color: #000000;"> #</span><span style="color: #800080;">13</span><span style="color: #000000;">;<br />  </span><span style="color: #000000;">//</span><span style="color: #000000;">运行此程序时传入的参数<br />  </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> i:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> ParamCount </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />  lbl1.Caption:</span><span style="color: #000000;">=</span><span style="color: #000000;">lbl1.Caption </span><span style="color: #000000;">+</span><span style="color: #000000;"> ParamStr(i) </span><span style="color: #000000;">+</span><span style="color: #000000;"> #</span><span style="color: #800080;">13</span><span style="color: #000000;">;<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">; </span></pre>
</div>
<pre></pre><img src ="http://www.cnblogs.com/Aricc/aggbug/1341380.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>用Tidhttp下载文件</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 05:00:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341378.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341378.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341378.html</trackback:ping><description><![CDATA[<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> TForm1.btn1Click(Sender: TObject);<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"><br />  stm:TFileStream;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />  stm:</span><span style="color: #000000;">=</span><span style="color: #000000;">TFileStream.Create(</span><span style="color: #800000;">'</span><span style="color: #800000;">c:\test.exe</span><span style="color: #800000;">'</span><span style="color: #000000;">,fmCreate);<br />  http.Get(</span><span style="color: #800000;">'</span><span style="color: #800000;">http://www.domain.com/test.exe</span><span style="color: #800000;">'</span><span style="color: #000000;">,stm);<br />  stm.Free;<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">; </span></pre>
</div>
<pre></pre><img src ="http://www.cnblogs.com/Aricc/aggbug/1341378.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>一个简单的加解密算法</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341374.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 04:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341374.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341374.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341374.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341374.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341374.html</trackback:ping><description><![CDATA[<div class="cnblogs_code">
<pre><!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--><span style="color: #0000FF;">unit</span><span style="color: #000000;"> Unit1;<br /><br /></span><span style="color: #0000FF;">interface</span><span style="color: #000000;"><br /><br /></span><span style="color: #0000FF;">uses</span><span style="color: #000000;"><br />  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,<br />  Dialogs, StdCtrls;<br /><br /></span><span style="color: #0000FF;">type</span><span style="color: #000000;"><br />  TForm1 </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;">(TForm)<br />    mmo: TMemo;<br />    mmo1: TMemo;<br />    mmo2: TMemo;<br />    key: TEdit;<br />    btn1: TButton;<br />    btn2: TButton;<br />    </span><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> btn1Click(Sender: TObject);<br />    </span><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> btn2Click(Sender: TObject);<br />  </span><span style="color: #0000FF;">private</span><span style="color: #000000;"><br />    </span><span style="color: #008000;">{</span><span style="color: #008000;"> Private declarations </span><span style="color: #008000;">}</span><span style="color: #000000;"><br />  </span><span style="color: #0000FF;">public</span><span style="color: #000000;"><br />    </span><span style="color: #008000;">{</span><span style="color: #008000;"> Public declarations </span><span style="color: #008000;">}</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> encryptstr(</span><span style="color: #0000FF;">const</span><span style="color: #000000;"> s:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">; skey:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">):</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> decryptstr(</span><span style="color: #0000FF;">const</span><span style="color: #000000;"> s:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">; skey:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">):</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> myStrtoHex(s:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">):</span><span style="color: #0000FF;">string</span><span style="color: #000000;">; </span><span style="color: #000000;">//</span><span style="color: #000000;">原字符串转16进制字符串<br />    </span><span style="color: #0000FF;">function</span><span style="color: #000000;"> myHextoStr(S: </span><span style="color: #0000FF;">string</span><span style="color: #000000;">): </span><span style="color: #0000FF;">string</span><span style="color: #000000;">;</span><span style="color: #000000;">//</span><span style="color: #800080;">16</span><span style="color: #000000;">进制字符串转原字符串<br />  </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"><br />  Form1: TForm1;<br /><br /></span><span style="color: #0000FF;">implementation</span><span style="color: #000000;"><br /><br /></span><span style="color: #008000;">{</span><span style="color: #008000;">$R *.dfm</span><span style="color: #008000;">}</span><span style="color: #000000;"><br /></span><span style="color: #0000FF;">function</span><span style="color: #000000;"> TForm1.myStrtoHex(s: </span><span style="color: #0000FF;">string</span><span style="color: #000000;">): </span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"> tmpstr:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    i:integer;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />    tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #800000;">''</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> i:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> length(s) </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr </span><span style="color: #000000;">+</span><span style="color: #000000;"> inttoHex(ord(s[i]),</span><span style="color: #800080;">2</span><span style="color: #000000;">);<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    result :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr;<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">function</span><span style="color: #000000;"> TForm1.myHextoStr(S: </span><span style="color: #0000FF;">string</span><span style="color: #000000;">): </span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"> hexS,tmpstr:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    i:integer;<br />    a:byte;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />    hexS  :</span><span style="color: #000000;">=</span><span style="color: #000000;">s;</span><span style="color: #000000;">//</span><span style="color: #000000;">应该是该字符串<br />    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> length(hexS) </span><span style="color: #0000FF;">mod</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">then</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        hexS:</span><span style="color: #000000;">=</span><span style="color: #000000;">hexS</span><span style="color: #000000;">+</span><span style="color: #800000;">'</span><span style="color: #800000;">0</span><span style="color: #800000;">'</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    tmpstr:</span><span style="color: #000000;">=</span><span style="color: #800000;">''</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> i:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> (length(hexS) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">) </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        a:</span><span style="color: #000000;">=</span><span style="color: #000000;">strtoint(</span><span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">hexS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">hexS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i]);<br />        tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr</span><span style="color: #000000;">+</span><span style="color: #000000;">chr(a);<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    result :</span><span style="color: #000000;">=</span><span style="color: #000000;">tmpstr;<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">function</span><span style="color: #000000;"> TForm1.encryptstr(</span><span style="color: #0000FF;">const</span><span style="color: #000000;"> s:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">; skey:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">):</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"><br />    i,j: integer;<br />    hexS,hexskey,midS,tmpstr:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    a,b,c:byte;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />    hexS   :</span><span style="color: #000000;">=</span><span style="color: #000000;">myStrtoHex(s);<br />    hexskey:</span><span style="color: #000000;">=</span><span style="color: #000000;">myStrtoHex(skey);<br />    midS   :</span><span style="color: #000000;">=</span><span style="color: #000000;">hexS;<br />    </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> i:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> (length(hexskey) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">)   </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> i</span><span style="color: #000000;">&lt;&gt;</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">then</span><span style="color: #000000;"> midS:</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr;<br />        tmpstr:</span><span style="color: #000000;">=</span><span style="color: #800000;">''</span><span style="color: #000000;">;<br />        </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> j:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> (length(midS) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">) </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />            a:</span><span style="color: #000000;">=</span><span style="color: #000000;">strtoint(</span><span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">midS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">j</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">midS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">j]);<br />            b:</span><span style="color: #000000;">=</span><span style="color: #000000;">strtoint(</span><span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">hexskey[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">hexskey[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i]);<br />            c:</span><span style="color: #000000;">=</span><span style="color: #000000;">a </span><span style="color: #0000FF;">xor</span><span style="color: #000000;"> b;<br />            tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr</span><span style="color: #000000;">+</span><span style="color: #000000;">myStrtoHex(chr(c));<br />        </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    result :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr;<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">function</span><span style="color: #000000;"> TForm1.decryptstr(</span><span style="color: #0000FF;">const</span><span style="color: #000000;"> s:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">; skey:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">):</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br /></span><span style="color: #0000FF;">var</span><span style="color: #000000;"><br />    i,j: integer;<br />    hexS,hexskey,midS,tmpstr:</span><span style="color: #0000FF;">string</span><span style="color: #000000;">;<br />    a,b,c:byte;<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />    hexS  :</span><span style="color: #000000;">=</span><span style="color: #000000;">s;</span><span style="color: #000000;">//</span><span style="color: #000000;">应该是该字符串<br />    </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> length(hexS) </span><span style="color: #0000FF;">mod</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">then</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        showmessage(</span><span style="color: #800000;">'</span><span style="color: #800000;">密文错误！</span><span style="color: #800000;">'</span><span style="color: #000000;">);<br />        exit;<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    hexskey:</span><span style="color: #000000;">=</span><span style="color: #000000;">myStrtoHex(skey);<br />    tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;">hexS;<br />    midS   :</span><span style="color: #000000;">=</span><span style="color: #000000;">hexS;<br />    </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> i:</span><span style="color: #000000;">=</span><span style="color: #000000;">(length(hexskey) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">) </span><span style="color: #0000FF;">downto</span><span style="color: #000000;"> </span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />    </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> i</span><span style="color: #000000;">&lt;&gt;</span><span style="color: #000000;">(length(hexskey) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">) </span><span style="color: #0000FF;">then</span><span style="color: #000000;"> midS:</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr;<br />        tmpstr:</span><span style="color: #000000;">=</span><span style="color: #800000;">''</span><span style="color: #000000;">;<br />        </span><span style="color: #0000FF;">for</span><span style="color: #000000;"> j:</span><span style="color: #000000;">=</span><span style="color: #800080;">1</span><span style="color: #000000;"> </span><span style="color: #0000FF;">to</span><span style="color: #000000;"> (length(midS) </span><span style="color: #0000FF;">div</span><span style="color: #000000;"> </span><span style="color: #800080;">2</span><span style="color: #000000;">) </span><span style="color: #0000FF;">do</span><span style="color: #000000;"><br />        </span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />            a:</span><span style="color: #000000;">=</span><span style="color: #000000;">strtoint(</span><span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">midS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">j</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">midS[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">j]);<br />            b:</span><span style="color: #000000;">=</span><span style="color: #000000;">strtoint(</span><span style="color: #800000;">'</span><span style="color: #800000;">$</span><span style="color: #800000;">'</span><span style="color: #000000;">+</span><span style="color: #000000;">hexskey[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i</span><span style="color: #000000;">-</span><span style="color: #800080;">1</span><span style="color: #000000;">]</span><span style="color: #000000;">+</span><span style="color: #000000;">hexskey[</span><span style="color: #800080;">2</span><span style="color: #000000;">*</span><span style="color: #000000;">i]);<br />            c:</span><span style="color: #000000;">=</span><span style="color: #000000;">a </span><span style="color: #0000FF;">xor</span><span style="color: #000000;"> b;<br />            tmpstr :</span><span style="color: #000000;">=</span><span style="color: #000000;"> tmpstr</span><span style="color: #000000;">+</span><span style="color: #000000;">myStrtoHex(chr(c));<br />        </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    </span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br />    result :</span><span style="color: #000000;">=</span><span style="color: #000000;"> myHextoStr(tmpstr);<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /><br /></span><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> TForm1.btn1Click(Sender: TObject);<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />  mmo1.Text:</span><span style="color: #000000;">=</span><span style="color: #000000;">encryptstr(mmo.Text,key.Text);<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">procedure</span><span style="color: #000000;"> TForm1.btn2Click(Sender: TObject);<br /></span><span style="color: #0000FF;">begin</span><span style="color: #000000;"><br />  mmo2.Text:</span><span style="color: #000000;">=</span><span style="color: #000000;">decryptstr(mmo1.Text,key.Text);<br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">;<br /><br /></span><span style="color: #0000FF;">end</span><span style="color: #000000;">.<br /><br /><br /></span></pre>
</div>
<pre></pre><img src ="http://www.cnblogs.com/Aricc/aggbug/1341374.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>简单的在线升级程序</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341377.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 04:59:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341377.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341377.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341377.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341377.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341377.html</trackback:ping><description><![CDATA[<div id="main-content" class="item-content">
<p>如果你的升级过程比较简单（例如只需要下载更新一个主程序），那么本示例就比较适合你。</p>
<p>下载升级文件的程序这里就不再赘述，详细使用方法请参考<a href="http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html">http://www.cnblogs.com/Aricc/archive/2008/11/26/1341378.html</a></p>
<p>现在，我们只需要在主程序中加入一个很简单的Procedure就可以完成升级任务了。</p>
<p>假设下载回来的最新程序的完整路径是New，当前运行的程序的路径是Old。</p>
<p>那么，在程序一开始运行的时候加入一个版本判断的Procedure（用Tidhttp或者Socket都可以）。在确定需要升级时调用升级的Procedure（这里就叫它Updater吧）。</p>
<p>Updater(New,Old);</p>
<p>这样就可以了。</p>
<p>下面来看看Updater里是些什么东西：</p>
<p>ProcedureUpdater(new,old:string);<br />var<br />&nbsp;&nbsp;f:Textfile;<br />begin<br />&nbsp;&nbsp;AssignFile(f,'temp.bat');<br />&nbsp; Rewrite(f);<br />&nbsp; Writeln(f,'@set new=%1');<br />&nbsp; Writeln(f,'@set old=%2');<br />&nbsp; Writeln(f,'del %old%');<br />&nbsp; Writeln(f,'copy %new%&nbsp;%old%');<br />&nbsp; Writeln(f,'del %new%');<br />&nbsp; Writeln(f,'%old%');<br />&nbsp; Writeln(f,'del %0');<br />&nbsp; CloseFile(f);<br />&nbsp; Application.Terminate;<br />&nbsp; WinExec(PChar('temp.bat "' + new +'" "' +old +'"'),SW_HIDE);<br />end;</p>
</div><img src ="http://www.cnblogs.com/Aricc/aggbug/1341377.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item><item><title>获取系统文件夹路径</title><link>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341373.html</link><dc:creator>Aricc</dc:creator><author>Aricc</author><pubDate>Wed, 26 Nov 2008 04:58:00 GMT</pubDate><guid>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341373.html</guid><wfw:comment>http://www.cnblogs.com/Aricc/comments/1341373.html</wfw:comment><comments>http://www.cnblogs.com/Aricc/archive/2008/11/26/1341373.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/Aricc/comments/commentRss/1341373.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/Aricc/services/trackbacks/1341373.html</trackback:ping><description><![CDATA[<p><span><span>系统文件夹在不同的计算机上是不同的（由于不同的操作系统，用户档案，用户设定）。<br /><br />以下代码可以读入当前设定:<br /><br />uses ShlObj, ActiveX;<br /><br />function GetSystemPath(Folder: Integer): string;<br />var<br />PIDL: PItemIDList;<br />Path: LPSTR;<br />AMalloc: IMalloc;<br />begin<br />Path := StrAlloc(MAX_PATH);<br />SHGetSpecialFolderLocation(Application.Handle, Folder, PIDL);<br />if SHGetPathFromIDList(PIDL, Path) then<br />Result := Path;<br />SHGetMalloc(AMalloc);<br />AMalloc.Free(PIDL);<br />StrDispose(Path);<br />end;<br /><br />你可以使用不同的参数调用这个函数，例如：<br /><br />符号常量 系统文件夹<br /><br />CSIDL_DESKTOPDIRECTORY Desktop文件夹<br /><br />CSIDL_FONTS Fonts文件夹<br /><br />CSIDL_NETHOOD NetHood文件夹<br /><br />CSIDL_PERSONAL My Documents（我的文档）文件夹<br /><br />CSIDL_PROGRAMS &ldquo;开始&rdquo;菜单（Start Menu）中的 <br /><br />Programs（程序）文件夹<br /><br />CSIDL_RECENT &ldquo;开始&rdquo;菜单（Start Menu）中的 <br /><br />Recent（文档）文件夹<br /><br />CSIDL_SENDTO Sendto（发送到）文件夹<br /><br />CSIDL_STARTMENU Start Menu（&ldquo;开始&rdquo;菜单）文件夹<br /><br />CSIDL_STARTUP 启动（Startup）文件夹<br /><br />CSIDL_TEMPLATES ShellNew文件夹<br /><br />CSIDL_COOKIES Cookies文件夹<br /><br />CSIDL_INTERNET_CACHE Temporary Internet Files文件夹<br /><br />CSIDL_PRINTHOOD PrintHood文件夹<br /><br />CSIDL_APPDATA Application Data文件夹<br /><br />CSIDL_FAVORITES Favorites文件夹<br /><br />CSIDL_HISTORY History文件夹<br /></span></span></p><img src ="http://www.cnblogs.com/Aricc/aggbug/1341373.html?type=1" width = "1" height = "1" /><br><br><a href="http://news.cnblogs.com/n/43771/" target="_blank">[新闻]福布斯:中国经济增长减速 网游行业从中获益</a><br/><a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻频道</a>&nbsp;<a href="http://space.cnblogs.com/group.htm" target="_blank">小组</a>&nbsp;<a href="http://space.cnblogs.com/q" target="_blank">博问</a>&nbsp;<a href="http://wz.cnblogs.com/" target="_blank">网摘</a>&nbsp;<a href="http://space.cnblogs.com/ing" target="_blank">闪存</a>]]></description></item></channel></rss>