<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?xml-stylesheet type="text/xsl" href="css/rss.xslt"?>
<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.spersky.com/</link><description>Spersky</description><generator>RainbowSoft Studio Z-Blog 1.8 Walle Build 100427</generator><language>zh-CN</language><copyright>Copyright spersky All Rights Reserved.Theme Moonlihgt,Calf modified。</copyright><pubDate>Tue, 31 Jan 2012 17:17:50 +0800</pubDate><item><title>vb.net 格式化时间</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/375.html</link><pubDate>Tue, 31 Jan 2012 10:14:53 +0800</pubDate><guid>http://www.spersky.com/post/375.html</guid><description><![CDATA[<p>vb.net中的时间格式化，以下的实例来自MSDN,可以搜索Format关键字找到<br /><span style="color: blue;">Dim</span> TestDateTime <span style="color: blue;">As</span> <span style="color: blue;">Date</span> = #1/27/2001 5:04:23 PM#<br /><span style="color: blue;">Dim</span> TestStr <span style="color: blue;">As</span> <span style="color: blue;">String</span><br /><span style="color: green;">' Returns current system time in the system-defined long time format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;Long Time&quot;</span>)<br /><span style="color: green;">' Returns current system date in the system-defined long date format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;Long Date&quot;</span>)<br /><span style="color: green;">' Also returns current system date in the system-defined long date </span><br /><span style="color: green;">' format, using the single letter code for the format.</span><br />TestStr = Format(Now(), <span style="color: rgb(163, 21, 21);">&quot;D&quot;</span>)<br /><br /><span style="color: green;">' Returns the value of TestDateTime in user-defined date/time formats.</span><br /><span style="color: green;">' Returns &quot;5:4:23&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;h:m:s&quot;</span>)<br /><span style="color: green;">' Returns &quot;05:04:23 PM&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;hh:mm:ss tt&quot;</span>)<br /><span style="color: green;">' Returns &quot;Saturday, Jan 27 2001&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;dddd, MMM d yyyy&quot;</span>)<br /><span style="color: green;">' Returns &quot;17:04:23&quot;.</span><br />TestStr = Format(TestDateTime, <span style="color: rgb(163, 21, 21);">&quot;HH:mm:ss&quot;</span>)<br /><span style="color: green;">' Returns &quot;23&quot;.</span><br />TestStr = Format(23)<br /><br /><span style="color: green;">' User-defined numeric formats.</span><br /><span style="color: green;">' Returns &quot;5,459.40&quot;.</span><br />TestStr = Format(5459.4, <span style="color: rgb(163, 21, 21);">&quot;##,##0.00&quot;</span>)<br /><span style="color: green;">' Returns &quot;334.90&quot;.</span><br />TestStr = Format(334.9, <span style="color: rgb(163, 21, 21);">&quot;###0.00&quot;</span>)<br /><span style="color: green;">' Returns &quot;500.00%&quot;.</span><br />TestStr = Format(5, <span style="color: rgb(163, 21, 21);">&quot;0.00%&quot;</span>)<br />&nbsp;</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/375.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=375</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=375&amp;key=fc4ca972</trackback:ping></item><item><title>windows 常用命令</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/374.html</link><pubDate>Thu, 19 Jan 2012 20:09:23 +0800</pubDate><guid>http://www.spersky.com/post/374.html</guid><description><![CDATA[<p>经常用到的windows命令，却经常忘记，以后将都记下来</p><p>1.远程桌面以admin身份：mstsc /admin</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/374.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=374</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=374&amp;key=3309b2e7</trackback:ping></item><item><title>vb.net 程序自动发邮件</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/netmail.html</link><pubDate>Wed, 11 Jan 2012 22:04:28 +0800</pubDate><guid>http://www.spersky.com/post/netmail.html</guid><description><![CDATA[<p>以下是vb.net自动发邮件的代码,目前只支持单发，正在想办法群发</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim mf As MailAddress = New MailAddress(&quot;<a href="mailto:sun@163.com">sun@163.com</a>&quot;) '表示电子邮件发件人或收件人的地址。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim mt As MailAddress = New MailAddress(&quot;<a href="mailto:sun@qq.com">sun@qq.com</a>&quot;) '表示电子邮件发件人或收件人的地址。<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim strmail As MailMessage = New MailMessage(&quot;<a href="mailto:sun@163.com">sun@163.com</a>&quot;, &quot;<a href="mailto:sun@qq.com">sun@qq.com</a>&quot;) '设置发件人与收件人</p><p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.Subject = &quot;Mthis is a test email.&quot; '邮件标题<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.IsBodyHtml = True '设置成为html显示<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strmail.Body = &quot;Mthis is my test email body.&lt;br&gt;&lt;b&gt;this part is in bold&lt;/b&gt;&quot; '邮件内容<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim strSmtpMail As SmtpClient = New SmtpClient(&quot;<span style="color: rgb(255, 0, 0);">smtp.163.com</span>&quot;) '调用邮箱服务器<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strSmtpMail.Credentials = New NetworkCredential(&quot;name&quot;, &quot;password&quot;) '发件人的用户登录名与密码<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; strSmtpMail.Send(strmail) '发送邮件<br />需要导入的命名空间：</p><p>Imports System.Net<br />Imports System.Net.Mail</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/netmail.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=373</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=373&amp;key=a78927ed</trackback:ping></item><item><title>SQL SERVER 存储过程实例（转）</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/372.html</link><pubDate>Tue, 06 Dec 2011 11:31:55 +0800</pubDate><guid>http://www.spersky.com/post/372.html</guid><description><![CDATA[<p>将常用的或很复杂的工作，预先用SQL语句写好并用一个指定的名称存储起来,  那么以后要叫数据库提供与已定义好的存储过程的功能相同的服务时,只需调用execute,即可自动完成命令。</p><p><font color="#ff0000" size="4">                  存储过程的优点</font></p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#000000">     1.存储过程只在创造时进行编译，以后每次执行存储过程都不需再重新编译，而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。<br />2.当对数据库进行复杂操作时(如对多个表进行Update,Insert,Query,Delete时），可将此复杂操作用存储过程封装起来与数据库提供的事务处理结合一起使用。<br />3.存储过程可以重复使用,可减少数据库开发人员的工作量<br />4.安全性高,可设定只有某此用户才具有对指定存储过程的使用权</font></font></font></p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#000000">                      </font><font color="#ff0000" size="4">  创建存储过程<br />*************************************************</font></font></font></p><p><font color="#ff0000" size="4"><font size="2"><font color="#ff0000" size="4"> </font></font></font></p><p>&nbsp;</p><p>&nbsp;</p><p><font color="#ff0000" size="4"><font size="2"><font color="#ff0000" size="4"><h5>语法</h5><p>&nbsp;</p><h5><font color="#000000">CREATE PROC[ EDURE ] [ <i>owner</i><b>.</b> ]  <i>procedure_name </i>[ <b>; </b><i>number </i>] <br />[ { @<i>parameter  data_type </i>}</font><font color="#000000"><i> <br /></i>[ VARYING ] [ <b>=  </b><i>default </i>] [ OUTPUT ] </font><b><br /><font color="#000000">    </font></b><font color="#000000">] [ <b>,</b>...<i>n </i>]  <br /><br />[ WITH <br />{ RECOMPILE | ENCRYPTION | RECOMPILE <b>,</b> ENCRYPTION  } ] <br /><br />[ FOR REPLICATION ] <br /><br />AS <i>sql_statement</i> [ ...<i>n  </i>]</font></h5><p>&nbsp;</p><p><font color="#ff0000" size="2"><strong>参数</strong></font></p><p>&nbsp;</p><p><i><font color="#000000">owner</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    拥有存储过程的用户 ID 的名称。<i>owner</i>  必须是当前用户的名称或当前用户所属的角色的名称。</font></p><p>&nbsp;</p><p><i><font color="#000000">procedure_name</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">     新存储过程的名称。过程名必须符合标识符规则，且对于数据库及其所有者必须唯一。</font></p><p>&nbsp;</p><p><font color="#000000"><b>;</b><i>number</i></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    是可选的整数，用来对同名的过程分组，以便用一条 DROP PROCEDURE  语句即可将同组的过程一起除去。例如，名为 orders 的应用程序使用的过程可以命名为  <b>orderproc</b>;1、<b>orderproc</b>;2 等。DROP PROCEDURE <b>orderproc</b>  语句将除去整个组。如果名称中包含定界标识符，则数字不应包含在标识符中，只应在 <i>procedure_name</i>  前后使用适当的定界符。</font></p><p>&nbsp;</p><p><font color="#000000">@<i>parameter</i></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    过程中的参数。在 CREATE PROCEDURE  语句中可以声明一个或多个参数。用户必须在执行过程时提供每个所声明参数的值（除非定义了该参数的默认值，或者该值设置为等于另一个参数）。存储过程最多可以有  2.100 个参数。</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">使用 @  符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个过程的参数仅用于该过程本身；相同的参数名称可以用在其它过程中。默认情况下，参数只能代替常量，而不能用于代替表名、列名或其它数据库对象的名称。</font></p><p>&nbsp;</p><p><i><font color="#000000">data_type</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    参数的数据类型。除 <b>table</b>  之外的其他所有数据类型均可以用作存储过程的参数。但是，<b>cursor</b> 数据类型只能用于 OUTPUT 参数。如果指定 <b>cursor</b>  数据类型，则还必须指定 VARYING 和 OUTPUT 关键字。对于可以是 <b>cursor</b>  数据类型的输出参数，没有最大数目的限制。</font></p><p>&nbsp;</p><p><font color="#000000">VARYING</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">     指定作为输出参数支持的结果集（由存储过程动态构造，内容可以变化）。仅适用于游标参数。</font></p><p>&nbsp;</p><p><i><font color="#000000">default</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">     参数的默认值。如果定义了默认值，不必指定该参数的值即可执行过程。默认值必须是常量或 NULL。如果过程将对该参数使用 LIKE  关键字，那么默认值中可以包含通配符（%、_、[] 和 [^]）。</font></p><p>&nbsp;</p><p><font color="#000000">OUTPUT</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    表明参数是返回参数。该选项的值可以返回给 EXEC[UTE]。使用 OUTPUT  参数可将信息返回给调用过程。<b>Text</b>、<b>ntext</b> 和 <b>image</b> 参数可用作 OUTPUT 参数。使用 OUTPUT  关键字的输出参数可以是游标占位符。</font></p><p>&nbsp;</p><p><i><font color="#000000">n</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">    表示最多可以指定 2.100 个参数的占位符。</font></p><p>&nbsp;</p><p><font color="#000000">{RECOMPILE | ENCRYPTION | RECOMPILE<b>,  </b>ENCRYPTION}</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    RECOMPILE 表明 SQL Server  不会缓存该过程的计划，该过程将在运行时重新编译。在使用非典型值或临时值而不希望覆盖缓存在内存中的执行计划时，请使用 RECOMPILE  选项。</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">ENCRYPTION 表示 SQL Server 加密  <b>syscomments</b> 表中包含 CREATE PROCEDURE 语句文本的条目。使用 ENCRYPTION 可防止将过程作为 SQL  Server 复制的一部分发布。</font></p><p>&nbsp;</p><p><font color="#000000">FOR REPLICATION</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">    指定不能在订阅服务器上执行为复制创建的存储过程。.使用 FOR  REPLICATION 选项创建的存储过程可用作存储过程筛选，且只能在复制过程中执行。本选项不能和 WITH RECOMPILE  选项一起使用。</font></p><p><font color="#000000">AS</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">   指定过程要执行的操作。</font></p><p>&nbsp;</p><p><i><font color="#000000">sql_statement</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">   过程中要包含的任意数目和类型的 Transact-SQL  语句。但有一些限制。</font></p><p>&nbsp;</p><p><i><font color="#000000">n</font></i></p><p>&nbsp;</p><p class="indent"><font color="#000000">   是表示此过程可以包含多条 Transact-SQL  语句的占位符。</font></p><p>&nbsp;</p><p class="indent"><font color="#ff0000" size="4">**********************************************</font></p><p>&nbsp;</p><p class="indent">注:*所包围部分来自MS的联机丛书.</p><p class="indent"><font size="3"> <font color="#ff0000">几个实例</font></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">(AjaxCity表中内容)</font></p><p>&nbsp;</p><p class="indent"><font size="3">　　　　　ID        CityName   Short</font></p><p>&nbsp;</p><p class="indent"><font size="3">             1         <a style="text-decoration: underline;" target="_blank" href="http://www.sogou.com/sogoupedia?query=苏州市"><font color="#3c8a06">苏州市</font></a>     SZ　　</font></p><p>&nbsp;</p><p class="indent"><font size="3">             2　　　　 <nobr><a class="iAs" style="color: rgb(0, 102, 153); text-decoration: underline; background-color: transparent;" target="_blank">无锡</a></nobr>市     WX</font></p><p>&nbsp;</p><p class="indent"><font size="3">             3         <a style="text-decoration: underline;" target="_blank" href="http://www.sogou.com/sogoupedia?query=常州市"><font color="#3c8a06">常州市</font></a>     CZ</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">1.选择表中所有内容并返回一个数据集</font></p><p class="indent"><font color="#000000">        CREATE PROCEDURE mysp_All<br />AS<br />select * from AjaxCity<br />GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p class="indent"><font color="#000000">        <img style="width: 159px; height: 170px;" alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=651849" /></font></p><p>&nbsp;</p><p class="indent"><font color="#000000">2.根据传入的参数进行查询并返回一个数据集</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">       CREATE PROCEDURE mysp_para  <br />@CityName varchar(255),</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">            @Short    varchar(255)<br />AS<br />select * from AjaxCity where </font><a href="mailto:CityName=@CityName"><font color="#000000">CityName=@CityName</font></a><font color="#000000"> And </font><a href="mailto:Short=@Short"><font color="#000000">Short=@Short</font></a><br /><font color="#000000">       GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img width="330" alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=652783" /></p><p>&nbsp;</p><p class="indent"><font color="#000000">3.带有输出参数的存储过程(返回前两条记录的ID的和)</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">CREATE PROCEDURE mysp_output<br />@SUM  int  output<br />AS<br />select @SUM=sum([ID]) from (select top 2 * from  AjaxCity) as tmpTable<br />GO</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=653426" /></p><p>&nbsp;</p><p class="indent">4.在存储过程中使用游标</p><p>&nbsp;</p><p class="indent">有这样一个表,存储的是各超阶级市下面的县级市的信息.如图:</p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=655732" /></p><p>&nbsp;</p><p class="indent">现在想统计出各个地级市下面的县级市的个数,并组成一个字符串.结果应该是&quot;5,2,2&quot;.</p><p>&nbsp;</p><p class="indent"><font color="#000000">CREATE PROCEDURE mysp_Cursor<br />@Result  varchar(255) output<font color="#339966">//声明输出变量<br /></font>AS<br />declare  city_cursor cursor for<font color="#339966">//声明游标变量<br /></font>    select [ID]  from AjaxCity</font></p><p>&nbsp;</p><p class="indent"><font color="#000000">set @Result=''<br />declare @Field int<font color="#339966">//声明临时存放CityID的变量<br /></font>open city_cursor <font color="#339966">//打开游标<br /></font>fetch next from city_cursor into @Field<font color="#339966">//将实际ID赋给变量<br /></font>while(@@fetch_status=0)<font color="#339966">//循环开始</font><br />begin<br />if @Result = ''<br />select @Result = convert(nvarchar(2),count(*))  from AjaxCounty where </font><a href="mailto:CityID=@Field"><font color="#000000">CityID=@Field</font></a><br /><font color="#000000">        else<br />select @Result = @Result + ',' +  convert(nvarchar(2),count(*)) from AjaxCounty where </font><a href="mailto:CityID=@Field"><font color="#000000">CityID=@Field</font></a><br /><font color="#000000">       <br />fetch next from city_cursor into @Field<font color="#339966">//下一个CityID</font><br />end<br />close city_cursor<font color="#339966">//关闭游标<br /></font>deallocate city_cursor<font color="#339966">//释放游标引用</font><br />GO</font></p><p class="indent"><font color="#000000">执行结果</font></p><p>&nbsp;</p><p class="indent"><img alt="" src="http://xclw.bokee.com/photo/view.fcgi?mode=3&amp;id=656104" /></p><p>&nbsp;</p><p class="indent">好了,关于存储过程先写到这里.以上几个例子基本上实现了平常所用到的大部分功能.至于复杂的存储过程,所用到的知道主要是SQL的语法,以及SQL中内置函数的使用.已不属于本文所要讨论的范围了.</p></font></font></font></p><p>小实例，声明了三个变量，进行更新操作<br />&nbsp;CREATE PROCEDURE [dbo].[BZ_Update]<br />&nbsp;&nbsp;@BZ varchar(max),<br />&nbsp;&nbsp;@RTF varchar(max),<br />&nbsp;&nbsp;@idFlag int<br />&nbsp;&nbsp;AS<br />&nbsp;&nbsp; update INFO set 备注=(@BZ),RTF=(@RTF) where <a href="mailto:TID=@idFlag">TID=@idFlag</a></p><p><br />GO</p><p>&nbsp;</p><p>&nbsp;</p><p><span style="color: rgb(128, 0, 0);">文章来源：<a href="http://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507183.html">http://www.cnblogs.com/Nina-piaoye/archive/2006/09/18/507183.html</a></span></p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/372.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=372</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=372&amp;key=058f8363</trackback:ping></item><item><title>sql 2005/2008 导入Access mdb</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/371.html</link><pubDate>Wed, 30 Nov 2011 21:57:14 +0800</pubDate><guid>http://www.spersky.com/post/371.html</guid><description><![CDATA[<p>下面介绍的是把access中的mdb数据导入到sql中，有些是很值得注意的，calf就因没注意几个细节浪费了几个小时，后经小明指点，成功导入了。</p><p>1.选择sql中已经存在的数据库（没有新建），然后如图</p><p><a href="http://i41.tinypic.com/xo30wp.jpg"><img width="496" height="548" alt="" src="http://i41.tinypic.com/xo30wp.jpg" /></a></p><p>2.数据源选 Microsoft Access，文件名指定一个mdb文件，点击高级，设置如下（重要）</p><p><a href="http://i41.tinypic.com/2dsh5rb.jpg"><img alt="" src="http://i41.tinypic.com/2dsh5rb.jpg" /></a></p><p>3.目标设置如下，其它按提示下一步就可</p><p><a href="http://i43.tinypic.com/1606i3m.jpg"><img alt="" src="http://i43.tinypic.com/1606i3m.jpg" /></a></p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/371.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=371</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=371&amp;key=3fff0719</trackback:ping></item><item><title>Keep at it Until You Get Lucky</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/370.html</link><pubDate>Fri, 25 Nov 2011 13:59:19 +0800</pubDate><guid>http://www.spersky.com/post/370.html</guid><description><![CDATA[<p><em>Keep at it until you get lucky</em>. Isn&rsquo;t it good advice? It&rsquo;s concise but there is a lot of truth to it. It clearly describes the nature of success and what you need to do to achieve it.</p><p>I read about it in a post by J.A. Konrath. While the post itself is about self-publishing, I believe that the advice applies to other fields as well. <em>If you want to succeed in something, you need to keep at it until you get lucky</em>.</p><p>My own experiences confirm this advice. Let&rsquo;s take a closer look at some elements of the advice:<span id="more-3284"> </span></p><p><span><img width="240" height="180" alt="how-to-succeed.jpg" src="http://www.en8848.com.cn/d/file/Article/Psycology/Success/201110/34e26fea98b2edf42b525ac206168fbe.jpg" /><br /></span></p><h3>1. Luck plays a role</h3><p>This is an important nature of success. Some people may not like it and think that they can control everything. But the truth is, luck <em>does</em> play a role. In Outliers, Malcolm Gladwell gives us some good examples of it.</p><p>So if you have worked hard and still haven&rsquo;t succeeded, that&rsquo;s fine. Don&rsquo;t get discouraged or disappointed. You just haven&rsquo;t got lucky yet. On the other hand, if you are successful then don&rsquo;t be proud. You might not be as smart as you think you are.</p><h3>2. Persistence increases your chance</h3><p>While luck does play a role, it&rsquo; doesn&rsquo;t mean that you can&rsquo;t do anything about it. <em>You can increase your chance by being persistence.</em></p><p>For example, let&rsquo;s say you flip a coin and you call heads. But the coin comes up tails. So what can you do to make heads comes up? Well, you just need to keep flipping the coin. If you do that, there is a good chance that heads will eventually come up.</p><p>Similarly, just because you don&rsquo;t succeed in your first try doesn&rsquo;t mean that you&rsquo;re doomed forever. Just keep at it. With persistence, chance is on your side.</p><h3>3. Do what you believe in</h3><p>Being persistent is easier said than done. It&rsquo;s not easy to keep at it in the face of failure. That&rsquo;s why it&rsquo;s important that you do something you believe in. Only by doing so can you keep at it even in bad situations.</p><p>So follow your heart. Is it something you truly believe in? Or perhaps you are in it just for the money or other external rewards?</p><p>In addition to helping you be persistent, there is another big benefit of following your heart: inner fulfillment and personal satisfaction. They are even more important than money or fame.</p><p>Be careful though: there is  a difference between being persistent and being stubborn. <strong>If your heart says yes and you keep at it, you are being persistent. But if your heart says no and you keep at it, you are just being stubborn.</strong></p><h3>4. Learn along the way</h3><p>&ldquo;Keep at it&rdquo; doesn&rsquo;t mean just doing the same thing over and over again until you succeed. Einstein famously said that doing the same thing over and over again but expecting different results is insanity. So don&rsquo;t do that. Instead, you should always improve yourself so that you can do it better next time. That way you have a good reason to expect a different result.</p><p>So, <strong>if you want to succeed in something, give it your best effort. Learn from your mistakes. Repeat.<br /></strong></p>]]></description><category>英语小屋</category><comments>http://www.spersky.com/post/370.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=370</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=370&amp;key=7b16185c</trackback:ping></item><item><title>vb.net 系统热键实例</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/vbhotkey.html</link><pubDate>Wed, 23 Nov 2011 13:41:15 +0800</pubDate><guid>http://www.spersky.com/post/vbhotkey.html</guid><description><![CDATA[有些经常用到的程序，我们需要给它增加热键功能以方便快速调用，以下代码可以让vb.net中的主界面被热键Alt+2调出或隐藏，具体效果可以看<a target="_blank" href="http://www.spersky.com/post/nnNote.html">牛牛记事</a><br /><div class="codeText"><div class="codeHead"><span class="lantxt">ASP/Visual Basic Code</span><span style="cursor: pointer" class="copyCodeText" onclick="copyIdText('code_2940')">复制内容到剪贴板</span></div><div id="code_2940"><ol class="dp-vb">    <li class="alt"><span><span>&nbsp;</span><span class="keyword">Const</span><span>&nbsp;MYKEYID1&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;=&nbsp;9 &nbsp;&nbsp;</span></span></li>    <li><span class="keyword">Const</span><span>&nbsp;MYKEYID2&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;=&nbsp;10 &nbsp;&nbsp;</span></li>    <li class="alt"><span class="keyword">Public</span><span>&nbsp;</span><span class="keyword">Const</span><span>&nbsp;MOD_ALT&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;=&nbsp;&amp;H1&nbsp;</span><span class="comment">'Alt&nbsp;key </span><span>&nbsp;&nbsp;</span></li>    <li><span class="comment">'Public&nbsp;Const&nbsp;VK_NUMPAD1&nbsp;As&nbsp;Integer&nbsp;=&nbsp;&amp;H61&nbsp;'NumPad&nbsp;1&nbsp;key </span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span class="comment">'Public&nbsp;Const&nbsp;VK_NUMPAD2&nbsp;As&nbsp;Integer&nbsp;=&nbsp;&amp;H62&nbsp;'NumPad&nbsp;2&nbsp;key </span><span>&nbsp;&nbsp;</span></li>    <li><span class="keyword">Public</span><span>&nbsp;</span><span class="keyword">Declare</span><span>&nbsp;</span><span class="keyword">Function</span><span>&nbsp;RegisterHotKey&nbsp;</span><span class="keyword">Lib</span><span>&nbsp;</span><span class="string">&quot;user32&quot;</span><span>&nbsp;(</span><span class="keyword">ByVal</span><span>&nbsp;hwnd&nbsp;</span><span class="keyword">As</span><span>&nbsp;IntPtr,&nbsp;</span><span class="keyword">ByVal</span><span>&nbsp;id&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>,&nbsp;</span><span class="keyword">ByVal</span><span>&nbsp;fsModifiers&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>,&nbsp;</span><span class="keyword">ByVal</span><span>&nbsp;vk&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>)&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span class="keyword">Public</span><span>&nbsp;</span><span class="keyword">Declare</span><span>&nbsp;</span><span class="keyword">Function</span><span>&nbsp;UnregisterHotKey&nbsp;</span><span class="keyword">Lib</span><span>&nbsp;</span><span class="string">&quot;user32&quot;</span><span>&nbsp;(</span><span class="keyword">ByVal</span><span>&nbsp;hwnd&nbsp;</span><span class="keyword">As</span><span>&nbsp;IntPtr,&nbsp;</span><span class="keyword">ByVal</span><span>&nbsp;id&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>)&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;&nbsp;</span></li>    <li><span class="keyword">Public</span><span>&nbsp;</span><span class="keyword">Const</span><span>&nbsp;WM_HOTKEY&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Integer</span><span>&nbsp;=&nbsp;&amp;H312 &nbsp;&nbsp;</span></li>    <li class="alt"><span class="keyword">Protected</span><span>&nbsp;</span><span class="keyword">Overrides</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;WndProc(</span><span class="keyword">ByRef</span><span>&nbsp;m&nbsp;</span><span class="keyword">As</span><span>&nbsp;System.Windows.Forms.Message) &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;m.Msg&nbsp;=&nbsp;WM_HOTKEY&nbsp;</span><span class="keyword">And</span><span>&nbsp;m.WParam.ToInt32&nbsp;=&nbsp;MYKEYID1&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'Me.Text&nbsp;=&nbsp;DateTime.Now.Second.ToString&nbsp;&amp;&nbsp;&quot;key&nbsp;1&quot; </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Me</span><span>.WindowState&nbsp;=&nbsp;FormWindowState.Normal &nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">ElseIf</span><span>&nbsp;m.Msg&nbsp;=&nbsp;WM_HOTKEY&nbsp;</span><span class="keyword">And</span><span>&nbsp;m.WParam.ToInt32&nbsp;=&nbsp;MYKEYID2&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'Me.Text&nbsp;=&nbsp;DateTime.Now.Second.ToString&nbsp;&amp;&nbsp;&quot;key&nbsp;2&quot; </span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'Me.WindowState&nbsp;=&nbsp;FormWindowState.Minimized </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;</span><span class="keyword">Me</span><span>.WindowState&nbsp;=&nbsp;FormWindowState.Normal&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Me</span><span>.WindowState&nbsp;=&nbsp;FormWindowState.Minimized &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'Me.ShowInTaskbar&nbsp;=&nbsp;False </span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hide() &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;rbt2.Checked&nbsp;=&nbsp;</span><span class="keyword">False</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gbBiji.Visible&nbsp;=&nbsp;</span><span class="keyword">False</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'gbShoucang.Visible&nbsp;=&nbsp;True </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'gbShoucang.Visible&nbsp;=&nbsp;False </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;gbBiji.Visible&nbsp;=&nbsp;</span><span class="keyword">True</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Show() &nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Me</span><span>.WindowState&nbsp;=&nbsp;FormWindowState.Normal &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Me</span><span>.ShowInTaskbar&nbsp;=&nbsp;</span><span class="keyword">True</span><span>&nbsp;&nbsp;</span></li>    <li class="alt">&nbsp;</li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">MyBase</span><span>.WndProc(m)&nbsp;</span><span class="comment">'Never&nbsp;Forget&nbsp;This </span><span>&nbsp;&nbsp;</span></li>    <li><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span class="keyword">Private</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;frmTXL_FormClosing(</span><span class="keyword">ByVal</span><span>&nbsp;sender&nbsp;</span><span class="keyword">As</span><span>&nbsp;</span><span class="keyword">Object</span><span>,&nbsp;</span><span class="keyword">ByVal</span><span>&nbsp;e&nbsp;</span><span class="keyword">As</span><span>&nbsp;System.Windows.Forms.FormClosingEventArgs)&nbsp;</span><span class="keyword">Handles</span><span>&nbsp;</span><span class="keyword">Me</span><span>.FormClosing &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;WindowState&nbsp;=&nbsp;FormWindowState.Minimized &nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;Visible&nbsp;=&nbsp;</span><span class="keyword">False</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">'&nbsp;Me.ShowInTaskbar&nbsp;=&nbsp;False </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">If</span><span>&nbsp;My.Settings.trayClose&nbsp;=&nbsp;</span><span class="keyword">True</span><span>&nbsp;</span><span class="keyword">Then</span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;e.Cancel&nbsp;=&nbsp;</span><span class="keyword">True</span><span>&nbsp;</span><span class="comment">'不关闭 </span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">Else</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UnregisterHotKey(</span><span class="keyword">Me</span><span>.Handle,&nbsp;MYKEYID1)&nbsp;</span><span class="comment">'Remember&nbsp;to&nbsp;unregister&nbsp;the&nbsp;hotkey </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;UnregisterHotKey(</span><span class="keyword">Me</span><span>.Handle,&nbsp;MYKEYID2)&nbsp;</span><span class="comment">'Remember&nbsp;to&nbsp;unregister&nbsp;the&nbsp;hotkey </span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">If</span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">''&nbsp;Exit&nbsp;Sub </span><span>&nbsp;&nbsp;</span></li>    <li><span>&nbsp;&nbsp;</span></li>    <li class="alt"><span class="keyword">End</span><span>&nbsp;</span><span class="keyword">Sub</span><span>&nbsp;</span><span class="comment">'记录选择过的分组 </span><span>&nbsp;&nbsp;</span></li></ol></div></div><p>&nbsp;此外还要在load事件中添加如下代码</p><div class="codeText"><div class="codeHead"><span class="lantxt">ASP/Visual Basic Code</span><span style="cursor: pointer" class="copyCodeText" onclick="copyIdText('code_5708')">复制内容到剪贴板</span></div><div id="code_5708"><ol class="dp-vb">    <li class="alt"><span><span>RegisterHotKey(</span><span class="keyword">Me</span><span>.Handle, MYKEYID1, MOD_ALT, </span><span class="keyword">CInt</span><span>(Keys.D1)) </span><span class="comment">'最后一个参数可变 </span></span></li>    <li><span>RegisterHotKey(</span><span class="keyword">Me</span><span>.Handle, MYKEYID2, MOD_ALT, </span><span class="keyword">CInt</span><span>(Keys.D2)) </span></li></ol></div></div><p><br />&nbsp;更多参考：<a rel="nofollow" target="_blank" href="http://social.msdn.microsoft.com/forums/en-US/Vsexpressvb/thread/2622427d-1e15-4f30-b01d-57b0ba054f5c/">msdn</a></p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/vbhotkey.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=369</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=369&amp;key=6d9b6893</trackback:ping></item><item><title>vb vb.net实用例子</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/vb1001.html</link><pubDate>Sun, 06 Nov 2011 20:39:24 +0800</pubDate><guid>http://www.spersky.com/post/vb1001.html</guid><description><![CDATA[<p>精选calf自己用过的小实例，算是做一个笔记，同时也希望给初学vb（vb.net）的朋友带来帮助；</p><p>1.<a href="http://www.spersky.com/upload/ContextMenuStrip保存到文本.rar" target="_blank">ContextMenuStrip保存到文本.rar</a><br /><br />此列可以了解到的知识：<br />1.如何创建，读取文本文件<br />2.ContextMenuStrip控件增删操作<br />3.打开程序根目录<br />4.检查文件、文件夹是否存在</p>]]></description><category>编程学习</category><comments>http://www.spersky.com/post/vb1001.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=368</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=368&amp;key=dd45eccd</trackback:ping></item><item><title>photoshop(cs5) 抽出滤镜下载</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/367.html</link><pubDate>Sun, 23 Oct 2011 16:30:11 +0800</pubDate><guid>http://www.spersky.com/post/367.html</guid><description><![CDATA[<p>photoshop 抽出滤镜；从cs4开始已经被（选择-调整边缘代替），cs5 也只有手动添加了，需要的可以在这里下载(放在 \Photoshop\Plug-ins\Filters下）</p><p><a rel="nofollow" href="http://dl.dbank.com/c0phq69vs7">http://dl.dbank.com/c0phq69vs7</a>&nbsp;</p><p>或者<iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="https://skydrive.live.com/embedicon.aspx/ForDownload/ExtractPlus.rar?cid=95f4b13d4fc6716f&amp;sc=documents" frameborder="0" marginwidth="0" scrolling="no"></iframe></p><p>调整边缘的具体用法和技巧</p><p>用Photoshop抠图时最常遇到一个问题：由于无法完全准确建立选择区，抠完后的图像会残留下背景中的杂色。我们常统一称此类现象为白边(图1)。对于这类讨厌的白边，现在我们有没有什么简单快捷的方法来处理呢？<img border="1" alt="拖动鼠标 Photoshop抠图无白边" src="http://school.zzit.com.cn/upimg/article/2008/allimg/081222/1621180.jpg" /><br />　　抠出的图像周围有白边</p><p>&nbsp;</p><p>　　在较低的版本中，我们可以使用&ldquo;消除锯齿&rdquo;命令和设置羽化半径的方法直接建立出带有渐隐边缘的选择区。但选择区一旦建立好，就不能直接更改了。想要更加细致的修改就必须借助通道、蒙版或者快速蒙版这样的复杂操作。而在Photoshop CS3及以上的版本中，有一个非常可爱的选择辅助工具&ldquo;<strong>调整边缘</strong>&rdquo;。运用它上面一系列的滑块和显示模式，我们就可以解决白边问题了。</p><p>　　<strong>初识调整边缘工具</strong></p><p>　　对于调整边缘工具，想必有很多朋友都比较陌生。我们有必要在用它进行去白边前对它有个简单的认识。以抠出主角女孩为例，我们先使用套索工具建立出主角女孩的选区，单击属性栏中的&ldquo;调整边缘&rdquo;按钮，弹出调整对话框。现在我们来看一下它的界面(图2)，可以看到，调整边缘工具分为左上角的调整滑块区、中间的显示模式区、下部的说明区、右上角的按钮与预览区四个大的区域。</p><p align="center"><img alt="拖动鼠标 Photoshop抠图无白边" src="http://school.zzit.com.cn/upimg/article/2008/allimg/081222/1621181.jpg" /></p><p>　　调整滑块区：使用滑块改变选区的边缘，使它更加软或者硬、平滑或者细致，也可以改变选区的扩展与收缩量，使它更小或者更大，最终符合我们的要求。<br />　　显示模式区：使用各种方式显示出选择区的范围，以屏蔽选择区外图像对我们操作的影响，便于观察抠出图像与各种背景的混合效果。<br />　　说明区：类似于帮助，它显示当前设置工具的简单介绍，对我们的操作起到提示作用。<br />　　按钮与预览区：它们和别的工具一样，可以对当前的操作进行确认、复位，以及预览调整结果。</p><p>　　<strong>如何去白边</strong></p><p>　　认识了调整边缘工具后，我们该如何运用这些选项除去那些讨厌的白边呢?事实上去除白边，我们主要是运用调整边缘工具的调整滑块区和显示模式区，它们可是调整边缘工具的核心哟!</p><p>　　半径选项的作用是，通过调大它的数值，将选区边缘变得更加柔和，特别适合调整具有柔软边缘的角色，比如本例中女孩穿的毛衣、毛茸茸的帽子以及柔软的头发。如果边缘太过于生硬，在合成时会显得很假。用这个选项可以很简单地解决这个问题。</p><p>　　对比度则和半径选项相反，增大它的数值可以将边缘变得非常硬。如果我们抠取的是边缘十分清晰的主体，可以利用这个选项增加边缘的清晰程度。增加平滑值可以将选区中的细节弱化，去除毛刺或者缝隙，使选择区更加平滑。</p><p>　　羽化选项可以将选区边缘进行模糊处理，它和半径选项是不同的，半径选项是向选区内部渐隐，而羽化选项则向边缘两侧软化。相比来讲，半径选项更不易引起白边或者黑边现象。</p><p>　　收缩/扩展选项可以将选区变大或者变小，如果你的选区框选得过大，会露出一部分背景，那么将它缩小一点，就可以改善啦!</p><p>　　我们再来看看<strong>五种显示模式</strong>。</p><p>　　第一种为标准模式，即我们做出选区后，不做任何设置时的默认模式，我们可以看到背景与选择区的内部。<br />　　第二种为快速蒙版预览模式，它可以将选区以外的部分用半透明的颜色盖起来，从而强化我们的选区，让我们更容易观察到选区的形状。<br />　　第三种和第四种分别是黑背景和白背景模式，我们可以利用这两个模式观察到我们抠取图像放在暗背景和亮背景中时，边缘是否融合正常。<br /><font face="Verdana">　　最后一种为蒙版预览模式，我们可以利用它观察到选区的边缘情况。它是最为直观的选区观察工具，适合对通道和蒙版非常熟悉的用户使用。<br /></font><br />　　图3为设置了半径选项和平滑选项的边缘调整效果。我们使用蒙版预览模式来看一下选区的情况，可以看到，经过调整之后，选择区变得更加平滑，渐隐的边缘使主体可以与背景更加柔和地融合在一起。</p><p align="center"><img alt="拖动鼠标 Photoshop抠图无白边" src="http://school.zzit.com.cn/upimg/article/2008/allimg/081222/1621182.jpg" /></p><p>　　总的来说，调整边缘工具是用于提高工作效率的工具，如果想做出十分复杂的选区来，我们还是需要对通道、蒙版、计算等知识进行更进一步的了解，才能真正掌握较复杂的技术。</p><p>转载于：<a rel="nofollow" href="http://school.zzit.com.cn/PlanarDesign/Photoshop/20081222/164697.html">http://school.zzit.com.cn/PlanarDesign/Photoshop/20081222/164697.html</a></p><p>&nbsp;</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/367.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=367</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=367&amp;key=f2323794</trackback:ping></item><item><title>图片批量处理 软件</title><author>625999210@qq.com (sper)</author><link>http://www.spersky.com/post/366.html</link><pubDate>Sun, 16 Oct 2011 16:15:38 +0800</pubDate><guid>http://www.spersky.com/post/366.html</guid><description><![CDATA[<p>&nbsp;图片批量处理软件是处理大量图片时节省时间的首选，以下收集了比较好的几款，有好的还会不断增加</p><p>1.Image Tuner</p><p>Image Tuner是免费的图片批量缩放、转换、水印添加和改名软件。支持JPEG, BMP, PNG, TIFF和GIF等常见图像格式。<br />主要特点：<br />完全免费不含任何捆绑和广告<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 只有一个文件，方便携带<br />支持批量缩放、更名、转换和水印的添加<br />也提供了大量适用于高级用户的可选项<br />内置发布模版，方便图片共享，模版有iPod/iPhone/Facebook/Twitter/DVD等<br />支持Win9x到Windows 7的所有操作系统，同时支持32位和64位系统</p><p>2.QQ影像（这个就不多介绍了）</p>]]></description><category>电脑网络</category><comments>http://www.spersky.com/post/366.html#comment</comments><wfw:comment>http://www.spersky.com/</wfw:comment><wfw:commentRss>http://www.spersky.com/feed.asp?cmt=366</wfw:commentRss><trackback:ping>http://www.spersky.com/cmd.asp?act=tb&amp;id=366&amp;key=3f92ca4e</trackback:ping></item></channel></rss>

