<?xml version="1.0" encoding="GBK" ?>
<rss version="2.0" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dcterms="http://purl.org/dc/terms/">
 <channel>
  	  <title><![CDATA[70岁以后再来看看吧！如果163还在的话]]></title>
	  <link>http://yfyfj.blog.163.com</link>
	  <description><![CDATA[把自己的思想都留住吧! C、C++、PHP、VB、MYSQL、网络安全、CISCO、HUAWEI ROUTER,SWITCH,GATEWAY、软件逆向]]></description>
	  <language>zh-CN</language>
	  <pubDate>Fri, 12 Sep 2008 01:12:26 +0800</pubDate>
	  <lastBuildDate>Fri, 12 Sep 2008 01:12:26 +0800</lastBuildDate>
	  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
	  <generator><![CDATA[NetEase Space]]></generator>
	  <managingEditor><![CDATA[yfyfj]]></managingEditor>
	  <webMaster><![CDATA[留住思想]]></webMaster>
		  <ttl>120</ttl>
	  <image>
	  	<title><![CDATA[70岁以后再来看看吧！如果163还在的话]]></title>
	  	<url>http://ava.blog.163.com/photo/Km-_675jO2DlHp10Cooqmg==/177610710304831553.jpg</url>
	  	<link>http://yfyfj.blog.163.com</link>
	  </image>
  <item>
  	<title><![CDATA[福亿网关恢复密码方式]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420088335556726</link>
    <description><![CDATA[<div>There are 2 ways to reset the GW password. <BR>Only 1 of them will work for your GW. <BR>
<OL>
<LI>Unplug the power and press the reset button, mean while plug the power back on and release the reset buton after 10 sec. 
</LI><LI>Pick up the FXS port and dial **3**0**9#<BR>Then you will hear "Enter value"<BR>Now look at the alarm led.<BR>If it is "ON" then you press 1<BR>If it is "OFF" then you press 0<BR>It will ask you 6 times, if you all answer it correctly, <BR>then the password will be reseted.</LI></OL></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420088335556726</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420088335556726</guid>
    <pubDate>Wed, 3 Sep 2008 15:55:56 +0800</pubDate>
    <dcterms:modified>2008-09-03T15:55:56+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[SL-MON Manual Commands]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420088334814367</link>
    <description><![CDATA[<div>Format is: <BR>command|parameter|meaning|notes <BR><BR>118|N/A|Restart device| Common for all hardware <BR>999|N/A|Turn on/off SIP debug info| common for all hardware <BR>1129|N/A|show SIP &amp; Advansed settings| common for all hardware <BR>1130|sec|rtp stat start | common for all hardware <BR>1132|N/A|setshowDriverDebugMessageMode| common for all hardware <BR>1133|N/A|SetailUsedDefaultGain| common for all hardware <BR>1134|0/1|RTPMultiSenderMode Off/On| common for all hardware <BR>1135|ch|DSP_CH#_check| common for all hardware <BR>1136|0/1/2|Turn off/on ISDN(E1) debug info/show ISDN TS stat| for E1 hardware only <BR>1137|#|CheckDspTone| common for all hardware <BR>1138|0/1|ToneLogOnOff| common for all hardware <BR>1134|N/A|RtpMultiSenderOnOff| common for all hardware <BR>1140|N/A|manual detectedfaxtone| common for all hardware <BR>1141|N/A|ReRunSIPApp| common for all hardware <BR>1142|N/A|ClearCheckSumm bank 1 bank 2| common for all hardware <BR>1145|N/A|testdial 1234567890*#| common for all hardware <BR>1147|0/1|SendDrvMsgOnOff| common for all hardware <BR>1148|0/1/2|SetEchoConceler| common for all hardware <BR>1149|#|SLPara.BtcRefDiff=#| common for all hardware <BR>1151|N/A|RecordFile(/run/rec_711u.pcm)| common for all hardware <BR>1152|0/1|LogOption off/on| common for all hardware <BR>1153|#|SetFxsOnHookVoltage(#)| common for all hardware <BR>1154|#|Test Relay HangUp Delay #| common for all hardware <BR>1155|#|#: ManualChangeMwiEvent on/off| common for all hardware</div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420088334814367</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420088334814367</guid>
    <pubDate>Wed, 3 Sep 2008 15:48:14 +0800</pubDate>
    <dcterms:modified>2008-09-03T15:48:14+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[DTMF: inbound ,outbound sip info, rfc 2833]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420088332649795</link>
    <description><![CDATA[<div>Usually, these parameters refer to how you'd like to pass DTMF digits<BR>to the other end of your call. H323 or SIP signaling will negotiate<BR>your choices with the other end to help establish call parameters. The<BR>choices can be set up for what you want to send (outbound) and what you<BR>want to receive (inbound). Choices are generally:<BR><BR>1) In band digits: digits are passed along with the rest of your voice,<BR>using the same VoIP codec as your voice (G.711, G.729, etc.)<BR><BR>2) Out of band digits using special <A false;" style="; TEXT-DECORATION: underline! important" href="http://www.velocityreviews.com/forums/t234030-dtmf.html#" target=_top><FONT style="FONT-WEIGHT: 400; FONT-SIZE: 10pt; COLOR: blue! important; FONT-FAMILY: arial, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; " color=blue><SPAN style="FONT-WEIGHT: 400; FONT-SIZE: 10pt; COLOR: blue! important; BORDER-BOTTOM: blue 1px solid; FONT-FAMILY: arial, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif; ; BACKGROUND-COLOR: transparent">IP</SPAN></FONT></A> pakets that are sent along with<BR>the voice path. These packets use RFC 2833 format, these packets must<BR>have a "payload type" that matches what the other end is listening for.<BR>Cisco often defaults to 101 for this payload type, which uses your<BR>definition to negotiate (again via H323 or SIP) with the other end<BR>during call establishment. These digits are pulled out of the voice<BR>stream and sent only in the RFC 2833 packets.<BR><BR>3) Out of band digits sent via the signaling layer (UII packets).<BR>These have no payload type defined. The digit is removed from the<BR>voice path and signaling messages are sent to tell the other end about<BR>the digits.<BR><BR>In 2 &amp; 3, when the other end receives these special packets that<BR>represent digit value &amp; duration, it will regenerate the proper tone<BR>and duration back to the voice path.<BR><BR>The purpose of this is to guarantee a valid tone detection at the<BR>distant end of the call, since some voice codecs may not be able to do<BR>that properly (other then G.711 it's a gamble).<BR></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420088332649795</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420088332649795</guid>
    <pubDate>Wed, 3 Sep 2008 15:26:49 +0800</pubDate>
    <dcterms:modified>2008-09-03T15:26:49+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[VB程序的破解]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/154247842008725105855369</link>
    <description><![CDATA[<div><p>VB程序使很多朋友感到头痛，主要是VB程序反编译时产生大量的垃圾代码，而且也找不到有<br>用的信息，在动态调试过程中，垃圾代码太多，往往迷失于冗余的代码中，找不到方向。</p>
记住VB常用的一些函数：<br>MultiByteToWideChar 将ANSI字符串转换成UNICODE字符<br>WideCHatToMultiByte　　将UNICODE字符转换成ANSI字符<br>rtcT8ValFromBstr　　　 把字符转换成浮点数　　<br>vbaStrCmp　　　　　　　 比较字符串（常用断点）<br>vbaStrComp　　　　　　 字符串比较（常用断点）<br>vbaStrCopy　　　　　　 复制字符串<br>StrConv　　　　　　　　转换字符串<br>vbaStrMove　　　　　　 移动字符串<br>__vbaVarCat 连接字符串<br>rtcMidCharVar 在字符串中取字符或者字符串!<br>__vbaLenBstr 取字符串的长度<br>vbaVarTstNe　　　　　　变量比较<br>vbaVarTstEq　　　　　　变量比较<br>rtcMsgBox　　　　　　　显示对话框<br>VarBstrCmp　　　　　　 比较字符串<br>VarCyCmp　　　　　　　 比较字符串<br>　　<br>用
OD载入脱壳后的程序，在命令行输入：bpx
hmemcpy，然后回车，会弹出程序运行调用的所有的函数，在每个函数上设置好断点！说明：我破VB程序喜欢用这个断点设置方法，通过一步步跟踪，基本
可以把握程序保护的思路，所以我破VB程序基本用这个断点，当然你可以用其它的断点，只要能找到关键，任何断点都是用意义的。<br><br>关于VB的程序，注册没有提示的二个办法：<br>第一（提示错误）：用GetVBRes来替换里面的提示串，一般是以'111111'，'222222'之类的替换<br>因为：VB，用的字来存放提示还有加了点东东，我们用的工具一般是字节分析。换成'22222'之类的就是字节了，用静态分析，就有你该的串了。GetVBRes（网上很多，自己下吧）<br><br>第二（没有提示）：用vbde这个工具（不知道，有没有用过DEDE，是一样思路），主要是找出破解的按钮窗口的位置，来进行跟踪。 <br><br>先给出修改能正确反编译VB程序的W32DASM的地址：<br>======================<br>offsets 0x16B6C-0x16B6D <br><br>修改机器码为： 98 F4<br>======================<br><br>VB程序的跟踪断点：<br><br>============<br>MultiByteToWideChar,<br>rtcR8ValFromBstr,<br>WideCharToMultiByte,<br>__vbaStrCmp<br>__vbaStrComp<br>__vbaStrCopy<br>__vbaStrMove<br>__vbaVarTstNe <br>rtcBeep<br>rtcGetPresentDate (时间API)<br>rtcMsgBox<br>=========<br><br>时间限制断点：<br><br>================<br>CompareFileTime<br>GetLocalTime<br>GetSystemTime<br>GetTimeZoneInformation<br>msvcrt.diffTime()<br>msvcrt.Time()<br>================ <br><br>VB断点查找方法<br><br>1，VB6.0编写，OD载入程序调出注册窗口，alt+e调出可执行模块窗口找到X:\WINDOWS\system32\MSVBVM60.DLL<br>双击，在ctrl+n调出窗口找到，名称XXXXXXE区段=ENGINE 导出__vbaVarMove双击来到下面地址(可以直接在命令行 bp __vbaVarMove)<br>回到程序注册窗口点注册被拦断在刚才下断的地址，断后在ctrl+F9，F8回<br>2，OD载入程序，命令行下断点。<br>bp rtcMsgBox<br>堆栈友好提示<br>确定注册失败按钮返回。接着向上找出点注册按钮执行的代码第一句，可以吗？当然行，根据我们知道程序员写一个事件执行的代码是如这种，<br>各种语言都差不多。<br>3，OD载入程序，命令行下断点。<br>bp rtcMsgBox<br>任意填入伪注册码 9999999999999999999<br>确定后中断<br>堆栈友好提示<br>确定注册失败按钮返回。<br>W32Dasm反汇编程序，Shiht+F12<br>4，VB中的messagebox是一个消息框,汇编中用rtcMsgBox下断点.用olldbg载入程序,Alt+e,在可执行文件模块中找到Msvbvm60.dll,双击它,<br>在代码窗口点右键-搜索-当前模块中的名称中的rtcMsgBox函数,双击它,在6A362F29 55 PUSH EBP这一句双击下断点,关掉多余的窗口,只留下<br>cpu调试主窗口,F9运行程序,点?号按钮,随便输入987654321后,回车后立即中断,然后Ctrt+f9执行到返回地址,因为这是msvbvm60的领空,<br>我们要回到程序领空.秘密记事本弹出message错误提示信息,点确定,向上看 ,再按F8就回到<br>5，为Microsoft Visual Basic 6.0。先用SmartCheck找到程序比较注册码点，<br>6，用vb常用比较断点<br>vbastrcmp<br>vbastrcomp<br>vbavartsteq<br>在od中设断点找注册码<br>7，用Od载入程序，运行，填入上面的注册码和顺序号。在Od中下断点,Alt+E,双击Msvbvm60运行库，右键－搜索当前模块中的名称，找到Vbastrcmp，双击下断点。</div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/154247842008725105855369</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/154247842008725105855369</guid>
    <pubDate>Mon, 25 Aug 2008 22:58:55 +0800</pubDate>
    <dcterms:modified>2008-08-25T22:58:55+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[mysql 时间转换函数的用法]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200861833426688</link>
    <description><![CDATA[<div><P><SPAN style="FONT-SIZE: 12px">DAYOFWEEK(date)&nbsp; <BR>返回日期date的星期索引(1=星期天，2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。&nbsp; <BR>mysql&gt; select DAYOFWEEK(2007-10-31);&nbsp; <BR>-&gt; 4</SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">WEEKDAY(date)&nbsp; <BR>返回date的星期索引(0=星期一，1=星期二, ……6= 星期天)。&nbsp; <BR>mysql&gt; select WEEKDAY('2007-10-31 13:05:00');&nbsp; <BR>-&gt; 2<BR>mysql&gt; select WEEKDAY('2007-10-31');<BR>-&gt; 2&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">DAYOFMONTH(date)&nbsp; <BR>返回date的月份中日期，在1到31范围内。&nbsp; <BR>mysql&gt; select DAYOFMONTH('2007-10-31');&nbsp; <BR>-&gt; 31</SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">DAYOFYEAR(date)&nbsp; <BR>返回date在一年中的日数, 在1到366范围内。&nbsp; <BR>mysql&gt; select DAYOFYEAR('2007-10-31');&nbsp; <BR>-&gt; 304&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px"><A ></A><BR>MONTH(date)&nbsp; <BR>返回date的月份，范围1到12。&nbsp; <BR>mysql&gt; select MONTH('2007-10-31');&nbsp; <BR>-&gt; 10</SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">DAYNAME(date)&nbsp; <BR>返回date的星期名字。&nbsp; <BR>mysql&gt; select DAYNAME("2007-10-31");&nbsp; <BR>-&gt; 'Wednesday'&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">MONTHNAME(date)&nbsp; <BR>返回date的月份名字。&nbsp; <BR>mysql&gt; select MONTHNAME("2007-10-31");&nbsp; <BR>-&gt; 'October'&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">QUARTER(date) <BR>返回date一年中的季度，范围1到4。&nbsp; <BR>mysql&gt; select QUARTER('2007-10-31');&nbsp; <BR>-&gt; 4&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">WEEK(date)&nbsp; <BR>　&nbsp; <BR>WEEK(date,first)&nbsp; <BR>对于星期天是一周的第一天的地方，有一个单个参数，返回date的周数，范围在0到52。2个参数形式WEEK()允许你指定星期是否开始于星期天或星期一。如果第二个参数是0，星期从星期天开始，如果第二个参数是1，从星期一开始。&nbsp; <BR>mysql&gt; select WEEK('1998-02-20');&nbsp; <BR>-&gt; 7&nbsp; <BR>mysql&gt; select WEEK('1998-02-20',0);&nbsp; <BR>-&gt; 7&nbsp; <BR>mysql&gt; select WEEK('1998-02-20',1);&nbsp; <BR>-&gt; 8&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">YEAR(date)&nbsp; <BR>返回date的年份，范围在1000到9999。&nbsp; <BR>mysql&gt; select YEAR('98-02-03');&nbsp; <BR>-&gt; 1998&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">HOUR(time)&nbsp; <BR>返回time的小时，范围是0到23。&nbsp; <BR>mysql&gt; select HOUR('10:05:03');&nbsp; <BR>-&gt; 10&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">MINUTE(time)&nbsp; <BR>返回time的分钟，范围是0到59。&nbsp; <BR>mysql&gt; select MINUTE('98-02-03 10:05:03');&nbsp; <BR>-&gt; 5&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">SECOND(time)&nbsp; <BR>回来time的秒数，范围是0到59。&nbsp; <BR>mysql&gt; select SECOND('10:05:03');&nbsp; <BR>-&gt; 3&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">PERIOD_ADD(P,N)&nbsp; <BR>增加N个月到阶段P（以格式YYMM或YYYYMM)。以格式YYYYMM返回值。注意阶段参数P不是日期值。&nbsp; <BR>mysql&gt; select PERIOD_ADD(9801,2);&nbsp; <BR>-&gt; 199803&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">PERIOD_DIFF(P1,P2)&nbsp; <BR>返回在时期P1和P2之间月数，P1和P2应该以格式YYMM或YYYYMM。注意，时期参数P1和P2不是日期值。&nbsp; <BR>mysql&gt; select PERIOD_DIFF(9802,199703);&nbsp; <BR>-&gt; 11&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">DATE_ADD(date,INTERVAL expr type)&nbsp; <BR>　&nbsp; <BR>DATE_SUB(date,INTERVAL expr type)&nbsp; <BR>　&nbsp; <BR>ADDDATE(date,INTERVAL expr type)&nbsp; <BR>　&nbsp; <BR>SUBDATE(date,INTERVAL expr type)&nbsp; <BR>这些功能执行日期运算。对于MySQL 3.22，他们是新的。ADDDATE()和SUBDATE()是DATE_ADD()和DATE_SUB()的同义词。 <BR>在MySQL 3.23中，你可以使用+和-而不是DATE_ADD()和DATE_SUB()。（见例子）date是一个指定开始日期的 <BR>DATETIME或DATE值，expr是指定加到开始日期或从开始日期减去的间隔值一个表达式，expr是一个字符串；它可以以 <BR>一个“-”开始表示负间隔。type是一个关键词，指明表达式应该如何被解释。EXTRACT(type FROM date)函数从日期 <BR>中返回“type”间隔。下表显示了type和expr参数怎样被关联： type值 含义 期望的expr格式&nbsp; <BR>SECOND 秒 SECONDS&nbsp; <BR>MINUTE 分钟 MINUTES&nbsp; <BR>HOUR 时间 HOURS&nbsp; <BR>DAY 天 DAYS&nbsp; <BR>MONTH 月 MONTHS&nbsp; <BR>YEAR 年 YEARS&nbsp; <BR>MINUTE_SECOND 分钟和秒 "MINUTES:SECONDS"&nbsp; <BR>HOUR_MINUTE 小时和分钟 "HOURS:MINUTES"&nbsp; <BR>DAY_HOUR 天和小时 "DAYS HOURS"&nbsp; <BR>YEAR_MONTH 年和月 "YEARS-MONTHS"&nbsp; <BR>HOUR_SECOND 小时, 分钟， "HOURS:MINUTES:SECONDS"&nbsp; <BR>DAY_MINUTE 天, 小时, 分钟 "DAYS HOURS:MINUTES"&nbsp; <BR>DAY_SECOND 天, 小时, 分钟, 秒 "DAYS HOURS:MINUTES:SECONDS"&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">MySQL在expr格式中允许任何标点分隔符。表示显示的是建议的分隔符。如果date参数是一个DATE值并且你的计算仅仅包含YEAR、MONTH和DAY部分(即，没有时间部分)，结果是一个DATE值。否则结果是一个DATETIME值。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">mysql&gt; SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;&nbsp; <BR>-&gt; 1998-01-01 00:00:00&nbsp; <BR>mysql&gt; SELECT INTERVAL 1 DAY + "1997-12-31";&nbsp; <BR>-&gt; 1998-01-01&nbsp; <BR>mysql&gt; SELECT "1998-01-01" - INTERVAL 1 SECOND;&nbsp; <BR>-&gt; 1997-12-31 23:59:59&nbsp; <BR>mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",&nbsp; <BR>INTERVAL 1 SECOND);&nbsp; <BR>-&gt; 1998-01-01 00:00:00&nbsp; <BR>mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",&nbsp; <BR>INTERVAL 1 DAY);&nbsp; <BR>-&gt; 1998-01-01 23:59:59&nbsp; <BR>mysql&gt; SELECT DATE_ADD("1997-12-31 23:59:59",&nbsp; <BR>INTERVAL "1:1" MINUTE_SECOND);&nbsp; <BR>-&gt; 1998-01-01 00:01:00&nbsp; <BR>mysql&gt; SELECT DATE_SUB("1998-01-01 00:00:00",&nbsp; <BR>INTERVAL "1 1:1:1" DAY_SECOND);&nbsp; <BR>-&gt; 1997-12-30 22:58:59&nbsp; <BR>mysql&gt; SELECT DATE_ADD("1998-01-01 00:00:00",&nbsp; <BR>INTERVAL "-1 10" DAY_HOUR);&nbsp; <BR>-&gt; 1997-12-30 14:00:00&nbsp; <BR>mysql&gt; SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);&nbsp; <BR>-&gt; 1997-12-02&nbsp; <BR>mysql&gt; SELECT EXTRACT(YEAR FROM "1999-07-02");&nbsp; <BR>-&gt; 1999&nbsp; <BR>mysql&gt; SELECT EXTRACT(YEAR_MONTH FROM "1999-07-02 01:02:03");&nbsp; <BR>-&gt; 199907&nbsp; <BR>mysql&gt; SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03");&nbsp; <BR>-&gt; 20102&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">如果你指定太短的间隔值(不包括type关键词期望的间隔部分)，MySQL假设你省掉了间隔值的最左面部分。例如，如果你指定一个type是DAY_SECOND，值expr被希望有天、小时、分钟和秒部分。如果你象"1:10"这样指定值，MySQL假设日子和小时部分是丢失的并且值代表分钟和秒。换句话说，"1:10" DAY_SECOND以它等价于"1:10" MINUTE_SECOND的方式解释，这对那MySQL解释TIME值表示经过的时间而非作为一天的时间的方式有二义性。如果你使用确实不正确的日期，结果是NULL。如果你增加MONTH、YEAR_MONTH或YEAR并且结果日期大于新月份的最大值天数，日子在新月用最大的天调整。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">mysql&gt; select DATE_ADD('1998-01-30', Interval 1 month);&nbsp; <BR>-&gt; 1998-02-28&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">注意，从前面的例子中词INTERVAL和type关键词不是区分大小写的。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">TO_DAYS(date)&nbsp; <BR>给出一个日期date，返回一个天数(从0年的天数)。&nbsp; <BR>mysql&gt; select TO_DAYS(950501);&nbsp; <BR>-&gt; 728779&nbsp; <BR>mysql&gt; select TO_DAYS('1997-10-07');&nbsp; <BR>-&gt; 729669&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">TO_DAYS()<BR>不打算用于使用格列高里历(1582)出现前的值。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">FROM_DAYS(N)&nbsp; <BR>给出一个天数N，返回一个DATE值。&nbsp; <BR>mysql&gt; select FROM_DAYS(729669);&nbsp; <BR>-&gt; '1997-10-07'&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">DATE_FORMAT(date,format)&nbsp; <BR>根据format字符串格式化date值。下列修饰符可以被用在format字符串中： %M 月名字(January……December)&nbsp; <BR>%W 星期名字(Sunday……Saturday)&nbsp; <BR>%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。）&nbsp; <BR>%Y 年, 数字, 4 位&nbsp; <BR>%y 年, 数字, 2 位&nbsp; <BR>%a 缩写的星期名字(Sun……Sat)&nbsp; <BR>%d 月份中的天数, 数字(00……31)&nbsp; <BR>%e 月份中的天数, 数字(0……31)&nbsp; <BR>%m 月, 数字(01……12)&nbsp; <BR>%c 月, 数字(1……12)&nbsp; <BR>%b 缩写的月份名字(Jan……Dec)&nbsp; <BR>%j 一年中的天数(001……366)&nbsp; <BR>%H 小时(00……23)&nbsp; <BR>%k 小时(0……23)&nbsp; <BR>%h 小时(01……12)&nbsp; <BR>%I 小时(01……12)&nbsp; <BR>%l 小时(1……12)&nbsp; <BR>%i 分钟, 数字(00……59)&nbsp; <BR>%r 时间,12 小时(hh:mm:ss [AP]M)&nbsp; <BR>%T 时间,24 小时(hh:mm:ss)&nbsp; <BR>%S 秒(00……59)&nbsp; <BR>%s 秒(00……59)&nbsp; <BR>%p AM或PM&nbsp; <BR>%w 一个星期中的天数(0=Sunday ……6=Saturday ）&nbsp; <BR>%U 星期(0……52), 这里星期天是星期的第一天&nbsp; <BR>%u 星期(0……52), 这里星期一是星期的第一天&nbsp; <BR>%% 一个文字“%”。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">所有的其他字符不做解释被复制到结果中。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');&nbsp; <BR>-&gt; 'Saturday October 1997'&nbsp; <BR>mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');&nbsp; <BR>-&gt; '22:23:00'&nbsp; <BR>mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00',&nbsp; <BR>'%D %y %a %d %m %b %j');&nbsp; <BR>-&gt; '4th 97 Sat 04 10 Oct 277'&nbsp; <BR>mysql&gt; select DATE_FORMAT('1997-10-04 22:23:00',&nbsp; <BR>'%H %k %I %r %T %S %w');&nbsp; <BR>-&gt; '22 22 10 10:23:00 PM 22:23:00 00 6'&nbsp; <BR>MySQL3.23中，在格式修饰符字符前需要%。在MySQL更早的版本中，%是可选的。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">TIME_FORMAT(time,format)&nbsp; <BR>这象上面的DATE_FORMAT()函数一样使用，但是format字符串只能包含处理小时、分钟和秒的那些格式修饰符。其他修饰符产生一个NULL值或0。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">CURDATE()&nbsp; <BR>　&nbsp; <BR>CURRENT_DATE&nbsp; <BR>以'YYYY-MM-DD'或YYYYMMDD格式返回今天日期值，取决于函数是在一个字符串还是数字上下文被使用。&nbsp; <BR>mysql&gt; select CURDATE();&nbsp; <BR>-&gt; '1997-12-15'&nbsp; <BR>mysql&gt; select CURDATE() + 0;&nbsp; <BR>-&gt; 19971215&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">CURTIME()&nbsp; <BR>　&nbsp; <BR>CURRENT_TIME&nbsp; <BR>以'HH:MM:SS'或HHMMSS格式返回当前时间值，取决于函数是在一个字符串还是在数字的上下文被使用。&nbsp; <BR>mysql&gt; select CURTIME();&nbsp; <BR>-&gt; '23:50:26'&nbsp; <BR>mysql&gt; select CURTIME() + 0;&nbsp; <BR>-&gt; 235026&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">NOW()&nbsp; <BR>　&nbsp; <BR>SYSDATE()&nbsp; <BR>　&nbsp; <BR>CURRENT_TIMESTAMP&nbsp; <BR>以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回当前的日期和时间，取决于函数是在一个字符串还是在数字的上下文被使用。&nbsp; <BR>mysql&gt; select NOW();&nbsp; <BR>-&gt; '1997-12-15 23:50:26'&nbsp; <BR>mysql&gt; select NOW() + 0;&nbsp; <BR>-&gt; 19971215235026&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">UNIX_TIMESTAMP()&nbsp; <BR>　&nbsp; <BR>UNIX_TIMESTAMP(date)&nbsp; <BR>如果没有参数调用，返回一个Unix时间戳记(从'1970-01-01 00:00:00'GMT开始的秒数)。如果UNIX_TIMESTAMP()用一个date参数被调用，它返回从'1970-01-01 00:00:00' GMT开始的秒数值。date可以是一个DATE字符串、一个DATETIME字符串、一个TIMESTAMP或以YYMMDD或YYYYMMDD格式的本地时间的一个数字。&nbsp; <BR>mysql&gt; select UNIX_TIMESTAMP();&nbsp; <BR>-&gt; 882226357&nbsp; <BR>mysql&gt; select UNIX_TIMESTAMP('1997-10-04 22:23:00');&nbsp; <BR>-&gt; 875996580&nbsp; <BR>当UNIX_TIMESTAMP被用于一个TIMESTAMP列，函数将直接接受值，没有隐含的“string-to-unix-timestamp”变换。&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">FROM_UNIXTIME(unix_timestamp)&nbsp; <BR>以'YYYY-MM-DD HH:MM:SS'或YYYYMMDDHHMMSS格式返回unix_timestamp参数所表示的值，取决于函数是在一个字符串还是或数字上下文中被使用。&nbsp; <BR>mysql&gt; select FROM_UNIXTIME(875996580);&nbsp; <BR>-&gt; '1997-10-04 22:23:00'&nbsp; <BR>mysql&gt; select FROM_UNIXTIME(875996580) + 0;&nbsp; <BR>-&gt; 19971004222300&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">FROM_UNIXTIME(unix_timestamp,format)&nbsp; <BR>返回表示 Unix 时间标记的一个字符串，根据format字符串格式化。format可以包含与DATE_FORMAT()函数列出的条目同样的修饰符。&nbsp; <BR>mysql&gt; select FROM_UNIXTIME(UNIX_TIMESTAMP(),&nbsp; <BR>'%Y %D %M %h:%i:%s %x');&nbsp; <BR>-&gt; '1997 23rd December 03:43:30 x'&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">SEC_TO_TIME(seconds)&nbsp; <BR>返回seconds参数，变换成小时、分钟和秒，值以'HH:MM:SS'或HHMMSS格式化，取决于函数是在一个字符串还是在数字上下文中被使用。&nbsp; <BR>mysql&gt; select SEC_TO_TIME(2378);&nbsp; <BR>-&gt; '00:39:38'&nbsp; <BR>mysql&gt; select SEC_TO_TIME(2378) + 0;&nbsp; <BR>-&gt; 3938&nbsp; </SPAN></P>
<P><SPAN style="FONT-SIZE: 12px">TIME_TO_SEC(time)&nbsp; <BR>返回time参数，转换成秒。&nbsp; <BR>mysql&gt; select TIME_TO_SEC('22:23:00');&nbsp; <BR>-&gt; 80580&nbsp; <BR>mysql&gt; select TIME_TO_SEC('00:39:38');&nbsp; <BR>-&gt; 2378 </SPAN></P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/15424784200861833426688</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/15424784200861833426688</guid>
    <pubDate>Fri, 18 Jul 2008 15:34:26 +0800</pubDate>
    <dcterms:modified>2008-07-18T15:34:26+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[php5+iis+mysql5+zend]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/154247842008617536586</link>
    <description><![CDATA[<div><P>步骤:</P>
<P>&nbsp; 1、安装php5</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1) 解压php5包，放到c:\php5</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2)把php5目录下的。php5ts.dll和php.ini-recommand放入c:\windows, php.ini=recommand 记得改名成php.ini</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3)修改php.ini 把php_mysql.dll 前面的; 去掉， extension_dir = "./" 修改成 extension_dir = "c:\php5\ext"</P>
<P>2、安装zend</P>
<P>3、iis 配置</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp; windows扩展需要增加php扩展，并且为允许，文件名c:\php5\php5isapi.dll</P>
<P>&nbsp;&nbsp;&nbsp; 网站的主目录 =》 配置 也需要增加一个 php扩展， 文件名c:\php5\phpisapi.dll</P>
<P>重新启动iis， 这样iis就支持php+mysql+zend</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/154247842008617536586</comments>
    <slash:comments>1</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/154247842008617536586</guid>
    <pubDate>Thu, 17 Jul 2008 17:36:58 +0800</pubDate>
    <dcterms:modified>2008-07-17T17:36:58+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[php操作access类   ]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200861610322184</link>
    <description><![CDATA[<div><P>&lt;?php<BR>//--------------------------------------------------------------------<BR>//FileName:class.php<BR>//Summary: Access数据库操作类<BR>//&nbsp;&nbsp; 使用范例：<BR>//$databasepath="database.mdb";<BR>//$dbusername="";<BR>//$dbpassword="";<BR>//include_once("class.php");<BR>//$access=new Access($databasepath,$dbusername,$dbpassword);</P>
<P>//--------------------------------------------------------------------<BR>class Access<BR>{<BR>&nbsp;&nbsp; var $databasepath,$constr,$dbusername,$dbpassword,$link;<BR>&nbsp;&nbsp; function Access($databasepath,$dbusername,$dbpassword)<BR>&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;databasepath=$databasepath;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;username=$dbusername;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;password=$dbpassword;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;connect();<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function connect()<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;constr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath($this-&gt;databasepath); <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;link=odbc_connect($this-&gt;constr,$this-&gt;username,$this-&gt;password,SQL_CUR_USE_ODBC);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $this-&gt;link;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //if($this-&gt;link) echo "恭喜你,数据库连接成功!";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //else echo "数据库连接失败!";<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function query($sql)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return @odbc_exec($this-&gt;link,$sql);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function fetch_array($sql)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return odbc_fetch_array($this-&gt;query($sql));<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function fetch_row($query)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return odbc_fetch_row($query);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function total_num($sql)//取得记录总数<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return odbc_num_rows($this-&gt;query($sql));<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function close()//关闭数据库连接函数<BR>&nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; odbc_close($this-&gt;link);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function insert($table,$field)//插入记录函数<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $temp=explode(',',$field);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ins='';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ($i=0;$i&lt;count($temp);$i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ins.="'".$_POST[$temp[$i]]."',";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $ins=substr($ins,0,-1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="INSERT INTO ".$table." (".$field.") VALUES (".$ins.")";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function getinfo($table,$field,$id,$colnum)//取得当条记录详细信息<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="SELECT * FROM ".$table." WHERE ".$field."=".$id."";<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query=$this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if($this-&gt;fetch_row($query))<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ($i=1;$i&lt;$colnum;$i++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $info[$i]=odbc_result($query,$i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $info;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function getlist($table,$field,$colnum,$condition,$sort="ORDER BY id DESC")//取得记录列表&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="SELECT * FROM ".$table." ".$condition." ".$sort;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query=$this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ($this-&gt;fetch_row($query)) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $recordlist[$i]=getinfo($table,$field,odbc_result($query,1),$colnum);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $recordlist;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function getfieldlist($table,$field,$fieldnum,$condition="",$sort="")//取得记录列表<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="SELECT ".$field." FROM ".$table." ".$condition." ".$sort;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query=$this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i=0;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; while ($this-&gt;fetch_row($query)) <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for ($j=0;$j&lt;$fieldnum;$j++)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $info[$j]=odbc_result($query,$j+1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $rdlist[$i]=$info;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $i++;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $rdlist;<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function updateinfo($table,$field,$id,$set)//更新记录<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="UPDATE ".$table." SET ".$set." WHERE ".$field."=".$id;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function deleteinfo($table,$field,$id)//删除记录<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="DELETE FROM ".$table." WHERE ".$field."=".$id;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function deleterecord($table,$condition)//删除指定条件的记录<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="DELETE FROM ".$table." WHERE ".$condition;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; function getcondrecord($table,$condition="")// 取得指定条件的记录数<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $sql="SELECT COUNT(*) AS num FROM ".$table." ".$condition;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $query=$this-&gt;query($sql);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $this-&gt;fetch_row($query);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $num=odbc_result($query,1);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return $num;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp;&nbsp; }<BR>?&gt;</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/15424784200861610322184</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/15424784200861610322184</guid>
    <pubDate>Wed, 16 Jul 2008 10:32:02 +0800</pubDate>
    <dcterms:modified>2008-07-16T10:32:02+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[PHP程序访问oracle数据库存储过程]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420086444257615</link>
    <description><![CDATA[<div><P>PHP程序访问数据库，完全可以使用存储过程，有人认为使用存储过程便于维护<BR>不过仁者见仁，智者见智，在这个问题上，偶认为使用存储过程意味着必须要DBA和开发人员更紧密配合,如果其中一方更变，则显然难以维护。<BR>但是使用存储过程至少有两个最明显的优点：速度和效率。<BR>使用存储过程的速度显然更快。<BR>在效率上，如果应用一次需要做一系列SQL操作，则需要往返于PHP与ORACLE，不如把该应用直接放到数据库方以减少往返次数，增加效率。<BR>但是在INTERNET应用上，速度是极度重要的，所以很有必要使用存储过程。<BR>偶也是使用PHP调用存储过程不久，做了下面这个列子。</P>
<P>代码:--------------------------------------------------------------------------------</P>
<P>//建立一个TEST表<BR>CREATE TABLE TEST (<BR>&nbsp; ID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NUMBER(16)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOT NULL,<BR>&nbsp; NAME&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; VARCHAR2(30)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NOT NULL,<BR>&nbsp; PRIMARY KEY (ID)<BR>);</P>
<P>//插入一条数据<BR>INSERT INTO TEST VALUES (5, 'PHP_BOOK');</P>
<P>//建立一个存储过程<BR>CREATE OR REPLACE PROCEDURE PROC_TEST (<BR>&nbsp; p_id IN OUT NUMBER,<BR>&nbsp; p_name OUT VARCHAR2<BR>) AS <BR>BEGIN<BR>&nbsp; SELECT NAME INTO p_name<BR>&nbsp;&nbsp;&nbsp; FROM TEST<BR>&nbsp;&nbsp;&nbsp; WHERE ID = 5;<BR>END PROC_TEST;<BR>/</P>
<P>--------------------------------------------------------------------------------</P>
<P>PHP代码:--------------------------------------------------------------------------------</P>
<P>&lt;?php</P>
<P>//建立数据库连接<BR>$user = "scott";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //数据库用户名<BR>$password = "tiger";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //密码<BR>$conn_str = "tnsname";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //连接串(cstr : Connection_STRing)<BR>$remote = true&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //是否远程连接<BR>if ($remote) {<BR>&nbsp; $conn = OCILogon($user, $password, $conn_str);<BR>}<BR>else {<BR>&nbsp; $conn = OCILogon($user, $password);<BR>}</P>
<P>//设定绑定<BR>$id = 5;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //准备用以绑定的php变量 id<BR>$name = "";&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //准备用以绑定的php变量 name</P>
<P>/** 调用存储过程的sql语句(sql_sp : SQL_StoreProcedure)<BR>&nbsp;*&nbsp; 语法：<BR>&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; BEGIN 存储过程名([[:]参数]); END;<BR>&nbsp;*&nbsp; 加上冒号表示该参数是一个位置<BR>**/<BR>$sql_sp = "BEGIN PROC_TEST(:id, :name); END;";</P>
<P>//Parse<BR>$stmt = OCIParse($conn, $sql_sp);</P>
<P>//执行绑定<BR>OCIBindByName($stmt, ":id", $id, 16);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //参数说明：绑定php变量$id到位置:id，并设定绑定长度16位<BR>OCIBindByName($stmt, ":name", $name, 30);</P>
<P>//Execute<BR>OCIExecute($stmt);</P>
<P>//结果<BR>echo "name is : $name&lt;br&gt;";</P>
<P>?&gt;</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420086444257615</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420086444257615</guid>
    <pubDate>Fri, 4 Jul 2008 16:42:57 +0800</pubDate>
    <dcterms:modified>2008-07-04T16:42:57+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[Windows上apache的两种运行方式]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420084239335994</link>
    <description><![CDATA[<div><DIV >
<H2><A >以服务方式运行Apache for Windows</A></H2>
<P>Apache仅能够在Windows NT上作为服务运行。</P>
<P>你可以选择在安装Apache时自动将其安装为一个服务。如果你选择"for all users"，那么Apache将会被安装为服务。如果你选择了"only for the Current User"，你可以在安装后手动将Apache注册为服务。注意，你必须是Administrators组的成员才能成功注册服务。</P>
<P>使用Apache Service Monitor工具，可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。为了能够使用这个工具管理Apache服务，你必须首先自动或手动安装Apache服务。</P>
<P>你可以在Apache安装目录的<CODE>bin</CODE>子目录下，使用如下命令将Apache安装为Windows NT服务：</P>
<DIV >
<P><CODE>apache -k install </CODE></P></DIV>
<P>如果你想指定服务的名称，可以使用下面的命令。当你在同一机器上安装多个Apache服务时，你必须为它们指定不同的名字。</P>
<DIV >
<P><CODE>apache -k install -n "服务名" </CODE></P></DIV>
<P>如果你想为不同名称的服务使用不同的配置文件，则安装时需要指定配置文件：</P>
<DIV >
<P><CODE>apache -k install -n "服务名" -f "c:\files\my.conf" </CODE></P></DIV>
<P>如果你使用的是第一个命令，也就是除 <CODE>-k install</CODE> 外没有其它命令行参数，那么被安装的服务名称将是：<CODE>Apache2</CODE> ，配置文件将使用<CODE>conf\httpd.conf</CODE> 。</P>
<P>要移除一个Apache服务很简单：</P>
<DIV >
<P><CODE>apache -k uninstall </CODE></P></DIV>
<P>或者使用下述命令移除特定名称的Apache服务：</P>
<DIV >
<P><CODE>apache -k uninstall -n "服务名" </CODE></P></DIV>
<P>通常，启动、重启、关闭Apache服务的方法是使用Apache Service Monitor工具，另外也可以使用控制台命令：<CODE>NET START Apache2</CODE> 和 <CODE>NET STOP Apache2</CODE> 或者通过Windows服务控制面板。在启动Apache服务之前，你应当使用下面的命令检查一下配置文件的正确性：</P>
<DIV >
<P><CODE>apache -n "服务名" -t </CODE></P></DIV>
<P>你可以通过命令行开关来控制Apache服务。要启动一个已经安装的Apache服务，可以使用：</P>
<DIV >
<P><CODE>apache -k start </CODE></P></DIV>
<P>要停止一个已经安装的Apache服务，可以使用：</P>
<DIV >
<P><CODE>apache -k stop </CODE></P></DIV>
<P>或</P>
<DIV >
<P><CODE>apache -k shutdown </CODE></P></DIV>
<P>要重启一个运行中的Apache服务，强制它重新读取配置文件，可以使用：</P>
<DIV >
<P><CODE>apache -k restart </CODE></P></DIV>
<P>默认情况下，Apache服务将被注册为以本地系统用户(<CODE>LocalSystem</CODE>帐号)身份运行。<CODE>LocalSystem</CODE>帐号没有网络权限，不能通过任何Windows安全机制访问网络，包括文件系统、命名管道、DCOM或secure RPC ，但是它对于本地资源却拥有广泛的特权。</P>
<DIV ><STRONG>永远不要把网络权限授予<CODE>LocalSystem</CODE>帐号！如果你需要Apache能够访问网络资源，最好按照下述方法为Apache另外建立一个单独的帐号。</STRONG></DIV>
<P>你应该建立一个单独的帐号来运行Apache服务。特别是在必须通过Apache访问网络资源的时候，我们更加强烈建议你这样做。</P>
<OL>
<LI>创建一个普通域用户帐号，并牢记对应的密码。 
</LI><LI>授予这个新建的帐号<CODE>作为服务登陆</CODE>和<CODE>作为操作系统一部分运行</CODE>权限。在Windows 2000/XP/2003上你可以使用"组策略"或通过"本地安全策略"的MMC接口来完成这个操作。 
</LI><LI>确认新建的帐号是Users组的一个成员。 
</LI><LI>确认新建的帐号具有读取和执行(RX)所有文档和脚本目录(例如：<CODE>htdocs</CODE>和<CODE>cgi-bin</CODE>)的权限。 
</LI><LI>确认新建的帐号对Apache的<CODE>logs</CODE>目录具有读/写/删除(RWD)的权限。 
</LI><LI>确认新建的帐号对<CODE>Apache.exe</CODE>二进制文件具有读取和执行(RX)的权限。 </LI></OL>
<DIV >一个很好的实践经验是赋予运行Apache服务的用户读取和执行(RX)整个Apache2目录的权限，并且对<CODE>logs</CODE>子目录具有读/写/删除(RWD)的权限。</DIV>
<P>如果你允许使用这个帐号作为一个用户和服务登录，你就可以用这个帐号登录上去测试执行脚本、读取web页的权限，还可以通过控制台窗口启动Apache 。如果这样工作正常，你又执行了上述的操作，那么Apache就能够正常地作为服务运行了。</P>
<DIV ><STRONG>错误代码2186</STRONG>是一个很好的提示，说明你需要检查"登陆为"选项，因为服务器不能访问必要的网络资源。</DIV>
<P>当启动Apache服务时你可能会遇到一个来自Windows服务管理器的错误信息。 例如，如果你想使用控制面板中的服务小程序启动Apache，可能会得到下面这条信息：</P>
<DIV >
<P><CODE>Could not start the Apache2 service on \\COMPUTER <BR>Error 1067; The process terminated unexpectedly. </CODE></P></DIV>
<P>只要启动Apache出错你就会得到这个错误信息。为了弄清是什么引起了错误， 你应该遵循<A href="http://doc.chinahtml.com/Manual/ApacheManual/platform/windows.html#wincons">作为控制台程序运行Apache</A>中的建议。</P>
<P>对于让Apache在Windows 9x下以类似Windows NT服务的方式运行有一些支持。都是<EM>高度试验性</EM>的，即使能够工作，Apache软件基金会将不会证实其可靠性和未来的支持。继续进行你自己的冒险吧！</P>
<P>这两种"服务"有相当大的区别：</P>
<P>如果你输入下列命令，Apache会尝试启动，如果成功他将在后台运行：</P>
<DIV >
<P><CODE>Apache -n "服务名" -k start </CODE></P></DIV>
<P>例如，通过桌面的快捷方式运行，如果服务启动成功一个控制台窗口会快速闪过并立刻消失。如果启动时Apache检测到比如<CODE>httpd.conf</CODE>文件中有不正确的设置这样的问题，则控制台窗口会保持可见。这样将显示一个有助于追踪错误原因的错误信息。</P>
<P>Windows 9x不支持<CODE>NET START</CODE>或者<CODE>NET STOP</CODE>命令，因此你在命令中必须使用Apache的服务控制选项。你可能希望为每个命令设置一个快捷方式以便你能够只需要从开始菜单或者桌面一点就能执行所需的操作。</P>
<P>Apache和Windows 9x没有提供让Apache服务以特定的具有网络权限的用户身份运行的支持。实际上，Windows 9x在本地机器上根本没有提供安全性。这就是Apache软件基金会从不支持使用Windows 9x作为公用httpd服务器的原因。这个便利存在的唯一目的是协助用户开发web内容和学习Apache服务器，或者也许在一个安全的、私有的网络上充当intranet服务器。</P></DIV>
<DIV ><A href="http://doc.chinahtml.com/Manual/ApacheManual/platform/windows.html#page-header"><IMG alt=top src="http://doc.chinahtml.com/Manual/ApacheManual/images/up.gif"></A></DIV>
<DIV >
<H2><A >作为控制台程序运行Apache</A></H2>
<P>虽然通常推荐将Apache作为服务来运行，但是在某些情况下从命令行运行反而更加容易。在Windows 9x上，从命令行运行Apache是推荐的方法，因为这些系统中缺乏可靠的服务支持。</P>
<P>可以使用下列命令将Apache作为控制台程序从命令行运行：</P>
<DIV >
<P><CODE>apache </CODE></P></DIV>
<P>Apache将会一直保持运行，直到被Ctl+C组合键中断。</P>
<P>你还可以在安装后通过 <CODE>开始按钮 --&gt; 程序 --&gt; Apache HTTP Server 2.2.xx --&gt; Control Apache Server</CODE> 在控制台中运行Apache 。这将会打开一个控制台窗口并在其中启动Apache 。如果你没有将Apache安装为服务，该窗口将一直保持打开，直到被Ctl+C组合键中断，并在几秒钟后退出。如果你已经将Apache安装为服务，那么那个快捷方式将会启动服务，如果Apache服务已经启动了，则什么也不做。</P>
<P>你可以在另外一个控制台窗口中输入以下命令停止正在运行的Apache服务：</P>
<DIV >
<P><CODE>apache -k shutdown </CODE></P></DIV>
<P>这种方法比使用Ctl+C组合键更好，因为它可以让Apache完成所有当前的操作并且优雅的清理所占用的资源。</P>
<P>Apache可以被从新启动，这将导致它重新读取配置文件，重启前所有正在进行的操作都将不被打断的完成。可以使用下面的命令重启Apache ：</P>
<DIV >
<P><CODE>apache -k restart </CODE></P></DIV>
<DIV >请熟悉Unix版本Apache的用户注意，这些命令对应于Unix命令 <CODE>kill -TERM <EM>pid</EM></CODE> 和 <CODE>kill -USR1 <EM>pid</EM></CODE> 。命令中之所以使用 <CODE>-k</CODE> 选项，就是为了提醒用户这是源自Unix下的<CODE>kill</CODE>命令。</DIV>
<P>如果Apache控制台窗口在启动后出乎意料的立即关闭，请打开一个新的控制台窗口，切换到Apache的安装目录下bin子目录中，运行<CODE>apache</CODE>命令并读取错误信息。然后再到日志目录中查看<CODE>error.log</CODE>文件以寻找可能的配置错误。如果你的Apache采用的是默认安装，这些命令应当是：</P>
<DIV >
<P><CODE>c: <BR>cd "\Program Files\Apache Group\Apache2\bin" <BR>apache </CODE></P></DIV>
<P>等候Apache停止，或者使用Ctl+C组合键，然后输入下列内容：</P>
<DIV >
<P><CODE>cd ..\logs <BR>more &lt; error.log </CODE></P></DIV>
<P>可以在命令行中为Apache指定一个配置文件，有两种方法可以在命令行中指定配置文件：</P>
<UL>
<LI>
<P><CODE>-f</CODE> 可以指定一个绝对路径或相对路径的配置文件：</P>
<DIV >
<P><CODE>apache -f "c:\my server files\anotherconfig.conf" </CODE></P></DIV>
<P>或</P>
<DIV >
<P><CODE>apache -f files\anotherconfig.conf </CODE></P></DIV>
</LI><LI>
<P><CODE>-n</CODE> 可以指定已安装的Apache服务所使用的配置文件：</P>
<DIV >
<P><CODE>apache -n "服务名" </CODE></P></DIV></LI></UL>
<P>在这两种情况下，必须在配置文件中设置正确的<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>值。</P>
<P>如果你没有使用 <CODE>-f</CODE> 或 <CODE>-n</CODE> 指定配置文件的路径，Apache将会使用硬编码在服务器内的路径，比如：<CODE>conf\httpd.conf</CODE> 。这个内置的路径是相对于安装目录的，要想检查这个内置的路径，你可以通过 <CODE>-V</CODE> 开关调用Apache ，查看名为<CODE>SERVER_CONFIG_FILE</CODE>的变量值：</P>
<DIV >
<P><CODE>apache -V </CODE></P></DIV>
<P>Apache将会按照下列顺序检查<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>值：</P>
<OL>
<LI>通过 <CODE>-C</CODE> 命令行开关指定的<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>值。 
</LI><LI>通过 <CODE>-d</CODE> 命令行开关指定的值。 
</LI><LI>当前工作目录。 
</LI><LI>安装二进制文件时在注册表中登记的项目。 
</LI><LI>编译进二进制文件的值，该值默认为：<CODE>/apache</CODE> ，你可以使用 <CODE>apache -V</CODE> 命令查看显示出来的<CODE>HTTPD_ROOT</CODE>变量的值。 </LI></OL>
<P>在安装过程中，将会在注册表中新建一个版本特定的注册表键。这个键的位置取决于安装类型。如果你选择的是"for all users"，那么将位于<CODE>HKEY_LOCAL_MACHINE</CODE>分支下，如下所示：</P>
<DIV >
<P><CODE>HKEY_LOCAL_MACHINE\SOFTWARE\Apache Group\Apache\2.0.43 </CODE></P></DIV>
<P>如果你选择的是"for the current user only"，那么将位于<CODE>HKEY_CURRENT_USER</CODE>分支下，其中的内容取决于当前登陆的用户，如下所示：</P>
<DIV >
<P><CODE>HKEY_CURRENT_USER\SOFTWARE\Apache Group\Apache\2.0.43 </CODE></P></DIV>
<P>这个键已经被编译进了服务器，使得你可以测试新版本而又不影响老版本。当然，你必须注意不要在同一个目录中安装两个不同的版本。</P>
<P>如果你没有使用二进制安装，在某些情况下Apache将会抱怨注册表键丢失。如果在这种情况下服务器仍然可以找到正确的配置文件，那么就可以安全的忽略它。</P>
<P>这个注册表键其实就是包含<CODE>conf</CODE>子目录的<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>目录。Apache将要从中读取<CODE>httpd.conf</CODE>文件。如果该配置文件中又包含了一个<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>指令，并且指向的目录与注册表中登记的不同，Apache将以配置文件中的指令为准。如果你复制了配置文件或者整个Apache目录到一个新的位置，你要千万记得修改<CODE>httpd.conf</CODE>中的<CODE ><A href="http://doc.chinahtml.com/Manual/ApacheManual/mod/core.html#serverroot">ServerRoot</A></CODE>指令，使其指向正确的位置。</P></DIV></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420084239335994</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420084239335994</guid>
    <pubDate>Fri, 23 May 2008 09:33:59 +0800</pubDate>
    <dcterms:modified>2008-05-23T09:33:59+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[批量下载163等相册相片]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200841643856443</link>
    <description><![CDATA[<div><H3 ><A href="http://sitelog.tortinita.org/2006/10/albumcon.html">AlbumCon</A> </H3>
<DIV ></DIV>
<DIV ><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ENTk_poxTHI/RbN1C6ONzlI/AAAAAAAAAeE/MDeQMHeS5m0/s1600-h/1.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_ENTk_poxTHI/RbN2sKONzuI/AAAAAAAAAfM/TSRpKEWGdY0/s200/1_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ENTk_poxTHI/RbN1DKONzmI/AAAAAAAAAeM/Ot96TwxXfhc/s1600-h/2.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_ENTk_poxTHI/RbN2saONzvI/AAAAAAAAAfU/Bj302VhK17c/s200/2_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ENTk_poxTHI/RbN1DKONznI/AAAAAAAAAeU/llvxF46lnJE/s1600-h/3.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp3.blogger.com/_ENTk_poxTHI/RbN2saONzwI/AAAAAAAAAfc/H3x558oDu9s/s200/3_blog.jpg" border=0></A> <A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ENTk_poxTHI/RbN1DaONzoI/AAAAAAAAAec/CQ9qfi9stTY/s1600-h/4.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_ENTk_poxTHI/RbN2sqONzxI/AAAAAAAAAfk/7b8fcrSgeng/s200/4_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ENTk_poxTHI/RbN1DqONzpI/AAAAAAAAAek/ga_d0aKdR5Y/s1600-h/5.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_ENTk_poxTHI/RbN2s6ONzyI/AAAAAAAAAfs/yF7MIFG9h4M/s200/5_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_ENTk_poxTHI/RbN1XaONzqI/AAAAAAAAAes/7aFccRhnyI0/s1600-h/6.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp1.blogger.com/_ENTk_poxTHI/RbN246ONzzI/AAAAAAAAAf0/C_mWFoSOAKQ/s200/6_blog.jpg" border=0></A> <A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_ENTk_poxTHI/RbN1XqONzrI/AAAAAAAAAe0/rz7oR9R1Xco/s1600-h/7.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp2.blogger.com/_ENTk_poxTHI/RbN25KONz0I/AAAAAAAAAf8/MLlOEKWUqyg/s200/7_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_ENTk_poxTHI/RbN1X6ONzsI/AAAAAAAAAe8/ajRMqI4A9Dw/s1600-h/8.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_ENTk_poxTHI/RbN26qONz1I/AAAAAAAAAgE/WEFYBtsVZOo/s200/8_blog.jpg" border=0></A><A {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_ENTk_poxTHI/RbN1YKONztI/AAAAAAAAAfE/tAclWFP3C-E/s1600-h/9.jpg" target=_blank><IMG style="MARGIN: 0px 0px 0px 5px; CURSOR: hand" alt="" src="http://bp0.blogger.com/_ENTk_poxTHI/RbN26qONz2I/AAAAAAAAAgM/M8pYTDvOOyY/s200/9_blog.jpg" border=0></A> <BR><SPAN style="COLOR: rgb(255,0,0)">AlbumCon,图形界面的相册批量下载工具.<BR>支持相册主人模式(相册被封的时候仍然可以下载).<BR>支持下载记录,可以跳过曾经下载过的部分.<BR>支持详细列表或缩略图的方式查看相册.<BR>支持滚屏的方式在线浏览图片.<BR>支持断点续传式检查完整性.<BR>支持快捷键和自定义提示音.<BR>支持使用HTTP代理服务器.<BR>支持对目录列表进行搜索.<BR>支持调用迅雷进行下载.<BR>支持导出相册信息.<BR>支持导出图片地址.</SPAN> 
<BLOCKQUOTE><SPAN style="COLOR: rgb(255,0,0)">目前所支持的相册服务器:</SPAN><BR>网易(photo.163.com)<BR>Xuite(photo.xuite.net)<BR>56(photo.56.com)<BR>MO(photo.mofile.com)<BR>百度(hi.baidu.com)<BR>网易博客相册(blog.163.com)</BLOCKQUOTE>
<BLOCKQUOTE><SPAN style="COLOR: rgb(255,0,0)">什么是用户名?</SPAN><BR>http://<SPAN style="COLOR: rgb(255,102,102)">dee2chan</SPAN>.photo.163.com<BR>http://photo.163.com/photos/<SPAN style="COLOR: rgb(255,102,102)">dee2chan</SPAN>/<BR>http://photo.xuite.net/<SPAN style="COLOR: rgb(255,102,102)">o0o0o0624</SPAN>/<BR>http://photo.56.com/myphoto.php?u=<SPAN style="COLOR: rgb(255,102,102)">lee2f</SPAN><BR>http://<SPAN style="COLOR: rgb(255,102,102)">suzumiya_tears</SPAN>.photo.mofile.com/<BR>http://hi.baidu.com/<SPAN style="COLOR: rgb(255,102,102)">yumeol</SPAN>/album<BR>http://<SPAN style="COLOR: rgb(255,102,102)">skyswimsky</SPAN>.blog.163.com/</BLOCKQUOTE>
<BLOCKQUOTE>5月8日更新:<BR>AlbumCon v0.8<BR>加入网易博客相册的支持.</BLOCKQUOTE><BUTTON >查看历史更新</BUTTON> 
<DIV style="DISPLAY: none"><SPAN style="COLOR: rgb(192,192,192); FONT-STYLE: italic">4月2日更新:<BR>AlbumCon v0.7.9<BR>修正网易相册少数图片使用自动下载失败问题.<BR>修正百度相册读取目录列表不完整问题.<BR><BR>1月29日更新:<BR>AlbumCon v0.7.8<BR>修正网易相册加密目录需要输入验证码的问题.<BR><BR>11月24日更新:<BR>AlbumCon v0.7.7<BR>加入百度相册支持.<BR>加入自动记住目录密码功能.<BR>修正图片列表不能按照分辨率重新排列的问题.<BR>修正最近Xuite改动造成Xuite相册不能下载问题.<BR><BR>9月2日更新:<BR>AlbumCon v0.7.6<BR>随网易1号的更新做了必要修改.<BR>修正因1号更新造成加密目录不能下载的问题.<BR><BR>8月23日更新:<BR>AlbumCon v0.7.5<BR>修正一处可能出现内存溢出的问题.<BR>AlbumCon v0.7.4<BR>随网易23号的更新而做了必要修改.<BR>分析56相册目录时加入进度条显示.<BR><BR>7月20日更新:<BR>AlbumCon v0.7.3<BR>加入MO相册.<BR>修正某些特别的163相册目录不能显示的问题.<BR>修正56相册不能使用含有符号的密码问题.<BR><BR>7月3日更新:<BR>AlbumCon v0.7.2<BR>随网易3号的更新而做了必要修改.<BR><BR>6月12日更新:<BR>AlbumCon v0.7.1<BR>读取56相册目录速度加快.<BR>读取163相册目录速度加快.<BR>随网易12号的更新而做了必要修改.<BR><BR>4月16日更新:<BR>AlbumCon v0.7<BR>加入调用迅雷进行下载.<BR><BR>4月9日更新:<BR>AlbumCon v0.6.8<BR>加入下载完成自动关机.<BR>修改代理设置,可选择不验证使用.<BR>修正特殊目录名不能下载的问题.<BR>修正同名目录名生成lst覆盖问题.<BR>修正和卡吧等软件的不兼容问题.<BR>修正vista系统下界面错位问题.<BR><BR>3月10日更新:<BR>AlbumCon v0.6.7<BR>加入自动处理163新上传接口的图片描述.<BR>修正使用163新上传接口的后缀名错误问题.<BR><BR>2月16日更新:<BR>AlbumCon v0.6.6<BR>修正读取gif格式图片容易当掉的问题.<BR>修正因163升级造成的漏掉最后一张图的问题.<BR><BR>1月24日更新:<BR>AlbumCon v0.6.5<BR>去掉beta标记, 加入版本信息.<BR>加入右键导出相册信息.<BR>修正下载完成的加密目录颜色问题.<BR>修改"发现未通过验证目录"的提示信息.<BR>加入图片完整性判断,采用断点续传方式下载不完整部分.<BR>就是说, 这个版本修正了xuite和56会出现图片不完整的问题.<BR><BR>1月20日更新:<BR>AlbumCon(beta) v0.6.4<BR>恢复分析56相册的图片名.<BR>加入图片完整性判断,采用断点续传方式下载不完整部分.<BR><BR>1月19日更新:<BR>AlbumCon(beta) v0.6.1<BR>加入对56相册的支持.<BR>加入可自定义重命名.<BR>加入最小化到系统托盘.<BR>修正Xuite相册列表出错问题.<BR>程序更新检查改为每天只检查一次.<BR><BR>12月13日更新:<BR>AlbumCon(beta) v0.5.5<BR>修正某些相册可能出现的"越界"问题.<BR><BR>12月5日更新:<BR>AlbumCon(beta) v0.5.3<BR>加入了部分快捷键.<BR>加入了自动下载的<BR>加入了"全选"与"反向标记"功能.<BR>加入了看图模式下的全屏模式.<BR>加入了看图模式下的自动滚屏(类似ComicsViewer)<BR>加入了作业中取消操作的功能.<BR>加入了用键盘浏览列表的功能.<BR>降低了"标记"栏的刷新频率,减少不必要的CPU消耗.<BR>将默认相册服务器修改为网易.<BR>修正启动了代理服务器后退出时崩溃的问题.<BR>修正因系统DPI造成的界面错位问题.<BR>修正了用键盘"上下"选择不能显示缩略图的问题.<BR>修正了看图模式下图片没有居中的问题.<BR>修正中文密码验证失败(Xuite).<BR>修正验证密码时目录列表闪烁问题.<BR>修正程序运行中无法关闭的问题.<BR>修正目录图片数量变成文字的问题(Xuite).<BR>修正相册编码混乱出现的假死问题(Xuite).<BR><BR>11月2日更新:<BR>AlbumCon(beta) v0.4.1<BR>修正因连接失败造成的图片损坏和不完整.<BR>修正最大化窗口以后仍然能移动的问题. - -|||<BR>修改缩略图同步模块,比以前会快一点点.<BR>加入连接重试限制(10次),防止因图片问题造成中断.<BR><BR>11月1日更新:<BR>AlbumCon(beta) v0.4<BR>开启了"相册主人"身份模式(网易).<BR><BR>10月30日更新:<BR>AlbumCon(beta) v0.3.4<BR>修正XUITE相册容易在下载到一半的时候卡住不动的问题.<BR>修正容易因流量而卡住的不动的问题.<BR>修正因特殊字符而假死的问题(网易).<BR><BR>10月28日更新:<BR>AlbumCon(beta) v0.3.3<BR>修正非简体系统中"相册服务器"不能正常选择的问题.<BR>修正thm目录有时候会跑到别的地方去的问题. - -|||<BR>修正在图片列表中"导出图片地址"无法生成[.bat]的问题.<BR>加入保存最后一次的设置(用户名/视图模式/保存位置等等).<BR><BR>10月25日更新:<BR>AlbumCon(beta) v0.3.1<BR>修正出现下载到空目录的问题.<BR>修正非简体系统下用AppLocale无效的问题.<BR>加入下载完成后的弹出式提示窗.<BR>加入下载完成后的可自定义提示音.<BR><BR>10月23日更新:<BR>AlbumCon(beta) v0.3<BR>修正出现下载到空目录的问题.<BR>修正快速查看偶尔会看不见图的问题.<BR>加入自动下载遇到重复文件自动改名.<BR>加入生成改名[.bat]文件(导出图片连接).<BR>加入目录列表搜索功能.<BR>加入HTTP代理功能.<BR><BR>10月17日更新:<BR>AlbumCon(beta) v0.2.1<BR>修正"另存为"保存到的是缩略图.<BR>修正会被咔吧报木马的问题.<BR>修正不能多开的问题.<BR><BR>10月16日更新:<BR>AlbumCon(beta) v0.2<BR>修正连接失败导致程序停止.<BR>修正直接勾选时无法下载.<BR>修正无可用目录时候出错(网易).<BR>修正目录超过1000张图片时出错(网易).<BR>加入显示详细进度(精确到每张图).<BR>加入在使用列表模式时显示缩略图.<BR><BR>10月13日更新:<BR>AlbumCon(beta) v0.1<BR>初期版本发布.<BR>开放163和Xuite的相册分析下载模块,<BR>导出图片连接功能只能用于163相册.</SPAN></DIV><BR><BR><SPAN style="COLOR: rgb(255,0,0)">废话一下:</SPAN><BR>如果使用缩略图方式查看的话第一次同步会花一点时间<BR>以后再使用的时候就会很快了,只同步本地没有的缩略图.<BR><SPAN style="COLOR: rgb(255,0,0)">想要在目录和图片列表内多选</SPAN>, <SPAN style="FONT-WEIGHT: bold">可以通过按着 Ctrl 键点击鼠标,<BR>或按着 Shift 键点击鼠标, 以及在空白处拖鼠标的方式来多选.</SPAN><BR>所以说如果想要<SPAN style="COLOR: rgb(255,0,0)">验证多个密码相同的目录请用上面的方法多选</SPAN>.<BR><BR><SPAN style="COLOR: rgb(255,0,0)">相册主人模式:</SPAN><BR>使用主人身份成功登陆后所有的公开/半公开/私有目录都可以直接访问,<BR>就算相册被封了也是可以下载的噢.当然,前提是你要有那个相册的密码.<BR><BR><SPAN style="COLOR: rgb(255,0,0)">下载完成自动关机:</SPAN><BR>在任务栏上的小图标上单击右键,勾选上该功能即可.<BR><IMG alt="" src="http://bp1.blogger.com/_ENTk_poxTHI/RhpwQkfbJ2I/AAAAAAAAA38/pVRLTreDZ-k/s200/shutdown.PNG" border=0><BR><BR><SPAN style="COLOR: rgb(255,0,0)">重新排列目录列表</SPAN><BR>单击目录列表上的标签即可按照名称/数量/权限/描述方式来重新排序.<BR><IMG alt="" src="http://bp3.blogger.com/_ENTk_poxTHI/RqCDWwjKiFI/AAAAAAAABOY/QFRWb1rnDhc/s320/albumcon.png" border=0><BR><BR><SPAN style="COLOR: rgb(255,0,0)">自动下载的续传:</SPAN><BR>从AlbumCon(beta) v0.5.2开始默认将启动续传功能,正常下载完成的<BR>目录或图片会在列表中以<SPAN style="COLOR: rgb(192,192,192); FONT-STYLE: italic; TEXT-DECORATION: line-through">灰色+删除线表示</SPAN>,曾经下载过未下载完成的<BR>在目录列表内以<SPAN style="FONT-WEIGHT: bold; TEXT-DECORATION: underline">粗体+下划线表示</SPAN>.自动下载时会跳过已下载过的部分,<BR><SPAN style="COLOR: rgb(255,0,0)">如果想重新下载</SPAN>请先对需要下载的目录使用 "<SPAN style="COLOR: rgb(255,0,0)">清除选中目录下载记录</SPAN>".<BR><BR><SPAN style="COLOR: rgb(255,0,0)">有关快捷键:</SPAN><BR>因为AlbumCon的快捷键并不是全局,在没有焦点的情况下可能会无效,<BR>如果发现快捷键怎么按都没反应的时候用鼠标随便点一下目录或图片<BR>这样的话快捷键就能正常使用了.<BR><BR><SPAN style="COLOR: rgb(255,0,0)">导出相册信息:</SPAN><BR>目录列表内单击鼠标右键.<BR><BR><SPAN style="COLOR: rgb(255,0,0)">自定义提示音:</SPAN><BR>从AlbumCon(beta) v0.3.1开始将可以自定义下载完成后的提示音,<BR>只需要把你喜欢的提示音(wav格式)放在AlbumCon的所在目录下面<BR>并改名为DownEnd.wav即可.<BR>附上163_GUI的提示音文件: 
<BLOCKQUOTE><A href="http://www.tortinita.org/other/downend.wav" target=_blank><FONT color=#5588aa>DownEnd.wav</FONT></A></BLOCKQUOTE>
<BLOCKQUOTE><U>程序下载</U>: <A href="http://www.tortinita.org/main.php"><FONT color=#5588aa>AlbumCon.zip</FONT></A></BLOCKQUOTE><B>非简体系统请使用AppLocale来执行AlbumCon,<BR>或者换用Unicode化的<A href="http://sitelog.tortinita.org/2007/08/albumcon-lite.html"><FONT color=#5588aa>AlbumCon Lite</FONT></A></B> </DIV></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/15424784200841643856443</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/15424784200841643856443</guid>
    <pubDate>Fri, 16 May 2008 16:38:56 +0800</pubDate>
    <dcterms:modified>2008-05-16T16:38:56+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[js清空input值]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200841035515345</link>
    <description><![CDATA[<div><P>清空input的值，对于有很多个input的情况比较实用</P>
<P>function cleartext(){<BR>var post = document.myform;<BR>post.submit();<BR>var&nbsp;&nbsp; e=document.getElementsByTagName("input"); <BR>&nbsp;&nbsp;&nbsp; for(var&nbsp;&nbsp; i=0;i &lt;e.length;i++) <BR>&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&nbsp;&nbsp; (e[i].type== "text") <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; e[i].value = '';<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } <BR>&nbsp;&nbsp;&nbsp; } <BR>}</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/15424784200841035515345</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/15424784200841035515345</guid>
    <pubDate>Sat, 10 May 2008 15:55:15 +0800</pubDate>
    <dcterms:modified>2008-05-10T15:55:15+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[php自定义错误（捕获异常）]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200849930245</link>
    <description><![CDATA[<div><P>一般用error_reporting(E_ALL ^ E_NOTICE) 来屏蔽错误，但是其他的错误就会显示，而且还暴露真实路径，对服务器安全造成一定的威胁。所以换个方式。用php里的set_error_handler来捕获自定义错误。 有点缺陷就是这个不能捕获到E_ERROR的错误， 不过如果出现这个错误，也就表示这个程序出现很严重的错误，最好是自己去修复一下。</P>
<P>下面是代码：</P>
<P></P>
<HR>
//错误定义<BR>function yfyfj_error_handler($errno, $errstr, $errfile, $errline)<BR>{<BR>/*<BR>&nbsp;if ($errno != E_ERROR AND $errno != E_WARNING AND $errno != E_PARSE) {<BR>&nbsp;&nbsp;return;<BR>&nbsp;}<BR>&nbsp;if (0 == preg_match('/Illegal\s*offset/i', $errstr)) {<BR>&nbsp;&nbsp;return;<BR>&nbsp;}<BR>*/<BR>&nbsp;//print ''.$errstr.' in '.basename(dirname($errfile)).'/'.basename($errfile).' on line '.$errline.'&lt;br /&gt;';<BR>&nbsp;$now = date("Y-m-d H:i:s", time());<BR>&nbsp;$errorid = md5($now.$errno.$errstr.$errfile.$errline);<BR>&nbsp;switch ($errno){<BR>&nbsp;&nbsp;case E_PARSE:<BR>&nbsp;&nbsp;&nbsp;write_error_log("$now\t$errorid\tE_PARSE\t$errstr in $errfile on line $errline\r\n");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;case E_WARNING:<BR>&nbsp;&nbsp;&nbsp;write_error_log("$now\t$errorid\tE_PARSE\t$errstr in $errfile on line $errline\r\n");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;case E_ERROR:<BR>&nbsp;&nbsp;&nbsp;write_error_log("$now\t$errorid\tE_PARSE\t$errstr in $errfile on line $errline\r\n");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;case E_NOTICE:<BR>&nbsp;&nbsp;&nbsp;//write_error_log("$now\t$errorid\tE_PARSE\t$errstr in $errfile on line $errline\r\n");<BR>&nbsp;&nbsp;&nbsp;break;<BR>&nbsp;&nbsp;default:<BR>&nbsp;&nbsp;&nbsp;write_error_log("$now\t$errorid\tUnKown\t$errstr in $errfile on line $errline\r\n");<BR>&nbsp;&nbsp;&nbsp;<BR>&nbsp;}<BR>&nbsp;//echo "系统暂时出现错误，请稍后重试,&nbsp; 错误代码: $errorid&lt;br&gt;";<BR>} 
<P>//写错误日志<BR>function write_error_log($msg){<BR>&nbsp;if(!defined("LOGFILE")){<BR>&nbsp;&nbsp;define("LOGFILE", "yfyfj_error_log.txt");<BR>&nbsp;}<BR>&nbsp;$fp = @fopen(LOGFILE, "a+");<BR>&nbsp;@fwrite($fp, $msg);<BR>&nbsp;@fclose($fp);<BR>&nbsp;return TRUE;<BR>}<BR>set_error_handler('yfyfj_error_handler');</P>
<P>&nbsp;</P>
<P><IMG src="http://djoooo.cn/imgcount2.php?id=888051&amp;web_id=888051"></P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/15424784200849930245</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/15424784200849930245</guid>
    <pubDate>Fri, 9 May 2008 09:30:02 +0800</pubDate>
    <dcterms:modified>2008-05-09T12:00:51+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[QQ空间查询器-QQ业务查询-QQ空间代码查询]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420084833344838</link>
    <description><![CDATA[<div><P>&nbsp;&nbsp; 由于有段时间自己家里网速太慢。 想要去看qq空间， 发现空间看不了，主要是qq空间都是用javascript调用。一堆的东西要下载。 所以呢，自己写了个qq空间代理。 进去这个网站<A href="http://qzone.wtvoip.com/">http://qzone.wtvoip.com</A>&nbsp; 就可以输入你要看的qq空间了。</P>
<P>功能有下面几个：</P>
<OL>
<LI>&nbsp; <STRONG>整合qq业务</STRONG>： 整合了几个qq的业务在里面。 比如qq家园啊。qq交友中心啊。让你再没有加对方为好友的情况下可以大概了解一下对方的状况。</LI>
<LI><STRONG>了解QQ主人详情</STRONG>： 呵呵！喜欢泡MM的朋友有福气了。 想刚加人家qq聊天的时候就对人家有个大概的了解嘛？ 那你就用这个工具吧&nbsp; <A href="http://qzone.wtvoip.com/">http://qzone.wtvoip.com</A>&nbsp; </LI>
<LI><STRONG>查询QQ空间代码</STRONG>：&nbsp; 喜欢修改qq空间的朋友也有用。 我专门做了一个qq空间代码查询。 可以查到你喜欢的qq空间的里面的所有布局。比如欢迎动画等等</LI>
<LI><STRONG>qq空间最后更新日志：</STRONG>很多朋友的qq空间是不能进的。那么怎么才能看到最新的一条呢。&nbsp; 就用qq空间最新日志查询吧</LI>
<LI>更多的功能等你发现</LI></OL>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>其实这个有点利用现在正火的人肉搜索的思路。大家好好利用吧</P>
<P>&nbsp;</P>
<P>地址别忘了:&nbsp; http://qzone.wtvoip.com</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420084833344838</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420084833344838</guid>
    <pubDate>Thu, 8 May 2008 15:33:44 +0800</pubDate>
    <dcterms:modified>2008-05-08T15:34:06+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[百度近日收录查询【原理】]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420084832356837</link>
    <description><![CDATA[<div><DIV >
<P>近日在网上看到一个网站， 做的是 百度近日收录查询。</P>
<P>我也注册了一个看看，研究了一下他的原理。 </P>
<P>【原理】：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 其实很简单，他就是利用百度自己的高级搜索，查询当天-一周-一个月-整年-全部时间 的收录情况，只不过这个网站每天会去查询一次您关注的网站，这就形成了收录的历史记录。 思路是简单的。应用确实挺有用的。尤其是对那些做SEO的站长。</P>
<P>百度高级搜索地址：<A href="http://www.baidu.com/gaoji/advanced.html">http://www.baidu.com/gaoji/advanced.html</A></P>
<P>下面是这个网站的介绍，大家可以去看看</P>
<P>
</P><HR>
</P>
<P>&nbsp;</P>
<P>注册后可添加自己的网站到“我的站点”(需要通过网站所有权验证)，之后本系统就可以为您的站点记录每天被百度收录的数量和具体页面了哦。凡是登录过的日期，该日期里百度对您网站收录的情况都会被本系统记录下来。</P>
<P>方便您以后查看和研究。希望这个功能对您有用。见图：</P>
<P></P>
<P align=left><IMG hspace=8 src="http://smt.fortuneage.com/UserData/1015/images/080402223641369.jpg" align=absBottom vspace=4 border=0></P>
<P></P>
<P>登录成功添加“我的站点”后，打开“我的站点”，可看到“收录历史”链接，点击该链接，即可查看您网站以前各日被百度收录的情况(当然之后本系统记住的日期才有)</P>
<P></P>
<P align=left><IMG hspace=8 src="http://smt.fortuneage.com/UserData/1015/images/080402223716150.jpg" align=absBottom vspace=4 border=0></P>
<P></P>
<P>在查看历史收录情况的页面，每个日期都有一个“当日收录具体页面”链接，点击即可查看到该日期收录的具体页面哦,看下图</P>
<P></P>
<P align=left><IMG hspace=8 src="http://smt.fortuneage.com/UserData/1015/images/080402223804932.jpg" align=absBottom vspace=4 border=0></P>
<P></P>
<P></P>
<P align=left><IMG hspace=8 src="http://smt.fortuneage.com/UserData/1015/images/080402223900525.jpg" align=absBottom vspace=4 border=0></P>
<P></P>
<P>另外可以把不是自己的站点添加到“关注站点”，这样可以更加方便快捷的查看他们被百度收录的情况哦，无需一个网址一个网址的输入查询，全部站点收录情况一目了然。</P>
<P>非自己的站点不能记忆历史收录情况，这是为站长们着想。相信你也不想自己的网站历史收录情况被其他人随便查看的。这点还希望大家理解。</P></DIV></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420084832356837</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420084832356837</guid>
    <pubDate>Thu, 8 May 2008 15:23:56 +0800</pubDate>
    <dcterms:modified>2008-05-08T15:23:56+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[DIV透明显示底层登陆框]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420084722512834</link>
    <description><![CDATA[<div><P>css</P>
<P>利用div做顶层显示，透明的显示底层的东西登陆框</P>
<P>效果图<A href="http://img.blog.163.com/photo/sEN77nZfAjPLF3PemIObCQ==/283163826571364128.jpg" target=_blank><IMG src="http://img.blog.163.com/photo/sEN77nZfAjPLF3PemIObCQ==/283163826571364128.jpg"></A></P>
<DIV insertInto" ruleid="#TB_overlay/31">
<DIV ><SPAN ></SPAN>&nbsp;</DIV>
<DIV ><SPAN >#TB_overlay</SPAN> {</DIV>
<DIV ><SPAN editable">background-color</SPAN><SPAN >:</SPAN><SPAN editable">#000000</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup cssOverridden"><SPAN editable">height</SPAN><SPAN >:</SPAN><SPAN editable">100%</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">left</SPAN><SPAN >:</SPAN><SPAN editable">0pt</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">min-height</SPAN><SPAN >:</SPAN><SPAN editable">100%</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">opacity</SPAN><SPAN >:</SPAN><SPAN editable">0.6</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">position</SPAN><SPAN >:</SPAN><SPAN editable">absolute</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">top</SPAN><SPAN >:</SPAN><SPAN editable">0pt</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">width</SPAN><SPAN >:</SPAN><SPAN editable">100%</SPAN><SPAN >;</SPAN></DIV>
<DIV editGroup"><SPAN editable">z-index</SPAN><SPAN >:</SPAN><SPAN editable">100</SPAN><SPAN >;</SPAN></DIV>
<DIV insertBefore">}</DIV>
<DIV insertBefore">&nbsp;</DIV>
<DIV insertBefore">html应用层</DIV>
<DIV insertBefore">&lt;div id="TB_overlay" style="height: 1274px;"/&gt;</DIV></DIV></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420084722512834</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420084722512834</guid>
    <pubDate>Wed, 7 May 2008 14:25:12 +0800</pubDate>
    <dcterms:modified>2008-05-07T14:25:12+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[查自己ALEAX网站的情况图片（可作为论坛头像)]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/1542478420084644226338</link>
    <description><![CDATA[<div><P>做一个小程序，在php命令行下运行。 如果找不到$_SERVER['argc'] 这个，那么请修改php.ini 中的register_argc_argv = On</P>
<P>&nbsp;</P>
<P>&nbsp;</P>
<P>&lt;?php<BR>/**<BR>&nbsp;@FILENAME: alexapic.php<BR>&nbsp;@author: jagy<BR>&nbsp;@final: 2008-05-06 16:41<BR>&nbsp;@todo: generate alexa photo<BR>&nbsp;<BR>*/</P>
<P>if(isset($_SERVER['argc']) &amp;&amp; isset($_SERVER['argv'])){<BR>&nbsp;$argc = $_SERVER['argc'];<BR>&nbsp;$argv = $_SERVER['argv'];</P>
<P>}<BR>else{<BR>&nbsp;$argc = 1;&nbsp;<BR>}</P>
<P>if($argc &gt; 1){<BR>&nbsp;<BR>&nbsp;foreach($argv as $key =&gt;$value){<BR>&nbsp;&nbsp;if($key &gt; 0)<BR>&nbsp;&nbsp;&nbsp;echo "$value =&gt;\thttp://xsltcache.alexa.com/site_stats/gif/s/a/" . base64_encode($value)."/s.gif\r\n";<BR>&nbsp;}<BR>}<BR>else<BR>&nbsp;echo base64_encode("book.wtvoip.com");</P>
<P>?&gt;</P></div>]]></description>
	    <author><![CDATA[留住思想]]></author>
	    <comments>http://yfyfj.blog.163.com/blog/static/1542478420084644226338</comments>
    <slash:comments>0</slash:comments>
    <guid isPermaLink="true">http://yfyfj.blog.163.com/blog/static/1542478420084644226338</guid>
    <pubDate>Tue, 6 May 2008 16:42:26 +0800</pubDate>
    <dcterms:modified>2008-05-06T16:42:26+08:00</dcterms:modified>
  </item>    
  <item>
  	<title><![CDATA[gif图片格式解析【转】]]></title>	
    <link>http://yfyfj.blog.163.com/blog/static/15424784200832514455618</link>
    <description><![CDATA[<div><DIV twffan="done"><STRONG>参考</STRONG><STRONG>:</STRONG></DIV>
<DIV twffan="done"><A href="http://www.w3.org/Graphics/GIF/spec-gif89a.txt">http://www.w3.org/Graphics/GIF/spec-gif89a.txt</A></DIV>
<DIV twffan="done">网络中文gif资料</DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><STRONG>简介</STRONG>:</DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF(Graphics Interchange Format)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">是</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">CompuServe</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">公司</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">开发</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">的</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像文件存</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">储</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">格式，</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">1987</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">年</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">开发</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">的</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">文件格式版本号是</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF87a</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">1989</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">年</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">进</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">行了</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">充，</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">充后的版本号定</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">义为</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF89a</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">。</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt" twffan="done">GFI</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像文件以数据</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">(block)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">为单</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">位来存</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">储图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像的相</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">关</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">信息。一个</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">文件由表示</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">形</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">/</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像的数据</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">、数据子</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">以及</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">显</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">示</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">形</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">/</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像的控制信息</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块组</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">成，称</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">数据流</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">(Data Stream)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">。数据流中的所有控制信息</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">和数据</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">都必</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">须</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">在文件</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">(Header)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">和文件</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">结</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">束</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">(Trailer)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">之</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">间</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">。</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">文件格式采用了</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">LZW(Lempel-Ziv Walch)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">压缩</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">算法来存</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">储图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像数据，定</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">义</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">了允</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">许</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">用</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">户为图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">设</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">置背景的透明</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">(transparency)</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">属性。此外，</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">文件格式可在一个文件中存放多幅彩色</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">形</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">/</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">像。如果在</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">GIF</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">文件中存放有多幅</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">，它</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">们</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">可以像演幻灯片那</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">样显</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">示或者像</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">动</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">画那</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">样</SPAN><SPAN style="FONT-SIZE: 11pt" twffan="done">演示。</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">GIF </SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">.</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">　　</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法是用来表达序列的一</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">种</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">符号形式，并用</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">这</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个表达序列中的一些</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象来形成更大的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法也用于表达在</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">给</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">定的位置出</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">现对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象的数目。在此</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">给</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">出的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法用来</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">说</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">明形成</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">gif</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据流的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">序列，用一些</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">规则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">列表来表达。下面列出用于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">gif</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法的符号定</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">义</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">例</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">: &lt;&gt; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">词</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">符号定</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">义</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">* 0</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个或更多的事件</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">发</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">生</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">+ 1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个或更多的事件</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">发</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">生</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">| </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">替代元素</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">[] </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">可</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">选</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">元素</SPAN></DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">gif</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法的符号定</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">义</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">:</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;GIF </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据流</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">部</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt;* </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">尾</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">记录</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">这</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">规则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">将</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;Gif </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据流</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体定</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">义</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">如下。它必</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">须</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">以</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">部</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">开</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">始，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">部后面接一个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">药</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用其他</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">规则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">来定</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">义</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。最后，数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体接</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">结</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">束符。数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体后面的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">*</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">表示数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">实</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">体可以在此位置出</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">现</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">0</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">或多次。</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">语</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">法</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">:</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;Gif </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据流</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">部</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt;* </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">尾</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">记录</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏描述</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> [</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">]</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; |&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">特殊用途</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt;</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= [</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">] &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt;</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= &lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">基于表的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; |</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">纯</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">文本</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"><BR>&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">基于表的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象描述符</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> [</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">局部色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">] </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象数据</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"><BR>&lt;</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">特殊用途</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&gt; ::= </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">应</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> |</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">注</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">释扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">gif</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">数据流中的数据</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">可以分</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">为</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">三</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">组</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">：控制</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">、成象</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">和特殊用途</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">控制</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，如：</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">部、</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏描述</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">、</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充和尾</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">记录</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，包含用于控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">处</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">理数据流或</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">设</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">置硬件参数的信息。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">成像</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，如：</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像描述符和</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">纯</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">文本</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充，包含用于在</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">显</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">示</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">设备</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">上成像的信息和数据。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">特殊用途</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，如：注</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">释扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充和</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">应</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充，包含那些既不用于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">处</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">理数据流也不用于在</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">显</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">示</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">设备</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">上成象的信息。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">除了</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏描述</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">和全局色表之外，特殊用途</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的作用域是整个数据流，而其他控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的作用域是有限的，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">仅</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">限于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">他</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">们</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">后面的成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">起作用。特</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">殊用途</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">不</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">任何控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">构成限制，它</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">于解</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">码过</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">程来</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">说</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">是透明的。成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">及</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充用于控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">及</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">扩</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">充的作用域限定。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">标记</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">分</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">三段：除尾</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">记录</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0x3b</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">之外，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0x00</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">～</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0x7f</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">用于成象</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">;0x80</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">～</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0xf9</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">用于控制</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">；</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0xfa</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">～</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">0xff</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">用于特殊用途</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">。解</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">码</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">器通</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">过识别块标记</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">来</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">处</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">理</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: blue" twffan="done">的作用域。</SPAN></DIV>
<DIV twffan="done"><STRONG>&nbsp;</STRONG></DIV>
<DIV twffan="done"><STRONG><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">解释</SPAN></EM></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">:</SPAN></STRONG></DIV>
<DIV twffan="done"><EM><SPAN style="FONT-SIZE: 11pt" twffan="done">色表</SPAN></EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">- gif</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">格式利用色表来</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">显</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">示基于光</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">栅</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像。色表分</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表和局部色表。全局色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">于那些没有</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">设</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">置局部色表的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像起作用。全局色表的作用域是整个数据流。局部色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">对</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">紧</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">接在其后的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">单张图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像起作用。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">这</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">两</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">种</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色表都是可</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">选</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的。</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">/*</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表这东西是我们感兴趣的东西</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">它有点像</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">png</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">格式定义种的调色板</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">如果要修改</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">gif</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图片的颜色</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">哈哈</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">修改这个全局色表就可以</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">.</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">如果有全局色表块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">那么它一定从</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">gif</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">流的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">14</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个字节开始</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">头部</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">6</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> + </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑视频描述块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">7</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">*/</SPAN></DIV>
<DIV twffan="done"><STRONG>&nbsp;</STRONG></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">以下是各数据块的说明</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">如果注明为版本</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">89a</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的话</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">,</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则说明这个数据块不会在</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">87a</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">版的协议中出现</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">.</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">头</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">部</SPAN></STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(6</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个字节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><SPAN twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">标识</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">符</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">3 </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">) ---GIF</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">版本</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">3 </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">---</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">87a (or 89a)</SPAN></DIV>
<DIV twffan="done">&nbsp;</DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">逻辑视</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">屏描述</SPAN></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt" twffan="done">块</SPAN></STRONG></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏幕</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">2</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">逻辑</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏幕高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">2</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><SPAN twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><U><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">Packed Fields</SPAN></U><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> (</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><SPAN twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">背景色索引</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><SPAN twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象素高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">(</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">节</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">)</SPAN></DIV>
<DIV twffan="done"><U><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">Packed Fields</SPAN></U><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">说明</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">:</SPAN></DIV>
<DIV style="MARGIN-LEFT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">标</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">志</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> 1 Bit</SPAN></DIV>
<DIV style="MARGIN-LEFT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色方案</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> 3 Bits</SPAN></DIV>
<DIV style="MARGIN-LEFT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">短</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">标</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">志</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> 1 Bit</SPAN></DIV>
<DIV style="MARGIN-LEFT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表尺寸</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> 3 Bits</SPAN></DIV>
<DIV twffan="done"><STRONG><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">解释</SPAN></EM></STRONG><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">:</SPAN></STRONG></DIV>
<DIV twffan="done"><STRONG><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </SPAN></STRONG><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">背景</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色索引</SPAN></EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">背景</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色指向全局色表。背景</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色是指那些没有背</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像覆盖的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">视</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">屏部分的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色。若全局色表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">标</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">志位置</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">0</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字段也被</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">0</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，并且被忽略。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象素高</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比</SPAN></EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">计</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">算原</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像中像素的近似高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比。如果</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字段的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">非</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">0</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象素的高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比由下面的公式</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">计</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">算</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">：</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> = (</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">象素高</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> + 15) / 64</SPAN></DIV>
<DIV twffan="done"><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字段的取</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">范</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">围</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">从最</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">宽</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">的比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">4</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">：</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">到最高的比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">：</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">4</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">递</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">增的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">步</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">幅</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1/64</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"><BR></SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">取</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">：</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> 0 - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">没有比</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">～</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">255 - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用于</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">计</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">算的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">标</SPAN></EM><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">志</SPAN></EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">指示有没有全局色表，如果</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该标</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">志位置</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">全局色表会</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">紧</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">接在</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该块</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">之后出</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">现</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">位也用于解</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">释</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">是否</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">选</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">用背景</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色索引字段。若</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">位置</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">背景</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色索引字段的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">将指向背景</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色表。</SPAN></DIV>
<DIV style="TEXT-INDENT: 42pt" twffan="done"><EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色彩方案</SPAN></EM><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done"> - </SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">提供</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">给</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">原始</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">每</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色的位数减</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">1</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">。</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">这</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">代表</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像中所使用的整个</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">调</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色板的大小，而不是</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像中所使用的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">颜</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">色的数量。例如，若</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">该</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">字段的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">值为</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">3</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">，</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">则图</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black" twffan="done">像中所使用的</SPAN><SPAN style="FONT-SIZE: 11pt; COLOR: black