<?xml version="1.0" encoding="UTF-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
  <title type="html"><![CDATA[CWorld]]></title>
  <subtitle type="html"><![CDATA[0 o&#114; 1, what ever]]></subtitle>
  <id>http://mk-pig.com/cworld/</id>
  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/" /> 
  <link rel="self" type="application/atom+xml" href="http://mk-pig.com/cworld/atom.asp" /> 
  <generator uri="http://www.pjhome.net/" version="2.8">PJBlog3</generator> 
  <updated>2008-11-22T14:45:13+08:00</updated>

  <entry>
	  <title type="html"><![CDATA[SWF 本地通信 LocalConnection 扩展]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=7" label="Action Script 3" /> 
	  <updated>2008-11-22T14:45:13+08:00</updated>
	  <published>2008-11-22T14:45:13+08:00</published>
		  <summary type="html"><![CDATA[<p>flash.net.LocalConnection 可以让SWF在许可的安全沙箱内交互. 使用的时候需要交互的双方都知道对方的套接字, 这在一定程度上影响了程序的灵活性.</p>  <p>ZConnection 就是为此而生. 在两套程序中只要指定统一的套接字即可建立通信通道, 有些类似于P2P的感觉.</p>  <p>ZConnection 的了连接建立过程:</p>  <p>1. ZConnection 在连接的时候会测试指定的套接字. </p>  <p>a. 连接<font color="#008000">成功</font>, 说明这是第一个创建 LocalConnection, <font color="#008080">等待</font> <font color="#800080">互通连接请求;</font>    <br />b. 连接<font color="#ff0000">失败</font>, 说明套接字已被占用, 这时候就更新自己的套接字直到可以建立连接为止. 当连接成功后立即向指定的套接字 <font color="#008080">发送</font> <font color="#800080">互通连接请求; <font color="#008080">等待 <font color="#800080">互通</font></font></font><font color="#800080">请求的确认 <font color="#000000">信息;</font></font></p>  <p>2. ZConnection 收到 <font color="#800080">互通连接请求</font>, 如果已经建立了互通连接, 则向请求方 <font color="#008080">发送</font> <font color="#800080">互通连接的</font> 的消息; 否则 <font color="#008080">发送</font> <font color="#800080">互通连接的</font> 的消息.</p>  <p>3. ZConnection 收到 <font color="#800080">确认信息</font>. 连接创建过程结束.</p>  <p>由于创建过程需要耗费一些时间, 所以建议使用 ZConnectionEvent.CONNECT 事件来确认连接是否创建成功.</p>  <p>实例及使用方法下载: <u>Sample.rar</u></p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=24" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=24</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[汉字的 Unicode 编码范围]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=13" label="未分类" /> 
	  <updated>2008-11-17T23:20:45+08:00</updated>
	  <published>2008-11-17T23:20:45+08:00</published>
		  <summary type="html"><![CDATA[<p>今天QQ群里有人问怎么实现随机汉字.</p>
<p><span style="background-color: #ccffff"><span style=""><span style=""><font size="2">String.fromCharCode(int(Math.random()*20901+0x4e00))</font></span></span></span></p>
<p>于是引出了随机生成的汉字像一堆乱码的问题. 之后就百度了一下汉字的Unicode范围, 找到以下资料, Copy 过来一备份. 原文见: <a href="http://blog.oasisfeng.com/2006/10/19/full-cjk-unicode-range/">http://blog.oasisfeng.com/2006/10/19/full-cjk-unicode-range/</a></p>
<p>1）标准CJK文字<br />
<a href="http://www.unicode.org/Public/UNIDATA/Unihan.html">http://www.unicode.org/Public/UNIDATA/Unihan.html</a></p>
<table cellspacing="1" cellpadding="1" width="380" align="left" border="1" style="width: 380px; height: 243px">
    <tbody>
        <tr>
            <td width="107">Code point range</td>
            <td width="205">Block name</td>
            <td width="50">Release</td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U</span><span style="color: #333333"><span>+3400..U+4DB5</span></span></td>
            <td width="205"><span style="color: #333333">CJK Unified Ideographs Extension A</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">3.0</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+4E00..U+9FA5</span></td>
            <td width="205"><span style="color: #333333">CJK Unified Ideographs</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">1.1</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+9FA6..U+9FBB</span></td>
            <td width="205"><span style="color: #333333">CJK Unified Ideographs</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">4.1</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+F900..U+FA2D</span></td>
            <td width="205"><span style="color: #333333">CJK Compatibility Ideographs</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">1.1&nbsp;</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+FA30..U+FA6A</span></td>
            <td width="205"><span style="color: #333333">CJK Compatibility Ideographs</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">3.2&nbsp;</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+FA70..U+FAD9</span></td>
            <td width="205"><span style="color: #333333">CJK Compatibility Ideographs</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">4.1</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+20000..U+2A6D6</span></td>
            <td width="205"><span style="color: #333333">CJK Unified Ideographs Extension B</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">3.1&nbsp;</span></td>
        </tr>
        <tr>
            <td width="107"><span style="color: #333333">U+2F800..U+2FA1D</span></td>
            <td width="205"><span style="color: #333333">CJK Compatibility Supplement</span></td>
            <td width="50" style="text-align: center"><span style="color: #333333">3.1</span></td>
        </tr>
    </tbody>
</table>
<p>&nbsp;<br />
&nbsp;&nbsp;<br />
&nbsp;<br />
<br />
&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>2）全角ASCII、全角中英文标点、半宽片假名、半宽平假名、半宽韩文字母：<span style="background-color: #ccffcc">FF00-FFEF<br />
</span><a href="http://www.unicode.org/charts/PDF/UFF00.pdf">http://www.unicode.org/charts/PDF/UFF00.pdf</a></p>
<p>3）CJK部首补充：<span style="background-color: #ccffcc">2E80-2EFF<br />
</span><a href="http://www.unicode.org/charts/PDF/U2E80.pdf">http://www.unicode.org/charts/PDF/U2E80.pdf</a></p>
<p>4）CJK标点符号：<span style="background-color: #ccffcc">3000-303F</span><br />
<a href="http://www.unicode.org/charts/PDF/U3000.pdf">http://www.unicode.org/charts/PDF/U3000.pdf</a></p>
<p>5）CJK笔划：<span style="background-color: #ccffcc">31C0-31EF</span><br />
<a href="http://www.unicode.org/charts/PDF/U31C0.pdf">http://www.unicode.org/charts/PDF/U31C0.pdf</a></p>
<p>6）康熙部首：<span style="background-color: #c0c0c0">2F00-2FDF</span><br />
<a href="http://www.unicode.org/charts/PDF/U2F00.pdf">http://www.unicode.org/charts/PDF/U2F00.pdf</a></p>
<p>7）汉字结构描述字符：<span style="background-color: #c0c0c0">2FF0-2FFF</span><br />
<a href="http://www.unicode.org/charts/PDF/U2FF0.pdf">http://www.unicode.org/charts/PDF/U2FF0.pdf</a></p>
<p>8）注音符号：<span style="background-color: #c0c0c0">3100-312F</span><br />
<a href="http://www.unicode.org/charts/PDF/U3100.pdf">http://www.unicode.org/charts/PDF/U3100.pdf</a></p>
<p>9）注音符号（闽南语、客家语扩展）：<span style="background-color: #c0c0c0">31A0-31BF<br />
</span><a href="http://www.unicode.org/charts/PDF/U31A0.pdf">http://www.unicode.org/charts/PDF/U31A0.pdf</a></p>
<p>10）日文平假名：<span style="background-color: #c0c0c0">3040-309F<br />
</span><a href="http://www.unicode.org/charts/PDF/U3040.pdf">http://www.unicode.org/charts/PDF/U3040.pdf</a></p>
<p>11）日文片假名：<span style="background-color: #c0c0c0">30A0-30FF</span><br />
<a href="http://www.unicode.org/charts/PDF/U30A0.pdf">http://www.unicode.org/charts/PDF/U30A0.pdf</a></p>
<p>12）日文片假名拼音扩展：<span style="background-color: #c0c0c0">31F0-31FF<br />
</span><a href="http://www.unicode.org/charts/PDF/U31F0.pdf">http://www.unicode.org/charts/PDF/U31F0.pdf</a></p>
<p>13）韩文拼音：<span style="background-color: #c0c0c0">AC00-D7AF<br />
</span><a href="http://www.unicode.org/charts/PDF/UAC00.pdf">http://www.unicode.org/charts/PDF/UAC00.pdf</a></p>
<p>14）韩文字母：<span style="background-color: #c0c0c0">1100-11FF</span><br />
<a href="http://www.unicode.org/charts/PDF/U1100.pdf">http://www.unicode.org/charts/PDF/U1100.pdf</a></p>
<p>15）韩文兼容字母：<span style="background-color: #c0c0c0">3130-318F</span><br />
<a href="http://www.unicode.org/charts/PDF/U3130.pdf">http://www.unicode.org/charts/PDF/U3130.pdf</a></p>
<p>16）太玄经符号：<span style="background-color: #c0c0c0">1D300-1D35F</span><br />
<a href="http://www.unicode.org/charts/PDF/U1D300.pdf">http://www.unicode.org/charts/PDF/U1D300.pdf</a></p>
<p>17）易经六十四卦象：<span style="background-color: #c0c0c0">4DC0-4DFF</span><br />
<a href="http://www.unicode.org/charts/PDF/U4DC0.pdf">http://www.unicode.org/charts/PDF/U4DC0.pdf</a></p>
<p>18）彝文音节：<span style="background-color: #c0c0c0">A000-A48F</span><br />
<a href="http://www.unicode.org/charts/PDF/UA000.pdf">http://www.unicode.org/charts/PDF/UA000.pdf</a></p>
<p>19）彝文部首：<span style="background-color: #c0c0c0">A490-A4CF</span><br />
<a href="http://www.unicode.org/charts/PDF/UA490.pdf">http://www.unicode.org/charts/PDF/UA490.pdf</a></p>
<p>20）盲文符号：<span style="background-color: #c0c0c0">2800-28FF</span><br />
<a href="http://www.unicode.org/charts/PDF/U2800.pdf">http://www.unicode.org/charts/PDF/U2800.pdf</a></p>
<p>21）CJK字母及月份：<span style="background-color: #c0c0c0">3200-32FF<br />
</span><a href="http://www.unicode.org/charts/PDF/U3200.pdf">http://www.unicode.org/charts/PDF/U3200.pdf</a></p>
<p>22）CJK特殊符号（日期合并）：<span style="background-color: #c0c0c0">3300-33FF<br />
</span><a href="http://www.unicode.org/charts/PDF/U3300.pdf">http://www.unicode.org/charts/PDF/U3300.pdf</a></p>
<p>23）装饰符号（非CJK专用）：<span style="background-color: #c0c0c0">2700-27BF</span><br />
<a href="http://www.unicode.org/charts/PDF/U2700.pdf">http://www.unicode.org/charts/PDF/U2700.pdf</a></p>
<p>24）杂项符号（非CJK专用）：<span style="background-color: #c0c0c0">2600-26FF</span><br />
<a href="http://www.unicode.org/charts/PDF/U2600.pdf">http://www.unicode.org/charts/PDF/U2600.pdf</a></p>
<p>25）中文竖排标点：<span style="background-color: #c0c0c0">FE10-FE1F<br />
</span><a href="http://www.unicode.org/charts/PDF/UFE10.pdf">http://www.unicode.org/charts/PDF/UFE10.pdf</a></p>
<p>26）CJK兼容符号（竖排变体、下划线、顿号）：<span style="background-color: #c0c0c0">FE30-FE4F<br />
</span><a href="http://www.unicode.org/charts/PDF/UFE30.pdf">http://www.unicode.org/charts/PDF/UFE30.pdf</a></p>
<p>&nbsp;</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=22" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=22</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[IE 妥协了?]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=24" label="浏览器" /> 
	  <updated>2008-11-13T12:44:16+08:00</updated>
	  <published>2008-11-13T12:44:16+08:00</published>
		  <summary type="html"><![CDATA[]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=21" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=21</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[鼠标双击与单击事件分离]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=7" label="Action Script 3" /> 
	  <updated>2008-11-12T14:44:08+08:00</updated>
	  <published>2008-11-12T14:44:08+08:00</published>
		  <summary type="html"><![CDATA[<p>将按钮的单击与双击事件分离.</p>
<p>由于实现原因, Flash AS3 的按钮双击事件总是伴随在依次单击之后.&nbsp;几经琢磨, 用Timer来将多余的单击事件隔离.&nbsp;</p>
<p>使用此类会有两个后遗症:<br />
&nbsp;</p>
<ul type="1">
    <li><span class="t_tag" href="tag.php?name=%E5%AF%B9%E8%B1%A1" onclick="tagshow(event)">对象</span> <font color="#a0522d">单击事件</font> 会有 <font color="#ff8c00">90ms</font> 的延迟(可修改), 但双击事件不会有延迟.</li>
    <li>在添加 <font color="#0000ff">MOUSE_DOWN</font> 和 <font color="#0000ff">CLICK</font>, 两个事件时, 指定的优先级不要超过 <font color="#ff8c00">999</font>(可修改).</li>
</ul>
<p>DoubleClick 类:</p>
<div id="as3class" lang="actionscript" title="DoubleClick" style="border-right: #999 1px solid; padding-right: 5px; padding-left: 5px; border-top: #999 1px solid; padding-bottom: 5px; border-left: #999 1px solid; padding-top: 5px; border-bottom: #999 1px solid; background-color: #efefef">package ziv.utils {<br />
&nbsp;import flash.display.InteractiveObject;<br />
&nbsp;import flash.events.MouseEvent;<br />
&nbsp;import flash.events.TimerEvent;<br />
&nbsp;import flash.utils.Timer;&nbsp;;}<br /><br />&nbsp;/**<br />
&nbsp; * @Class:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ziv.utils.DoubleClick<br />
&nbsp; * @Author:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ziv.yuan<br />
&nbsp; * @Version:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ver 1.0<br />
&nbsp; * @Create Date:&nbsp;&nbsp;&nbsp;&nbsp; 2008-11-12<br />
&nbsp; * @Last Modify:&nbsp;&nbsp;&nbsp;&nbsp; 2008-11-12<br />
&nbsp; * @Describe:<br />
&nbsp; *&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp; * @Usage:<br />
&nbsp; *&nbsp; <br />
&nbsp; */<br />
&nbsp;public class DoubleClick {<br />
&nbsp;&nbsp;private static var _timer:Timer;<br />
&nbsp;&nbsp;private static var _counter:int = -1;<br />
&nbsp;&nbsp;private static var _clickEvent:MouseEvent;<br />
&nbsp;&nbsp;private static var _timerEvent:Boolean = false;}<br />
<br />
&nbsp;&nbsp;private static function _click(e:MouseEvent):void {<br />
&nbsp;&nbsp;&nbsp;if (_timerEvent) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timerEvent = false;<br />
&nbsp;&nbsp;&nbsp;&nbsp;return;<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;if (_counter == 1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timer.stop();<br />
&nbsp;&nbsp;&nbsp;&nbsp;var edc:MouseEvent = new MouseEvent(MouseEvent.DOUBLE_CLICK, e.bubbles, e.cancelable, e.localX, e.localY, e.relatedObject, e.ctrlKey, e.altKey, e.shiftKey, e.buttonDown, e.delta);<br />
&nbsp;&nbsp;&nbsp;&nbsp;e.target[&quot;dispatchEvent&quot;](edc);<br />
&nbsp;&nbsp;&nbsp;&nbsp;_counter = 0;<br />
&nbsp;&nbsp;&nbsp;} else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;_counter++;<br />
&nbsp;&nbsp;&nbsp;&nbsp;_clickEvent = e;<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timer.start();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;e.stopImmediatePropagation();<br />
&nbsp;&nbsp;};}<br />
<br />
&nbsp;&nbsp;private static function _stopTimer(e:MouseEvent):void {<br />
&nbsp;&nbsp;&nbsp;if (_timer.running) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timer.stop();<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;};}<br />
<br />
&nbsp;&nbsp;private static function _dispatch(e:TimerEvent):void {<br />
&nbsp;&nbsp;&nbsp;_timerEvent = true;<br />
&nbsp;&nbsp;&nbsp;_clickEvent.target[&quot;dispatchEvent&quot;](_clickEvent);<br />
&nbsp;&nbsp;&nbsp;_counter = 0;<br />
&nbsp;&nbsp;}<br />
<br />
&nbsp;&nbsp;public static function initial(iObject:InteractiveObject, delay:int = 90, priority:int = 999):void {<br />
&nbsp;&nbsp;&nbsp;if(_counter == -1) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timer = new Timer(delay, 1);<br />
&nbsp;&nbsp;&nbsp;&nbsp;_clickEvent = null;<br />
&nbsp;&nbsp;&nbsp;&nbsp;_counter = 0;<br />
&nbsp;&nbsp;&nbsp;&nbsp;_timer.addEventListener(TimerEvent.TIMER, _dispatch);<br />
&nbsp;&nbsp;&nbsp;}else {<br />
&nbsp;&nbsp;&nbsp;&nbsp;if(_timer.delay != delay) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_timer.delay = delay;<br />
&nbsp;&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;}<br />
&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;//<br />
&nbsp;&nbsp;&nbsp;iObject.addEventListener(MouseEvent.MOUSE_DOWN, _stopTimer, false, priority);<br />
&nbsp;&nbsp;&nbsp;iObject.addEventListener(MouseEvent.CLICK, _click, false, priority);<br />
&nbsp;&nbsp;&nbsp;iObject.doubleClickEnabled = false;<br />
&nbsp;&nbsp;}<br />
&nbsp;}<br />
}<br />
&nbsp;</div>
<p>使用时只需要:&nbsp; DoubleClick.initial(someObject);</p>
<p>后继的操作不受影响.</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=20" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=20</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[AS3 正则表达式的实现BUG?]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=7" label="Action Script 3" /> 
	  <updated>2008-10-23T12:44:27+08:00</updated>
	  <published>2008-10-23T12:44:27+08:00</published>
		  <summary type="html"><![CDATA[<p>先看以下代码:</p>
<div style="border: 1px solid rgb(0, 0, 0); padding: 2px;"><code id="code0">var str = &quot;123456中文中文ABCDEF&quot;;<br />
var reg1 = /[\d]+/;<br />
var reg2 = /[\D]+/;<br />
var reg3 = /[^\d]+/;<br />
var reg4 = /[^\D]+/;<br />
<span class="t_tag" onclick="tagshow(event)" href="http://bbs.actionscript3.cn/tag.php?name=trace">trace</span>(&quot;:: test group A:&quot;);<br />
trace(&quot;reg1 [&quot;+reg1.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg2 [&quot;+reg2.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg3 [&quot;+reg3.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg4 [&quot;+reg4.exec(str)+&quot;]&quot;);<br />
//<br />
reg1 = /[\w]+/;<br />
reg2 = /[\W]+/;<br />
reg3 = /[^\w]+/;<br />
reg4 = /[^\W]+/;<br />
trace(&quot;\n:: test group B:&quot;);<br />
trace(&quot;reg1 [&quot;+reg1.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg2 [&quot;+reg2.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg3 [&quot;+reg3.exec(str)+&quot;]&quot;);<br />
trace(&quot;reg4 [&quot;+reg4.exec(str)+&quot;]&quot;);</code></div>
<p><span class="t_tag" onclick="tagshow(event)" href="http://bbs.actionscript3.cn/tag.php?name=%E7%A8%8B%E5%BA%8F">程序</span>运行结果:</p>
<p>&nbsp;</p>
<div style="border: 1px solid rgb(0, 0, 0); padding: 2px;">
<p><code id="code1">:: test group A:<br />
reg1 [123456]<br />
reg2 [中文中文ABCDEF]<br />
reg3 [中文中文ABCDEF]<br />
reg4 [123456中文中文]<br />
<br />
:: test group B:<br />
reg1 [123456]<br />
reg2 [中文中文]<br />
reg3 [中文中文]<br />
reg4 [123456中文中文ABCDEF]</code></p>
</div>
<p>==============================<br />
好了, 现在说下问题.<br />
从概念上来讲我们可以肯定, reg1 和 reg4 应该是同一个结果, 同样 reg2 和 reg3 是一致的.<br />
我们来看一下第一组测试结果:<br />
reg1 和 reg4 的结果不一致<br />
reg2 和 reg3 的结果一致<br />
第二组也是一样.<br />
<br />
这样的结果让我怀疑是否我没有看清楚 AS3 的文档. 于是我查了下帮助:<br />
\d 匹配十进制数字。<br />
\D 匹配除数字以外的任何字符。<br />
\w 匹配单词字符（A-Z、a-z、0-9 或 _）。请注意，\w 不匹配非英文字符，如 &eacute;、&Ograve; 或 &Aacute;。<br />
\W 匹配除单词字符以外的任何字符。<br />
<br />
显然应该是 AS3 正则的实现有问题了. 貌似 \D \W 的范围只局限在了 Unicode 0-255 之间.</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=19" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=19</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[包导入插件]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=5" label="Flash 扩展" /> 
	  <updated>2008-10-16T18:25:44+08:00</updated>
	  <published>2008-10-16T18:25:44+08:00</published>
		  <summary type="html"><![CDATA[<p>在Flash IDE环境下自动导入脚本中用到的类包(package).</p>  <p>自动识别 AS2,AS3.</p>  <p>目前除了 Flash 官方包外还添加了对</p>  <p><a href="http://blog.greensock.com/tweening-family-comparison/">TweenLite</a> (as2,as3),    <br /><a href="http://www.flashsandy.org">FlashSandy</a> (as2,as3)</p>  <p>的支持.</p>  <p><a href="http://mk-pig.com/download/PackageOrganizer_v_1.4.zip">[文件下载]</a></p>  <p>安装方法:</p>  <p>将文件解压到以下目录</p>  <p>Windows 200/XP:   <br /><em>boot drive:</em>\Documents and Settings\<em>[user]</em>\Local Settings\Application Data\Adobe\Flash CS3\[<em>language</em>]\Configuration\Commands</p>  <p>Mac OS X:   <br /> Macintosh HD/Users/<em>[userName]</em>/Library/Application Support/Adobe/Flash CS3/<em>[language]</em>/Configuration/Commands</p>  <p>在 Flash菜单/命令/Script - organize imports</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=17" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=17</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[让PPT中的Flash可以加载文件]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=6" label="Action Script 2" /> 
	  <updated>2008-10-16T18:24:44+08:00</updated>
	  <published>2008-10-16T18:24:44+08:00</published>
		  <summary type="html"><![CDATA[<p>这两天要做个展示, 最后的结果是要插入到 PPT里面的.</p>  <p>如果一开始就是这样规划, 那么我可以把模块都整合到一个文件里. 但现在的问题是所有模块都已独立制作完成, 现在要合起来指不定会出什么差错.</p>  <p>在网上找了下PPT插入Flash的方法, 按方法可以插入Flash了, 播放没有任何问题. 但是不能加载其它模块了. 于是我仔细研究了一下插入PPT的Flash路径.</p>  <p>在 PPT里Flash路径呈现的是如下格式:&#160; file://D:\Temp\index.swf, 即不是通常说的URI也不是普通意义的URL, 什么怪物???好在这还是个表示路径的东西, 这样我们可以自定义一个方法转换统一路径标示. 有了这个统一路径标示加载就不成问题了.</p>  <p>因为以前写过一个获取统一路径的类, 这次就直接整合到一起了. 懒得上传文件了, 直接帖代码:</p>  <p>&#160;</p>  <div style="background-color: #eee">   <p>/**      <br />* @Class:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; mk.utils.SWF       <br />* @Author&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; MK-Pig       <br />* @Version:&#160;&#160;&#160;&#160;&#160;&#160;&#160; ver 1.0       <br />* @Date:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2007-12-14       <br />* @Last Modify:&#160;&#160;&#160; 2007-12-14       <br />* @Describe:&#160;&#160;&#160; <br />*&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />* @Usage:       <br />*&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />*/       <br />class mk.utils.SWF {       <br />&#160;&#160;&#160; static private var _url:String = &quot;&quot;;       <br />&#160;&#160;&#160; static private var _domain:String = &quot;&quot;;       <br />&#160;&#160;&#160; static private var _path:String = &quot;&quot;;       <br />&#160;&#160;&#160; static private var _fileName:String = &quot;&quot;;       <br />&#160;&#160;&#160; static private function _initial():Void {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var a:Array = _root._url.split(&quot;\\&quot;).join(&quot;/&quot;).split(&quot;/&quot;);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; switch (a[0]) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; case &quot;file:&quot; :       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if (a[2] != &quot;&quot;) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; //针对在 PPT 里用嵌入ActiveX方法插入Flash动画引起的路径问题       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; // file://D:\Temp\path\myflash.swf       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; a.splice(1, 0, &quot;&quot;);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; a[3] = a[3].substr(0, a[3].length - 1) + &quot;|&quot;;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _domain = a[0] + &quot;///&quot; + a[3] + &quot;/&quot;;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; break;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; default :       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _domain = a[0] + &quot;//&quot; + a[2] + &quot;/&quot;;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; _url = a.join(&quot;/&quot;);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; _fileName = a.pop().toString();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; _path = a.join(&quot;/&quot;) + &quot;/&quot;;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; static public function get url():String {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(_url == &quot;&quot;)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _initial();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return _url;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; static public function get domain():String {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(_domain == &quot;&quot;)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _initial();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return _domain ;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; static public function get path():String {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(_path == &quot;&quot;)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _initial();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return _path;       <br />&#160;&#160;&#160; }       <br />&#160;&#160;&#160; static public function get fileName():String {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(_fileName == &quot;&quot;)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; _initial();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return _fileName;       <br />&#160;&#160;&#160; }&#160;&#160; <br />&#160;&#160;&#160; /*       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160; 获取文件的完整路径.       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160; 可以使用相对路径. 比如当前目录的上一级可以表示为 &quot;../&quot;, 可以一直递归直到根目录. 当前目录用 &quot;./&quot; 表示, 也可以不写.       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160;&#160;&#160;&#160; 保持一定的容错性, 如:       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160;&#160;&#160;&#160;&#160; //假如&#160;&#160;&#160; _path = &quot;file:///E|/Temp/&quot;;       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160;&#160;&#160;&#160;&#160; trace(SWFPaths.getFullPath(&quot;../../../myGame.swf&quot;));       <br />&#160;&#160;&#160;&#160; *&#160;&#160;&#160;&#160;&#160;&#160;&#160; //return: file://E|/myGame.swf       <br />&#160;&#160;&#160;&#160; */       <br />&#160;&#160;&#160; static public function getFullPath($file:String):String {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; var fp:String = SWF.path;       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $file = $file.split(&quot;\\&quot;).join(&quot;/&quot;);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; if($file.indexOf(&quot;./&quot;) == 0) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $file = $file.substr(2);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; while($file.indexOf(&quot;../&quot;) == 0) {       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; $file = $file.substr(3);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; if(fp != SWF.domain)       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fp = fp.substr(0, fp.lastIndexOf(&quot;/&quot;, fp.length - 2) + 1);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; return fp + $file;       <br />&#160;&#160;&#160; }       <br />}</p> </div> 附PPT里插入Flash方法: <a href="http://tech.163.com/07/0720/16/3JRVTQMD000915AA.html">http://tech.163.com/07/0720/16/3JRVTQMD000915AA.html</a>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=16" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=16</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[图层队列工具]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=5" label="Flash 扩展" /> 
	  <updated>2008-10-16T18:20:51+08:00</updated>
	  <published>2008-10-16T18:20:51+08:00</published>
		  <summary type="html"><![CDATA[<p>一个动画工具, 用于按一定的帧数差排列图层. 以实现逐个显示图片或是文字的功能.</p>  <p>使用简单方便 </p>  <p>第一次要选择所有需做排列的图层,&#160; 再运行命令输入参数. 注意选择顺序, 最先选择的图层优先出现.</p>  <p>以后要修改的时候只要选中这个图层序列的最开始那个层再运行命令即可.</p>  <p>[URL=upload/图层-队列图层.rar]图层-队列图层.rar[/URL]</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=15" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=15</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[XML2Object 解析器 for AS2.0]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=6" label="Action Script 2" /> 
	  <updated>2008-10-16T18:20:07+08:00</updated>
	  <published>2008-10-16T18:20:07+08:00</published>
		  <summary type="html"><![CDATA[<p>在学习 AS3.0 的 XML之后, 深感 AS2 时代的痛苦. 于是就写了个解析器, 基本思路就是把一个XML对象转化为一个Object对象, 所有的节点都转化为一个对象.   <br />
在使用过程中不断的完善这个解析器. 目前还说比较完美了.</p>
<p>具体转换原则:   <br />
1. 将XML节点转换为父节点的属性, 名称同节点名;    <br />
2. XML节点的属性转换为如 &quot;$属性名&quot; 形式的属性;    <br />
3. 在默认情况下, 如果一个节点名在同一级里是唯一的, 则以这节点是一个 Object, 否则建立一个同名数组;    <br />
4. 如果一个节点的第一个子节点是一个文本节点, 则解析器将忽略该节点下的所有子节点, 将该节点转换为一个文本节点. 这样处理的目的主要用来模拟 CDATA.    <br />
5.可自动识别属性里的 数字,颜色,布尔值,百分比.</p>
<p>&nbsp;</p>
<p>点击下载</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=14" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=14</id>
  </entry>	
		
  <entry>
	  <title type="html"><![CDATA[split 执行效率测试]]></title>
	  <author>
		 <name>zivyuan</name>
		 <uri>http://mk-pig.com/cworld/</uri>
		 <email>ziv.yuan@gmail.com</email>
	  </author>
	  <category term="" scheme="http://mk-pig.com/cworld/default.asp?cateID=6" label="Action Script 2" /> 
	  <updated>2008-10-16T18:18:05+08:00</updated>
	  <published>2008-10-16T18:18:05+08:00</published>
		  <summary type="html"><![CDATA[<p>今天回到经典, 看到前些天的回复的贴子里 HBrO 版主提到了 split 执行效率问题.</p>
<p>想想不如做个测试看看. 具体测试内容如下:</p>
<p>function chack_func(_str:String):Boolean {   <br />
&nbsp;&nbsp;&nbsp; //函数来源: <a href="http://bbs.blueidea.com/viewthread.php?tid=2805135&amp;page=1#pid3669740">http://bbs.blueidea.com/viewthread.php?tid=2805135&amp;page=1#pid3669740</a>    <br />
&nbsp;&nbsp;&nbsp; for (var d:Number = _str.length-1; d&gt;=0; d--) {    <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (_str.charAt(d) != &quot; &quot; &amp;&amp; _str.charAt(d) != &quot; &quot;) {    <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true;    <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }    <br />
&nbsp;&nbsp;&nbsp; }    <br />
&nbsp;&nbsp;&nbsp; if (d == -1) {    <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;    <br />
&nbsp;&nbsp;&nbsp; }    <br />
}    <br />
function allBlank(str){    <br />
str = str.split(&quot; &quot;).join(&quot;&quot;);    <br />
str = str.split(&quot; &quot;).join(&quot;&quot;);    <br />
return str.length == 0;    <br />
}    <br />
var _str:String = &quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;;</p>
<p>t = getTimer();   <br />
trace(&quot;blank count: &quot; + chack_func(_str) + &quot; cost: &quot; + (getTimer()-t));    <br />
t = getTimer();    <br />
trace(&quot;blank count: &quot; + allBlank(_str) + &quot; cost: &quot; + (getTimer()-t));</p>
<p>测试结果是 split&nbsp; 的执行效率还可以. 嗯嗯 , 以后可以放心用了.</p>]]></summary>
	  <link rel="alternate" type="text/html" href="http://mk-pig.com/cworld/article.asp?id=13" /> 
	  <id>http://mk-pig.com/cworld/default.asp?id=13</id>
  </entry>	
		
</feed>
