??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲小说区图片区,亚洲国产精品成人综合色在线婷婷,亚洲精品国产情侣av在线http://www.tkk7.com/zqli/category/8446.html为学日益Qؓ道日损?/description>zh-cnFri, 21 Sep 2007 12:32:38 GMTFri, 21 Sep 2007 12:32:38 GMT60原码、反码、补码、移?http://www.tkk7.com/zqli/archive/2007/09/21/147164.html放水老?/dc:creator>放水老?/author>Fri, 21 Sep 2007 09:23:00 GMThttp://www.tkk7.com/zqli/archive/2007/09/21/147164.htmlhttp://www.tkk7.com/zqli/comments/147164.htmlhttp://www.tkk7.com/zqli/archive/2007/09/21/147164.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/147164.htmlhttp://www.tkk7.com/zqli/services/trackbacks/147164.html一、原码、反码、补码的定义

1、原码的定义

①小数原码的定义 

[X]?/sub> =

X   0≤X Q?
1Q?X  Q? Q?X ≤ 0

 例如Q?X=+0.1011 , [X]? 01011
        X=Q?.1011  [X]? 11011

②整数原码的定义

[X]?/sub> =

X   0≤X Q?n
2nQX  Q?2n Q?X ≤ 0

2、补码的定义

①小数补码的定义

[X]?/sub> =

X    0≤X Q?
2Q?X    Q? ≤ X Q?0

例如Q?nbsp; X=+0.1011,   [X]?/sub>= 01011
        X=Q?.1011,  [X]?/sub>= 10101

②整数补码的定义 

[X]?/sub> =

X     0≤X Q?n
2n+1QX    Q?2n ≤ X Q?0


3、反码的定义

①小数反码的定义 

[X]?/sub> =

X     0≤X Q?
2Q?n-1QX    Q? Q?X ≤ 0

例如Q?nbsp;  X=+0.1011      [X]?/sub>= 01011
         X=Q?.1011     [X]?/sub>= 10100

②整数反码的定义

[X]?/sub> =

X     0≤X Q?n
2n+1Q?QX     Q?2n Q?X ≤ 0

4.UȝQ移码只用于表示点数的阶码Q所以只用于整数?/strong>

①移码的定义Q设?位符号位和n位数gl成的阶码,?[X]U?/sub>=2n + X     -2n≤X ≤ 2n
例如Q?X=Q?011     [X]U?/sub>=11011     W号?#8220;1”表示正号
              X=Q?011     [X]U?/sub>=00101     W号?#8220;0”表示负号

②移码与补码的关p: [X]UM[X]补的关系是符号位互ؓ反码Q?br /> 例如Q?X=Q?011     [X]U?/sub>=11011     [X]?/sub>=01011 
              X=Q?011     [X]U?/sub>=00101     [X]?/sub>=10101 

③移码运应注意的问题:
◎对Uȝq算的结果需要加以修正,修正量ؓ2n Q即对结果的W号位取反后才是Uȝ形式的正结果?br /> ◎移码表CZQ?有唯一的编码—?000…00Q当出现000…00Ӟ表示Q?nQ,属于点C溢?br />


二、补码加、减q算规则

1、运规?/font>

[XQY]?/sub>= [X]?/sub>Q?[Y]?/sub>
[XQY]?/sub>= [X]?/sub>Q?[QY]?/sub>

若已知[Y]?/sub>Q求[QY]?/sub>的方法是Q将[Y]?/sub>的各位(包括W号位)逐位取反再在最低位?卛_?br /> 例如Q[Y]?/sub>= 101101 [QY]?/sub>= 010011 

2、溢出判断,一般用双符号位q行判断Q?/font>

W号?0 表示正数 11 表示负数
l果的符号位?1ӞUCؓ上溢Qؓ10ӞUCؓ下溢

例题Q设x=0.1101Qy=Q?.0111Q符号位为双W号?br /> 用补码求x+yQxQy 
[x]?[y]?00 1101+11 1001=00 0110 
[xQy]?[x]?[Qy]?00 1101+00 0111=01 0100
l果错误Q正溢出

三、原码一位乘的实玎ͼ

设X=0.1101QY=Q?. 1011Q求X*Y
解:W号位单独处理, xW?/sub>Q?yW?/sub>
数值部分用原码q行一位乘Q如下图所C:
   

高位部分U?/font>  低位部分U?乘数 说明
     0 0 0 0 0 0    1 0 1 1   起始情况
Q) 0 0 1 1 0 1 乘数最低位?Q?X

     0 0 1 1 0 1
     0 0 0 1 1 0   1 1 0 1 1(? 右移部分U和乘数
Q) 0 0 1 1 0 1 乘数最低位?Q?X

     0 1 0 0 1 1 
     0 0 1 0 0 1   1 1 1 0  1(? 右移部分U和乘数
Q) 0 0 0 0 0 0 乘数最低位?Q?0

     0 0 1 0 0 1 
     0 0 0 1 0 0   1 1 1 1 0(? 右移部分U和乘数
Q) 0 0 1 1 0 1 乘数最低位?Q?X

     0 1 0 0 0 1 
     0 0 1 0 0 0  1 1 1 1 1(? 右移部分U和乘数


四、原码一位除的实玎ͼ一般用不恢复余数法Q加减交替法Q?/font>

部分U?/font> 低位部分U?附加?/font> 操作说明
     0 0 0 0 0 0     1 0 1 1   起始情况
Q) 0 0 0 0 0 0 乘数最低位?Q?X

     0 0 0 0 0 0
     0 0 0 0 0 0   1 1 0 1 1(? 右移部分U和乘数
Q) 1 1 0 0 1 1 乘数最低位?Q?X

     0 1 0 0 1 1 
     0 0 1 0 0 1   1 1 1 0  1(? 右移部分U和乘数
Q) 0 0 0 0 0 0 乘数最低位?Q?0

     0 0 1 0 0 1 
     0 0 0 1 0 0   1 1 1 1 0(? 右移部分U和乘数
Q) 0 0 1 1 0 1 乘数最低位?Q?X

     0 1 0 0 0 1 
     0 0 1 0 0 0  1 1 1 1 1(? 右移部分U和乘数

§2.5 点q算与Q点运器

一、QҎ的运规?/font>

1、Q点加减法的运步?/font>

设两个QҎ X=Mx?Ex Y=My?Ey
实现X±Y要用如下5步完成:
①对阶操作:阶向大阶看?br /> ②进行尾数加减运?br /> ③规格化处理Q尾数进行运的l果必须变成规格化的点敎ͼ对于双符号位的补码尾数来_必L
001×××…×× ?10×××…××的Ş?br /> 若不W合上述形式要进行左规或双处理?/font>

④舍入操作:在执行对阶或双操作时常?#8220;0”?#8220;1”入法右Udȝ数数D行舍入,以确保精度?br /> ⑤判l果的正性:x查阶码是否溢?br /> 若阶码下溢(Uȝ表示?0…0Q,要置l果为机?Q?br /> 若阶码上溢(过了阶码表C的最大||溢出标志?/font>

例题Q假定X=0 .0110011*211QY=0.1101101*2-10Q此处的数均Zq制Q??? 计算X+YQ?br /> 解:[X]?/sub>Q?0 1 010 1100110
    [Y]?/sub>Q?0 0 110 1101101
            W号?阶码 数

W一步:求阶差: ?#916;E?|1010-0110|=0100
W二步:寚wQY的阶码小Q?Y的尾数右U??br />         [Y]?/sub>变ؓ 0 1 010 0000110 1101暂时保存 
W三步:数相加Q采用双W号位的补码q算 
    00 1100110 
   +00 0000110 
    00 1101100
W四步规格化Q满格化要求 
W五步:舍入处理Q采??入法处理
故最l运结果的点数格式ؓQ?0 1 010 1101101Q?br /> 即X+Y=+0. 1101101*210 

2、Q点乘除法的运步?/font>

①阶码运:阶码求和Q乘法)或阶码求差(除法Q?br />     ?nbsp; [Ex+Ey]U? [Ex]U? [Ey]?nbsp;
        [ExQEy]U? [Ex]U? [QEy]?/font>

②QҎ的尾数处理:点C数乘除法运结果要q行舍入处理
例题QX=0 .0110011*211QY=0.1101101*2-10
求X※Y
解:[X]?/sub>Q?0 1 010 1100110
    [Y]?/sub>Q?0 0 110 1101101
W一步:阶码相加 
[Ex+Ey]U?[Ex]U?[Ey]?1 010+1 110=1 000 
1 000为移码表C的0
W二步:原码数怹的结果ؓQ?br /> 0 10101101101110
W三步:规格化处理:已满格化要求Q不需左规Q尾C变,阶码不变?br /> W四步:舍入处理Q按舍入规则Q加1q行修正
所?X※Y= 0.1010111?+000



]]>
q制转换http://www.tkk7.com/zqli/archive/2007/09/21/147160.html放水老?/dc:creator>放水老?/author>Fri, 21 Sep 2007 09:21:00 GMThttp://www.tkk7.com/zqli/archive/2007/09/21/147160.htmlhttp://www.tkk7.com/zqli/comments/147160.htmlhttp://www.tkk7.com/zqli/archive/2007/09/21/147160.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/147160.htmlhttp://www.tkk7.com/zqli/services/trackbacks/147160.html

1. 二进制数与十q制C间的转换

⑴二q制数{换成十进制数 

[?/span>](11111001001)2=1×210+1×29+1×28+1×27+1×26+0×25+0×24

                  +1×23+0×22+0×21+1×20

                   =(1993)10

(1011.101)2=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3  =(11.625)10

⑵十q制数{换成二进制数 

①十q制整数转换成二q制整数(除基(2)取余?/span>)

[?/span>]

2   1993

   2   996               …………1…………0?/span>     低位二进制整?/span>

  2   498              …………0…………1?/span>   

  2   249             …………0…………2?/span>

  2   124            …………1…………3?/span>

   2   62            …………0…………4?/span>

  2   31           …………0…………5?/span>

  2   15          …………1…………6?/span>

  2   7          …………1…………7?/span>

  2   3         …………1…………8?/span>

  2   1        …………1…………9?/span>

   0        …………1…………10?/span>     高位二进制整?/span>

注意,除到0商时l束2除步,回写(从高位回C?/span>)余数便是所求二q制?/span>,?/span>:(1993)10=(11111001001)2

②十q制U小数{换成二进制纯数(乘基(2)取整?/span>)

[?/span>]

                                0.625

                                    2

                  2-1?#8230;  1.  250         高位二进制小?/span>

                                    2

                  2-2?#8230;   0. 500

                                    2

                  2-3?/span>       1.000         低位二进制小?/span>

U小C被全乘ؓ0?/span>,得准二q制U小?/span>;否则(U小C永远?/span>2乘不为全?/span>0)只能化成满某一_度要求的二进制小数的q似倹{例?/span>(0.625)10=(0.101)2是准?/span>,其中101是顺写的U整?/span>(从高位到低位)数?/span>

2. 二进制数与八q制C间的转换

⑴二q制数{换成八进制数(三位分组转换?/span>,卛_三ؓ一?/span>) 

[?/span>]二q制?/span>11010001011.11011用三位分l{换的Ҏ转换成八q制数?/span>

①从数点vҎC向左,对小C向右三位分一l?/span>,不三位?/span>,在最外端加补0?/span>,使之都成Z位:

(填入0?/span>)0011 010 001 011.110 1100(填入0?/span>)

②将三位一l二q制数分别{换成八进制数,q按原位|次序写成新的记数数,卛_与原数等值的八进制数:3213.66

③从而有:(11010001011.11011)2=(3213.66)8

所以这样做,是因为八q制数的不同数字恰是8个三位二q制数?/span>

⑵八q制数{换成二进制数 

八q制数{换成二进制数?/span>,正是上述Ҏ的?/span>(一分ؓ三法)。只是注意要在{换成二进制数?/span>,相当于被加补的0位上的那?/span>0略去,q些0在二q制记数中是可有可无?/span>,它们q不影响记数倹{?/span>

[?/span>](3213.66)8=(011 010 001 011.110 110)2=(11010001011.11011)2

八进制数与十q制C间的转换,我们臛_可以q样做:

①通过二进制数作中间过?/span>,它们互转:

(17)10=(10001)2=(010 001)2=(21)8

②用“除基(8)取余?#8221;十q制整数转换成八q制整数,?#8220;乘基(8)取整?#8220;十q制U小数{换成八进制纯数;至于八q制数{换成十进制数,只要“按位乘基q?#8221;卛_Q?/span>

[?/span>]   ①由 8  17                 ②∵     0.6875

                                                   8

             8  2……1(低位)        (高位)  5. 500

                 0                               8

                  ……2(高位)        (低位)   4.0000

            ?/span>(17)10=(21)8                (0.6875)10=(0.54)8

③于?/span>,(17.6875)10=(21.54)8

④?/span>(21.54)8=2×81+1×80+5×8-1+4×8-2(按位乘基q?/span>)

         =16+1+5×0.125+4×0.015625=(17.6875)10

3. 二进制数与十六进制数之间的{?/h4>

⑴二q制数{换成十六q制?/span>(四位分组转换?/span>,卛_四ؓ一?/span>) 

[?/span>](101101111100011.110101111)2=(0101 1011 1110 0011.1101 0111 1000)2

                            =(5BE3.D78)16

⑵十六进制数转换成二q制?/span>(四位分组转换法的逆方?/span>,即一分ؓ四法) 

[?/span>](5BE3.D78)16=(0101 1011 1110 0011.1101 0111 1000)2

              =(101101111100011.110101111)2

十六q制C十进制数之间的{换和八进制数与十q制C间的转换的方法完全相?/span>,对基16操作h也很Ҏ,q里׃再赘qC?/span>

需要强调的是:计算够处理的M信息,其数据Ş式在计算机内部都?/span>0?/span>1的方式进?a onclick="javascript:tagshow(event, '%B4%E6%B4%A2');" href="javascript:;" target="_self">存储。Q何信息要惛_入计机,都必ȝq一个{换装|?/span>,先把计算处理的信息{换成仅由0?/span>1l成的二q制代码之后再存入计机。要把存储于计算机内的各U信息输出来,也必dl过转换装置把二q制信息转换成h们所熟悉的和常用的符受这些工作是p机自动完成?/span>,q不需要用户干预?/span>

计算机所能处理和存储的信息是大量?/span>,其Y件系l要适应发展的需?/span>,对表CZ息的二进制数?/span>(代码)必须q行l一的编?/span>,以保证计机的通用?/span>,否则׃造成在互换和交流时的混ؕ?/span>

通常,十q制数字、英文字母和一些专用符L数据都用一定长度的二进制数来表C?/span>,UC~码;用编码表C的数据q代码。用计机?/span>,E序、控制命令、数据等在其内部(机器U上)一律都用代码。现?/span>,已有许多U编码方?/span>,但被普遍使用的是下述的几U方法?/span>



]]>[转]winxp讉Kwin2000http://www.tkk7.com/zqli/archive/2007/07/23/131926.html放水老?/dc:creator>放水老?/author>Mon, 23 Jul 2007 10:12:00 GMThttp://www.tkk7.com/zqli/archive/2007/07/23/131926.htmlhttp://www.tkk7.com/zqli/comments/131926.htmlhttp://www.tkk7.com/zqli/archive/2007/07/23/131926.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/131926.htmlhttp://www.tkk7.com/zqli/services/trackbacks/131926.html\\abc\D$回R可以,其中abc是win2000计算机名QD$代表D盘,e$代表E盘。。。。。?
要用win2000里的用户名和密码讉K可以了?

win2000要访问winxpQ大U要改以下几个地方:
1?打开我的电脑,工具--文g多w项--查看Q里面取?#8220;使用单文Ӟ夹)׃n”前面的勾 Q是q个意思,具体准确名字忘了Q?
2。如果winxp装了sp2补丁Q必要q网上邻?-右键--属性,选择|卡--右键--属性,取消里面的禁止其它计机讉K我的电脑Q就是关闭防火墙。没装sp2补丁可能也有q项?
3。在开?-q行里,输入gpedit.mscQ进计算机配|?-windows讄--安全讄--本地{略--用户权利指派里,删除拒绝从网l访问这台计机中的所有帐戗?
4.在开?-q行里,输入gpedit.mscQ进计算机配|?-windows讄--安全讄--本地{略--安全选项里,|络讉KQ可匿名讉K的共享逐行dC$ D$ E${(代表C、D、E盘)Q?
在网l访问:本地帐户的安全和׃n模式里,选经?。。。。。。这V?
帐户Q用空白密码的本地帐户只允许进行控制台登陆Q设为禁用?

改了以上的项后,win2000讉KwinxP的方法和winxp讉Kwin2000的方法相同了。(互访的前提条件是双方通过|线q好Qƈ且IP讄合理才行Q?

]]>
[转]设计模板和母?/title><link>http://www.tkk7.com/zqli/archive/2007/07/19/131241.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Thu, 19 Jul 2007 04:21:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2007/07/19/131241.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/131241.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2007/07/19/131241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/131241.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/131241.html</trackback:ping><description><![CDATA[<p align=left><strong><span style="COLOR: #ac0000; FONT-FAMILY: 宋体">演示文稿M格式的设|?/span></strong><span style="COLOR: black; FONT-FAMILY: 宋体"> </span></p> <p align=left><span style="COLOR: black; FONT-FAMILY: 宋体">PowerPoint </span><span style="COLOR: black; FONT-FAMILY: 宋体">的一大特色就是可以某一演示文稿的多张灯片h一致的格式。设|灯片的M格式有三U方法:母版、配色方案、设计模ѝ?span></span></span></p> <p align=left><strong><span style="COLOR: black; FONT-FAMILY: 宋体">母版</span></strong><span style="COLOR: black; FONT-FAMILY: 宋体"></span></p> <p align=left><span style="COLOR: black; FONT-FAMILY: 宋体">每一份演C文EK有两U母版,卛_灯片母版和标题母版。灯片母版控制所有灯片的格式;标题母版控制标题qȝ片的格式和位|,q能控制指定为标题灯片的灯片Q例如某部分的开始?span></span></span></p> <p align=left><span style="COLOR: black; FONT-FAMILY: 宋体">母版中包含了讑֮的灯片格式占位W。这些占位符是母版不同位置的虚U方框,在这些方框中可以讄所有灯片中出现的标题、文本、图表、表根{组l结构图、剪贴画及背景等目。更改灯片母版Q会影响所有基于母版的演示文稿qȝ片,q种更改也会应用于标题灯片中?span></span></span></p> <p align=left><span style="COLOR: black; FONT-FAMILY: 宋体">同样道理Q更Ҏ题母版的版式Q所有标题灯片也会随之改变。可以在某一张灯片中更Ҏ版设|,例如背景和母版不同或填充颜色不属于母版配色方案。这些特定设|的qȝ片不随母版更改而变化,但随旉可以母版的讄q原到已改变的灯片上。例如,如果qȝ片上有隐藏的背景,只要单击【格?span>(O)</span>】菜单上?span>“</span>背景<span>”</span>命oQ清?span>“</span>忽略母版的背景图?span>”</span>复选框Q即可显C景项?span> </span></span></p> <p align=left><span style="COLOR: black; FONT-FAMILY: 宋体">qȝ片母版上的标题、文本、日期灯片~号和页脚等占位W可以删除。还原被删除的占位符Q在qȝ片母版视图中单击【格?span>(D)</span>】菜单,单击<span>“</span>母版格式<span>”</span>命oQ单击需要添加项的复选框Q单?span>“</span>定<span>”</span>按钮。只有在qȝ片母版上删除某项占位W后Q才能用相应的复选框。不要在母版上键入文字或插入对象Q应该切换到qȝ片或大纲视图后操作?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体">配色Ҏ</span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"> </span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">配色Ҏ由八U颜色组成,用于演示文稿的主要颜Ԍ例如文本、背景、填充、强调文字所用的颜色。方案中的每U颜色都会自动用于灯片上的不同lg?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">用模板创建演C文E时Q程序已为每一个模杉K择了一U配色方案。演C文E的配色Ҏ可以更换Q单凅R格?span>(D)</span>】菜单,单击<span>“</span>qȝ片配色方?span>”</span>命oQ挑选或自定义一U配色方案,用于某张或全部演C文Eѝ通过q种方式Q可以很Ҏ地更ҎC文E的配色ҎQƈ保新的配色Ҏ和演C文E中的其他灯片怺调和Q如惛_一张灯片的配色方案应用于另一张中Q可在灯片览视图中选择h所需配色Ҏ的灯片Q单?span>“</span>常用<span>”</span>工具?span>“</span>格式?span>”</span>?Q可以重新着色一张灯片Q双?span>“</span>格式?span>”</span>键,依次单击要应用配色方案的一张或者多张灯片Q可同时重新着色多张灯片?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">配色Ҏ中除了预讄八种颜色Q还有许多其他颜色可供用。按<span>“</span>配色Ҏ<span>”</span>对话?span>“</span>自定?span>”</span>选项卡中<span>“</span>更改颜色<span>”</span>按钮Q可使用<span>“</span>标准<span>”</span>?span>“</span>自定?span>”</span>选项卡中的颜色改变灯片lgQ该颜色会自动添加到各个颜色卡中Q所有文本、阴影、项目符受背景、和U条都能使用该颜艌Ӏ?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">d的颜色将出现在配色方案的八种颜色的下面,最多可以添加和昄八种颜色。如果添加的颜色过八种Q最新的颜色出现在调色板的W一位,而最旧的颜色被删除。即使更攚w色方案,d到颜色菜单中的颜色仍然保持不变。同样地Q以q些颜色着色的文本或对象也不会改变?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">如果l常使用一些不属于配色Ҏ内的特定颜色Q此功能非常有用?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体">设计模板</span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">PowerPoint </span><span style="FONT-SIZE: 10.5pt; COLOR: black">提供两种模板Q设计模板和内容模板。设计模板包含预定义的格式和配色ҎQ可以应用到L演示文稿中创定义的外观;内容模板包含的格式和配色Ҏ与设计模板相同,不同的是加上了针对特定主题提供的内容。在演示文稿中应用设计模板时Q新模板的母版和配色Ҏ取代原演示文稿的母版和配色Ҏ。应用设计模板之后,不论自动版式是什么,d的每张新qȝ片都会拥有相同的自定义外观?span> </span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">PowerPoint </span><span style="FONT-SIZE: 10.5pt; COLOR: black">提供了各U专业设计的模板Q可在新建演C文E时选用模板Q对已徏立的演示文稿也可更改模板Q单?span>“</span>常规d<span>”</span>工具栏中?span>“</span>应用设计模板<span>”</span>按钮Q在对话框的列表中选择合适的模板?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">用户q可以添加自p计的模板。单凅R文?span>(F)</span>】菜单中?span>“</span>另存?span>”</span>命oQ在<span>“</span>另存?span>”</span>对话框中Q将保存位置选择?span>“/Microsoft Office/template/</span>演示文稿设计<span>”</span>文g夹中Q?span>“</span>保存cd<span>”</span>定ؓ<span>“</span>演示文稿模板<span>”</span>Q输入模板的<span>“</span>文g?span>”</span>Q即可将自己设计的模板保存,q在<span>“</span>新徏演示文稿<span>”</span>对话框的<span>“</span>演示文稿设计<span>”</span>选项卡和<span>“</span>常规d<span>”</span>工具栏中?span>“</span>应用设计模板<span>”</span>按钮Ȁzȝ对话框中列出。如果其他设|不变,<span>“</span>另存?span>”</span>选择<span>“</span>演示文稿<span>”</span>文g夹,则可做ؓ内容模板Q在<span>“</span>新徏演示文稿<span>”</span>对话框的<span>“</span>演示文稿<span>”</span>选项卡中列出?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体">配色Ҏ</span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"> </span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">配色Ҏ由八U颜色组成,用于演示文稿的主要颜Ԍ例如文本、背景、填充、强调文字所用的颜色。方案中的每U颜色都会自动用于灯片上的不同lg?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">用模板创建演C文E时Q程序已为每一个模杉K择了一U配色方案。演C文E的配色Ҏ可以更换Q单凅R格?span>(D)</span>】菜单,单击<span>“</span>qȝ片配色方?span>”</span>命oQ挑选或自定义一U配色方案,用于某张或全部演C文Eѝ通过q种方式Q可以很Ҏ地更ҎC文E的配色ҎQƈ保新的配色Ҏ和演C文E中的其他灯片怺调和Q如惛_一张灯片的配色方案应用于另一张中Q可在灯片览视图中选择h所需配色Ҏ的灯片Q单?span>“</span>常用<span>”</span>工具?span>“</span>格式?span>”</span>?Q可以重新着色一张灯片Q双?span>“</span>格式?span>”</span>键,依次单击要应用配色方案的一张或者多张灯片Q可同时重新着色多张灯片?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">配色Ҏ中除了预讄八种颜色Q还有许多其他颜色可供用。按<span>“</span>配色Ҏ<span>”</span>对话?span>“</span>自定?span>”</span>选项卡中<span>“</span>更改颜色<span>”</span>按钮Q可使用<span>“</span>标准<span>”</span>?span>“</span>自定?span>”</span>选项卡中的颜色改变灯片lgQ该颜色会自动添加到各个颜色卡中Q所有文本、阴影、项目符受背景、和U条都能使用该颜艌Ӏ?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">d的颜色将出现在配色方案的八种颜色的下面,最多可以添加和昄八种颜色。如果添加的颜色过八种Q最新的颜色出现在调色板的W一位,而最旧的颜色被删除。即使更攚w色方案,d到颜色菜单中的颜色仍然保持不变。同样地Q以q些颜色着色的文本或对象也不会改变?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">如果l常使用一些不属于配色Ҏ内的特定颜色Q此功能非常有用?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: black; FONT-FAMILY: 宋体">设计模板</span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">PowerPoint </span><span style="FONT-SIZE: 10.5pt; COLOR: black">提供两种模板Q设计模板和内容模板。设计模板包含预定义的格式和配色ҎQ可以应用到L演示文稿中创定义的外观;内容模板包含的格式和配色Ҏ与设计模板相同,不同的是加上了针对特定主题提供的内容。在演示文稿中应用设计模板时Q新模板的母版和配色Ҏ取代原演示文稿的母版和配色Ҏ。应用设计模板之后,不论自动版式是什么,d的每张新qȝ片都会拥有相同的自定义外观?span> </span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">PowerPoint </span><span style="FONT-SIZE: 10.5pt; COLOR: black">提供了各U专业设计的模板Q可在新建演C文E时选用模板Q对已徏立的演示文稿也可更改模板Q单?span>“</span>常规d<span>”</span>工具栏中?span>“</span>应用设计模板<span>”</span>按钮Q在对话框的列表中选择合适的模板?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">用户q可以添加自p计的模板。单凅R文?span>(F)</span>】菜单中?span>“</span>另存?span>”</span>命oQ在<span>“</span>另存?span>”</span>对话框中Q将保存位置选择?span>“/Microsoft Office/template/</span>演示文稿设计<span>”</span>文g夹中Q?span>“</span>保存cd<span>”</span>定ؓ<span>“</span>演示文稿模板<span>”</span>Q输入模板的<span>“</span>文g?span>”</span>Q即可将自己设计的模板保存,q在<span>“</span>新徏演示文稿<span>”</span>对话框的<span>“</span>演示文稿设计<span>”</span>选项卡和<span>“</span>常规d<span>”</span>工具栏中?span>“</span>应用设计模板<span>”</span>按钮Ȁzȝ对话框中列出。如果其他设|不变,<span>“</span>另存?span>”</span>选择<span>“</span>演示文稿<span>”</span>文g夹,则可做ؓ内容模板Q在<span>“</span>新徏演示文稿<span>”</span>对话框的<span>“</span>演示文稿<span>”</span>选项卡中列出?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: #ac0000; FONT-FAMILY: 宋体">大纲、备注页和讲义的应用</span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"> </span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">大纲演示文稿在大U视图中以大UŞ式显C。大U由每张qȝ片的标题和正文组成?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">大纲视图是组l和创徏演示文稿内容的理x式。在<span> PowerPoint </span>中创建大UԌ可?span>“</span>内容提示向导<span>”</span>Q或从其他应用程序(?span> Microsoft Word</span>Q导入大UӀ?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">每张qȝ片的标题都会出现在编号和图标的旁边,正文在每个标题的下面。正文的~进可多达五层。在大纲视图中,可以重新排列qȝ片、移动整张灯片、编辑标题和正文。在大纲视图可以看见屏幕上所有的标题和正文,l织内容非常Ҏ。例如,重排qȝ片或目W号Q只要选定要移动的内容Q再拖动到新位置卛_。切换到大纲视图Ӟ显C?span>“</span>大纲<span>”</span>工具栏,使用其中的工h钮,可以快速组l演C文E,如更攚w目符L~进层次Q将目W号或整张灯片在大U中前后UdQ显C或隐藏格式Q以及展开或压~选定qȝ片文本等<span> </span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">备注和讲义Z辅助演示Q?span>PowerPoint </span>的每张灯片都有一个备注页Q其中包含灯片的羃囑֏供演讲者备注用的I间。备注页可以打印Q发l观众,在运行演C文E时作ؓ提示重点。也可以打印每页包含二张、三张、或六张qȝ片的讲义Q帮助观众了解演C文E的内容?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">备注和讲义都h母版Q可以在母版上添加要在每|C的目。方法是Q单凅R文?span>(F)</span>】菜单中?span>“</span>打印<span>”</span>命oQ单?span>“</span>打印内容<span>”</span>Ҏ右侧的下拉箭_如果只需昄qȝ片的内容Q选择单击某个<span>“</span>讲义<span>”</span>。如果要包括演讲者备注和qȝ片,单击<span>“</span>备注?span>”</span>。如果要在打印内容中包括qȝ片标题和重点Q也可以选择<span>“</span>大纲视图<span>”</span>?span></span></span></p> <p><strong><span style="FONT-SIZE: 10.5pt; COLOR: #ac0000; FONT-FAMILY: 宋体">版式的应?/span></strong><span style="FONT-SIZE: 10.5pt; COLOR: black"></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">创徏新的qȝ片,可以单击<span>“</span>常用<span>”</span>工具栏的<span>“</span>新徏<span>”</span>?span>“</span>常规d<span>”</span>工具栏的<span>“</span>新灯片<span>”</span>按钮?span></span></span></p> <p><span style="FONT-SIZE: 10.5pt; COLOR: black">?span>“</span>新灯片<span>”</span>对话框中?span>24</span>U不同版面设|的自动版式中,Ҏ需要Q选一U。例如,有一U版式提供标题、文本及图表的占位符Q另一U则提供标题和剪贴画的占位符。标题和文本占位W会采用演示文稿的灯片母版格式。可以对占位W执行移动、调整大或重新讄格式{操作,使它们与qȝ片母版不同。已l创建的qȝ片也可以更改其版式。单?span>“</span>常规d<span>”</span>工具栏上?span>“</span>qȝ片版面设|?span>”</span>按钮Q从中选择一U版式。如果新的版式中没有所需的占位符Q例如已l制作了一份图表,但新版式q不提供图表占位W,q时信息也不会丢失。所有已创徏的对象仍然存在,但必重排这些对象它们配合新的版式?/span></p> <img src ="http://www.tkk7.com/zqli/aggbug/131241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2007-07-19 12:21 <a href="http://www.tkk7.com/zqli/archive/2007/07/19/131241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>“孳息”的概念是什么?x包括哪些Q?/title><link>http://www.tkk7.com/zqli/archive/2007/04/26/113697.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Thu, 26 Apr 2007 02:23:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2007/04/26/113697.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/113697.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2007/04/26/113697.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/113697.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/113697.html</trackback:ping><description><![CDATA[指由某一特定物生的收益。孳息可以分为天然孳息和法定x。天然孳息指Ҏ物的自然属性而获得的收益Q如树木所l的果实、母畜所生的q畜{。法定孳息指Z法律关系所获得的收益,如出UhҎU赁合同收取的租金、出借hҎh合同取得的利息等?<br><br>x的生有天然和加工之别。尤其是加工xQ它是加以h工而获得的xQ如l播U、灌溉、施肥等而生的L、水果等Q它已经包含了占有h的劳动。当加工人是善意占有人时Q如果仍坚持原物和孳息一q返q,q对善意占有人很不公q뀂从更广泛的意义上讲Q还会对物的价值的发挥产生负面影响。因为当善意的无权占有h在不能肯定自己是否对物n有权利时Q如果不保护他对该物的孳息n有权利,他便不会使该物有更大的收益。因此,无论从保护善意无权占有h利益的角度,q是从社会利益方面考虑Q都应该保护善意占有Zn有加工孳息的权利。当然法律ƈ不是只保护善意占有h的加工孳息,如果天然x当中包含善意占有人的付出Q如׃自然生长的树木,无权占有人就树木生长本nq没有加以Q何外在h力,但他却一直对该树木尽了照义务。此Ӟ管x应随原物一q返q,但应支付善意占有Z定的报酬。当Ӟq只是从x的一U分cL谈对善意占有人的保护问题。再比如Q孳息有已分d息和未分d息,前者如被风雨打下的葡萄Q后者如生长在葡萄藤上的葡萄。一般情况下Q未分离x应该和原物一q返q,此时善意占有人的力_付出可{化ؓ费用向所有hh偿还。已分离的孳息如果善意占有h对该x的生付Z力_的,当然可以享有该孳息的所有权。MQ当物权使原物返q请求权Ӟ其孳息的q还与否时应区别对待。恶意占有应是无条g的一q返q,善意占应以保护善意占有h的利益ؓ原则Q即如果x的生跟占有人的力_直接有关Q那么该x应由善意占有人所有;如果x的生虽与善意占有h无直接关p,但他对孳息的收获{尽了照等义务的,x一般仍归原物所有h享有Q但应给善意占有人适当报酬。当x与原物不可分Ӟ二者应一q返q给所有hQ但善意占有Z出劳动的Q所有h应返q给善意占有人孳息的h或适当的报酬。另外,当孳息是可消费物时ƈ已被善意占有人消费了Ӟ善意占有Z再负q还义务Q当然他也不再n有向所有h要求支付力_费用的权利?/ca> <img src ="http://www.tkk7.com/zqli/aggbug/113697.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2007-04-26 10:23 <a href="http://www.tkk7.com/zqli/archive/2007/04/26/113697.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]什么是ESBQ企业服务ȝQ?/title><link>http://www.tkk7.com/zqli/archive/2007/04/06/108866.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Fri, 06 Apr 2007 02:22:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2007/04/06/108866.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/108866.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2007/04/06/108866.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/108866.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/108866.html</trackback:ping><description><![CDATA[<p>CodeHaus发布了ESB的实现Mule 1.0Q在SOA被大肆鼓吹的氛围下成长v来的ESBȝ揭开了一个面U!</p> <p>那么什么是ESB呢?</p> <p>我们知道SOA体系l构要求企业里面所有的和业务相关的应用E序都应该提供webservice的接口。那么一旦这一步实C之后Q所有的应用E序面的问题就是如何去调用q些或者说q么多接口,当然使用webservice的客L采取同步调用的方式当然是可以的。同时如果企业应用有可׾~性要求,那么也可以采取异步的消息调用机制。而ESB是采用了消息封装这一思想Q把所有对服务的调用都通过l一的消息接口封装v来,无论消息是同步的q是异步的。此外ESBq可以对企业的其他消息服务也提供同样的借口Q例如mail,JMS,IBM MQ,MSMQ{等?/p> <p>ESB可以有那些用 ?</p> <p>ESB不是万能?他不是一个应用程序框?也不是一个企业应用的解决Ҏ.它只是一个基于消息的调用企业服务的通信模块!你可以把它嵌入到你的应用E序框架?例如嵌入到spring容器里面,或者嵌入到工作系l中.它的作用是对企业里面的SOA服务的调用提供一个框架和便的Ҏ.</p> <p>ESB距离实际的企业应用还有哪些不?</p> <p>ESB目前有很多商业方?也有很多开源?例如ObjectWeb,CodeHaus,Sourceforge都有q样的开源项?距离真正成熟q有一D距?另外各家厂商都各自ؓ?目前JCPq没有这Ҏ术的草案,标准的指定也q有很长的距?当然,目前的状态和SOA一?怿{SOA真正普及的时?ESB会更加的成熟.</p> <img src ="http://www.tkk7.com/zqli/aggbug/108866.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2007-04-06 10:22 <a href="http://www.tkk7.com/zqli/archive/2007/04/06/108866.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]什么是CAQ?/title><link>http://www.tkk7.com/zqli/archive/2007/04/06/108861.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Fri, 06 Apr 2007 01:54:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2007/04/06/108861.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/108861.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2007/04/06/108861.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/108861.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/108861.html</trackback:ping><description><![CDATA[CA是认证中心的英文Certification Authority的羃写。 CA中心Q又UCؓ数字证书认证中心。CA中心作ؓ电子交易中受信Q的第三方Q负责ؓ电子商务环境中各个实体颁发数字证书,以证明各实体w䆾的真实性,q负责在交易中检验和理证书Q数字证书的用户拥有自己的公?U钥寏V证书中包含有证书主体的w䆾信息、其公钥数据、发证机构名U等Q发证机构验证证书主体ؓ合法注册实体后,对上述信息q行数字{֐QŞ成证书?在公钥证书体pMQ如果某公钥用户需要Q何其它已向CA注册的用L公钥Q可直接向该用户索取证书Q而后用CA的公钥解密解密即可得到认证的公钥Q由于证书中已有CA的签名来实现认证Q攻击者不hCA的签名密钥,很难伪造出合法的证书,从而实C公钥的认证性?数字证书认证中心是整个网上电子交易安全的关键环节,是电子交易中信赖的基。他必须是所有合法注册用h信赖的具有权威性、信赖性及公正性的W三Ҏ构?br>CA的核心功能就是发攑֒理数字证书。概括地_CA认证中心的功能主要有Q证书发放、证书更新、证书撤销和证书验证。具体描q如下: <p><br>Q?Q接攉证用h字证书的甌?br>Q?Q确定是否接受用h字证书的甌Q即证书的审扏V?br>Q?Q向甌者颁发(或拒l颁发)数字证书?br>Q?Q接收、处理用L数字证书更新h?br>Q?Q接收用h字证书的查询、撤销?br>Q?Q生和发布证书的有效期?br>Q?Q数字证书的归档?br>Q?Q密钥归档?br>Q?Q历史数据归档?br></p> <img src ="http://www.tkk7.com/zqli/aggbug/108861.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2007-04-06 09:54 <a href="http://www.tkk7.com/zqli/archive/2007/04/06/108861.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]深入理解C语言指针的奥U?/title><link>http://www.tkk7.com/zqli/archive/2007/01/20/95082.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Sat, 20 Jan 2007 13:11:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2007/01/20/95082.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/95082.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2007/01/20/95082.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/95082.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/95082.html</trackback:ping><description><![CDATA[ <p>指针是一个特D的变量Q它里面存储的数D解释成ؓ内存里的一个地址?要搞清一个指针需要搞清指针的四方面的内容Q指针的cdQ指针所指向?cdQ指针的值或者叫指针所指向的内存区Q还有指针本w所占据的内存区。让我们分别说明?<br />  先声明几个指针放着做例子: <br />  例一Q?<br />  (1)int*ptr; <br />  (2)char*ptr; <br />  (3)int**ptr; <br />  (4)int(*ptr)[3]; <br />  (5)int*(*ptr)[4]; <br />  <br />  指针的类?br />  从语法的角度看,你只要把指针声明语句里的指针名字LQ剩下的部分是q个指针的类型。这是指针本w所h的类型。让我们看看例一中各个指针的cdQ?<br />  (1)int*ptr;//指针的类型是int* <br />  (2)char*ptr;//指针的类型是char* <br />  (3)int**ptr;//指针的类型是int** <br />  (4)int(*ptr)[3];//指针的类型是int(*)[3] <br />  (5)int*(*ptr)[4];//指针的类型是int*(*)[4] <br />  怎么P扑և指针的类型的Ҏ是不是很单? <br />  指针所指向的类?br />  当你通过指针来访问指针所指向的内存区Ӟ指针所指向的类型决定了~译器将把那片内存区里的内容当做什么来看待?<br />  从语法上看,你只L指针声明语句中的指针名字和名字左边的指针声明W?LQ剩下的是指针所指向的类型。例如: <br />  (1)int*ptr;//指针所指向的类型是int <br />  (2)char*ptr;//指针所指向的的cd是char <br />  (3)int**ptr;//指针所指向的的cd是int* <br />  (4)int(*ptr)[3];//指针所指向的的cd是int()[3] <br />  (5)int*(*ptr)[4];//指针所指向的的cd是int*()[4] <br />  在指针的术q算中,指针所指向的类型有很大的作用?<br />  指针的类?x针本w的cd)和指针所指向的类型是两个概念。当你对C来熟悉时Q你会发玎ͼ把与指针搅和在一L"cd"q个概念分成"指针的类??指针所指向的类?两个概念Q是_N指针的关键点之一。我看了不少书,发现有些写得差的书中Q就把指针的q两个概忉|在一起了Q所以看起书来前后矛盾,看糊涂?br />指针的|或者叫指针所指向的内存区或地址<br />  指针的值是指针本n存储的数|q个值将被编译器当作一个地址Q而不是一个一般的数倹{在32位程序里Q所有类型的指针的值都是一?2位整敎ͼ因ؓ32位程序里内存地址全都?2位长?指针所指向的内存区是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类?的一片内存区。以后,我们说一个指针的值是XXQ就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域Q就相当于说该指针的值是q块内存区域的首地址?<br />  指针所指向的内存区和指针所指向的类型是两个完全不同的概c在例一中,指针所指向的类型已l有了,但由于指针还未初始化Q所以它所指向的内存区是不存在的,或者说是无意义的?<br />  以后Q每遇到一个指针,都应该问问:q个指针的类型是什么?指针指的cd是什么?该指针指向了哪里Q?<br />  指针本n所占据的内存区<br />  指针本n占了多大的内存?你只要用函数sizeof(指针的类?一下就知道了。在32位^台里Q指针本w占据了4个字节的长度?<br />  指针本n占据的内存这个概念在判断一个指针表辑ּ是否是左值时很有用?<br />  指针的算术运?<br />指针可以加上或减M个整数。指针的q种q算的意义和通常的数值的加减q算的意义是不一L。例如: <br />  例二Q?<br />  1、chara[20]; <br />  2、int*ptr=a; <br />  ... <br /> ... <br />  3、ptr++; <br />  在上例中Q指针ptr的类型是int*,它指向的cd是intQ它被初始化为指向整形变量a。接下来的第3句中Q指针ptr被加?Q编译器是这样处理的Q它把指针ptr的值加上了sizeof(int)Q在32位程序中Q是被加上了4。由于地址是用字节做单位的Q故ptr所指向的地址由原来的变量a的地址向高地址方向增加?个字节?<br />׃charcd的长度是一个字节,所以,原来ptr是指向数la的第0号单元开始的四个字节Q此时指向了数组a中从W?号单元开始的四个字节?<br />  我们可以用一个指针和一个@环来遍历一个数l,看例子:<br />  例三Q?<br />intarray[20]; <br />int*ptr=array; <br />... <br />//此处略去为整型数l赋值的代码?<br />... <br />for(i=0;i<20;i++) <br />{ <br /> (*ptr)++; <br /> ptr++Q?<br />}<br />  q个例子整型数l中各个单元的值加1。由于每ơ@环都指针ptr?Q所以每ơ@环都能访问数l的下一个单元?</p> <p>  再看例子Q?</p> <p>  例四Q?</p> <p>  1、chara[20]; <br />  2、int*ptr=a; <br />  ... <br />  ... <br />  3、ptr+=5;<br />  在这个例子中Qptr被加上了5Q编译器是这样处理的Q将指针ptr的值加?乘sizeof(int)Q在32位程序中是加上??=20。由于地址的单位是字节Q故现在的ptr所指向的地址比v?后的ptr所指向的地址来说Q向高地址方向Ud?0个字节。在q个例子中,没加5前的ptr指向数组a的第0号单元开始的四个字节Q加5后,ptr已经指向了数la的合法范围之外了。虽然这U情况在应用上会出问题,但在语法上却是可以的。这也体现出了指针的灉|性?<br /><br />如果上例中,ptr是被减去5Q那么处理过E大同小异,只不qptr的值是被减?乘sizeof(int)Q新的ptr指向的地址比原来的ptr所指向的地址向低地址方向Ud?0个字节?<br />  ȝ一下,一个指针ptrold加上一个整数n后,l果是一个新的指针ptrnewQptrnew的类型和ptrold的类型相同,ptrnew所指向的类型和ptrold所指向的类型也相同。ptrnew的值将比ptrold的值增加了n乘sizeof(ptrold所指向的类?个字节。就是说Qptrnew所指向的内存区比ptrold所指向的内存区向高地址方向Ud了n乘sizeof(ptrold所指向的类?个字节?<br />  一个指针ptrold减去一个整数n后,l果是一个新的指针ptrnewQptrnew的类型和ptrold的类型相同,ptrnew所指向的类型和ptrold所指向的类型也相同。ptrnew的值将比ptrold的值减了n乘sizeof(ptrold所指向的类?个字节,是_ptrnew所指向的内存区比ptrold所指向的内存区向低地址方向Ud了n乘sizeof(ptrold所指向的类?个字节?<br />q算W?amp;? <br />q里&是取地址q算W,*?..书上叫做"间接q算W??<br />  &a的运结果是一个指针,指针的类型是a的类型加?Q指针所指向的类型是a的类型,指针所指向的地址嘛,那就是a的地址?<br />  *p的运结果就五花八门了。M*p的结果是p所指向的东西,q个东西有这些特点:它的cd是p指向的类型,它所占用的地址是p所指向的地址?<br />  例五Q?<br />inta=12; <br />intb; <br />int*p;<br />int**ptr; <br />p=&a;<br />//&a的结果是一个指针,cd是int*Q指向的cd是intQ指向的地址是a的地址?<br />*p=24;<br />//*p的结果,在这里它的类型是intQ它所占用的地址是p所指向的地址Q显Ӟ*p是变量a?<br />ptr=&p;<br />//&p的结果是个指针,该指针的cd是p的类型加?Q在q里是int **。该指针所指向的类型是p的类型,q里是int*。该指针所指向的地址是指针p自己的地址?<br />*ptr=&b;<br />//*ptr是个指针Q?amp;b的结果也是个指针Q且q两个指针的cd和所指向的类型是一LQ所以用&b来给*ptr赋值就是毫无问题的了?<br />**ptr=34;<br />//*ptr的结果是ptr所指向的东西,在这里是一个指针,对这个指针再做一?q算Q结果就是一个intcd的变量?br />  指针表达?<br />一个表辑ּ的最后结果如果是一个指针,那么q个表达式就叫指针表式?<br />  下面是一些指针表辑ּ的例子: <br />  例六Q?<br />inta,b; <br />intarray[10]; <br />int*pa; <br />pa=&a;//&a是一个指针表辑ּ?<br />int**ptr=&pa;//&pa也是一个指针表辑ּ?<br />*ptr=&b;//*ptr?amp;b都是指针表达式?<br />pa=array; <br />pa++;//q也是指针表辑ּ?br />例七Q?<br />char*arr[20]; <br />char**parr=arr;//如果把arr看作指针的话Qarr也是指针表达?<br />char*str; <br />str=*parr;//*parr是指针表辑ּ <br />str=*(parr+1);//*(parr+1)是指针表辑ּ <br />str=*(parr+2);//*(parr+2)是指针表辑ּ<br />  ׃指针表达式的l果是一个指针,所以指针表辑ּ也具有指针所h的四个要素:指针的类型,指针所指向的类型,指针指向的内存区Q指针自w占据的内存?/p> <p>  好了Q当一个指针表辑ּ的结果指针已l明地h了指针自w占据的内存的话Q这个指针表辑ּ是一个左|否则׃是一个左倹{?<br />  在例七中Q?amp;a不是一个左|因ؓ它还没有占据明确的内存?ptr是一个左|因ؓ*ptrq个指针已经占据了内存,其实*ptr是指针paQ既然pa已经在内存中有了自己的位|,那么*ptr当然也有了自q位置?<br />  数组和指针的关系 <br />  数组的数l名其实可以看作一个指针。看下例Q?<br />  例八Q?<br />intarray[10]={0,1,2,3,4,5,6,7,8,9},value; <br />... <br />... <br />value=array[0];//也可写成Qvalue=*array; <br />value=array[3];//也可写成Qvalue=*(array+3); <br />value=array[4];//也可写成Qvalue=*(array+4);<br />上例中,一般而言数组名array代表数组本nQ类型是int[10]Q但如果把array看做指针的话Q它指向数组的第0个单元,cd是int*Q所指向的类型是数组单元的类型即int。因?array{于0׃点也不奇怪了。同理,array+3是一个指向数l第3个单元的指针Q所?(array+3){于3。其它依此类推?</p> <p>  例九Q?<br />char*str[3]={ <br /> "Hello,thisisasample!", <br /> "Hi,goodmorning.", <br /> "Helloworld" <br />}; <br />chars[80]Q?<br />strcpy(s,str[0]);//也可写成strcpy(s,*str); <br />strcpy(s,str[1]);//也可写成strcpy(s,*(str+1)); <br />strcpy(s,str[2]);//也可写成strcpy(s,*(str+2));<br />上例中,str是一个三单元的数l,该数l的每个单元都是一个指针,q些指针各指向一个字W串。把指针数组名str当作一个指针的话,它指向数l的W?号单元,它的cd是char**Q它指向的类型是char*?<br />*str也是一个指针,它的cd是char*Q它所指向的类型是charQ它指向的地址是字W串"Hello,thisisasample!"的第一个字W的地址Q即'H'的地址?str+1也是一个指针,它指向数l的W?号单元,它的cd是char**Q它指向的类型是char*?</p> <p>  *(str+1)也是一个指针,它的cd是char*Q它所指向的类型是charQ它指向 "Hi,goodmorning."的第一个字W?H'Q等{?</p> <p>  下面ȝ一下数l的数组名的问题。声明了一个数lTYPEarray[n]Q则数组名称array有了两重含义:W一Q它代表整个数组Q它的类型是TYPE[n]Q第?Q它是一个指针,该指针的cd是TYPE*Q该指针指向的类型是TYPEQ也是数组单元的类型,该指针指向的内存区就是数l第0号单元,该指针自己占有单独的内存区,注意它和数组W?号单元占据的内存区是不同的。该指针的值是不能修改的,即类似array++的表辑ּ是错误的?<br />  在不同的表达式中数组名array可以扮演不同的角艌Ӏ?<br />  在表辑ּsizeof(array)中,数组名array代表数组本nQ故q时sizeof函数出的是整个数组的大?<br />在表辑ּ*array中,array扮演的是指针Q因此这个表辑ּ的结果就是数l第0号单元的倹{sizeof(*array)出的是数组单元的大?<br />  表达式array+nQ其中n=0Q?Q?Q?...。)中,array扮演的是指针Q故array+n的结果是一个指针,它的cd是TYPE*Q它指向的类型是TYPEQ它指向数组Wn号单元。故sizeof(array+n)出的是指针cd的大?<br />例十<br />intarray[10]; <br />int(*ptr)[10]; <br />ptr=&array;Q?<br />上例中ptr是一个指针,它的cd是int(*)[10]Q他指向的类型是int[10] Q我们用整个数组的首地址来初始化它。在语句ptr=&array中,array代表数组本n?</p> <p>  本节中提C函数sizeof()Q那么我来问一问,sizeof(指针名称)出的究竟是指针自ncd的大呢q是指针所指向的类型的大小Q答案是前者。例如: <br />int(*ptr)[10]; <br />  则在32位程序中Q有Q?<br />sizeof(int(*)[10])==4 <br />sizeof(int[10])==40 <br />sizeof(ptr)==4<br />实际上,sizeof(对象)出的都是对象自w的cd的大,而不是别的什么类型的大小?br />指针和结构类型的关系 <br />可以声明一个指向结构类型对象的指针?<br />  例十一Q?<br />structMyStruct <br />{ <br /> inta; <br /> intb; <br /> intc; <br />} <br />MyStructss={20,30,40};<br />//声明了结构对象ssQƈ把ss的三个成员初始化?0Q?0?0?<br />MyStruct*ptr=&ss;<br />//声明了一个指向结构对象ss的指针。它的类型是MyStruct*,它指向的cd是MyStruct?<br />int*pstr=(int*)&ss;<br />//声明了一个指向结构对象ss的指针。但是它的类型和它指向的cd和ptr是不同的?br />  请问怎样通过指针ptr来访问ss的三个成员变量? <br />  {案Q?<br />ptr->a; <br />ptr->b; <br />ptr->c; <br />  又请问怎样通过指针pstr来访问ss的三个成员变量? <br />  {案Q?<br />*pstrQ?/讉K了ss的成员a?<br />*(pstr+1);//讉K了ss的成员b?<br />*(pstr+2)//讉K了ss的成员c?<br />  虽然我在我的MSVC++6.0上调式过上述代码Q但是要知道Q这样用pstr来访问结构成员是不正规的Qؓ了说明ؓ什么不正规Q让我们看看怎样通过指针来访问数l的各个单元Q?<br />  例十二: <br />intarray[3]={35,56,37}; <br />int*pa=array; <br />  通过指针pa讉K数组array的三个单元的Ҏ是: <br />*pa;//讉K了第0号单?<br />*(pa+1);//讉K了第1号单?<br />*(pa+2);//讉K了第2号单?<br /><br />从格式上看倒是与通过指针讉Kl构成员的不正规Ҏ的格式一栗?<br />  所有的C/C++~译器在排列数组的单元时QL把各个数l单元存攑֜q箋的存储区里,单元和单元之间没有空隙。但在存攄构对象的各个成员Ӟ在某U编译环境下Q可能会需要字寚w或双字对齐或者是别的什么对齐,需要在盔R两个成员之间加若q个"填充字节"Q这导致各个成员之间可能会有若q个字节的空隙?<br />  所以,在例十二中,即*pstr讉KCl构对象ss的第一个成员变量aQ也不能保证*(pstr+1)׃定能讉K到结构成员b。因为成员a和成员b之间可能会有若干填充字节Q说不定*(pstr+1)正好访问到了这些填充字节呢。这也证明了指针的灵zL。要是你的目的就是想看看各个l构成员之间到底有没有填充字节,嘿,q倒是个不错的Ҏ?<br />q指针访问结构成员的正确Ҏ应该是象例十二中使用指针ptr的方法?<br />  指针和函数的关系 <br />  可以把一个指针声明成Z个指向函数的指针。intfun1(char*,int); <br />int(*pfun1)(char*,int); <br />pfun1=fun1; <br />.... <br />.... <br />inta=(*pfun1)("abcdefg",7);//通过函数指针调用函数?<br />可以把指针作为函数的形参。在函数调用语句中,可以用指针表辑ּ来作为实参?<br />  例十三: <br />intfun(char*); <br />inta; <br />charstr[]="abcdefghijklmn"; <br />a=fun(str); <br />... <br />... <br />intfun(char*s) <br />{ <br />intnum=0; <br />for(inti=0;i{ <br />num+=*s;s++; <br />} <br />returnnum;<br />}<br />  q个例子中的函数funl计一个字W串中各个字W的ASCII码g和。前面说了,数组的名字也是一个指针。在函数调用中,当把str作ؓ实参传递给形参s后,实际是把str的g递给了sQs所指向的地址和str所指向的地址一_但是str和s各自占用各自的存储空间。在函数体内对sq行自加1q算Qƈ不意味着同时对strq行了自?q算?br />指针cd转换 <br />当我们初始化一个指针或l一个指针赋值时Q赋值号的左Ҏ一个指针,赋值号的右Ҏ一个指针表辑ּ。在我们前面所丄例子中,l大多数情况下,指针的类型和指针表达式的cd是一LQ指针所指向的类型和指针表达式所指向的类型是一L?<br />  例十四: <br />  1、floatf=12.3; <br />  2、float*fptr=&f; <br />  3、int*p; <br />   在上面的例子中,假如我们惌指针p指向实数fQ应该怎么搞?是用下面的语句吗Q?</p> <p>  p=&f; </p> <p>  不对。因为指针p的类型是int*Q它指向的类型是int。表辑ּ&f的结果是一个指针,指针的类型是float*,它指向的cd是float。两者不一_直接赋值的Ҏ是不行的。至在我的MSVC++6.0上,Ҏ针的赋D句要求赋值号两边的类型一_所指向的类型也一_其它的编译器上我没试q,大家可以试试。ؓ了实现我们的目的Q需要进?强制cd转换"Q?<br />p=(int*)&f;<br />如果有一个指针pQ我们需要把它的cd和所指向的类型改为TYEP*TYPEQ?那么语法格式是: <br />  (TYPE*)pQ?<br />  q样强制cd转换的结果是一个新指针Q该新指针的cd是TYPE*Q它指向的类型是TYPEQ它指向的地址是原指针指向的地址。而原来的指针p的一切属性都没有被修攏V?<br />  一个函数如果用了指针作ؓ形参Q那么在函数调用语句的实参和形参的结合过E中Q也会发生指针类型的转换?<br />  例十五:<br />voidfun(char*); <br />inta=125,b; <br />fun((char*)&a); <br />... <br />... <br />voidfun(char*s) <br />{ <br />charc; <br />c=*(s+3);*(s+3)=*(s+0);*(s+0)=c; <br />c=*(s+2);*(s+2)=*(s+1);*(s+1)=c; <br />} <br />} <br />注意q是一?2位程序,故intcd占了四个字节Qcharcd占一个字节。函数fun的作用是把一个整数的四个字节的顺序来个颠倒。注意到了吗Q在函数调用语句中,实参&a的结果是一个指针,它的cd是int*Q它指向的类型是int。Ş参这个指针的cd是char*Q它指向的类型是char。这P在实参和形参的结合过E中Q我们必进行一ơ从int*cd到char*cd的{换。结合这个例子,我们可以q样来想象编译器q行转换的过E:~译器先构造一个时指针char*tempQ?然后执行temp=(char*)&aQ最后再把temp的g递给s。所以最后的l果是:s的类型是char*,它指向的cd是charQ它指向的地址是a的首地址?</p> <p>  我们已经知道Q指针的值就是指针指向的地址Q在32位程序中Q指针的值其实是一?2位整数。那可不可以把一个整数当作指针的值直接赋l指针呢Q就象下面的语句Q?br />unsignedinta; <br />TYPE*ptr;//TYPE是intQchar或结构类型等{类型?<br />... <br />... <br />a=20345686; <br />ptr=20345686;//我们的目的是要指针ptr指向地址20345686Q十q制 <br />Q?<br />ptr=a;//我们的目的是要指针ptr指向地址20345686Q十q制Q?br />~译一下吧。结果发现后面两条语句全是错的。那么我们的目的׃能达C吗?不,q有办法Q?<br />unsignedinta; <br />TYPE*ptr;//TYPE是intQchar或结构类型等{类型?<br />... <br />... <br />a=某个敎ͼq个数必M表一个合法的地址Q?<br />ptr=(TYPE*)aQ?/呵呵Q这可以了?br />严格说来q里?TYPE*)和指针类型{换中?TYPE*)q不一栗这里的(TYPE*)的意思是把无W号整数a的值当作一个地址来看待。上面强调了a的值必M表一个合法的地址Q否则的话,在你使用ptr的时候,׃出现非法操作错误?</p> <p>  x能不能反q来Q把指针指向的地址x针的值当作一个整数取出来。完 全可以。下面的例子演示了把一个指针的值当作一个整数取出来Q然后再把这个整数当作一个地址赋给一个指针: <br />  例十六: <br />inta=123,b; <br />int*ptr=&a; <br />char*str; <br />b=(int)ptr;//把指针ptr的值当作一个整数取出来?<br />str=(char*)b;//把这个整数的值当作一个地址赋给指针str?br />  现在我们已经知道了,可以把指针的值当作一个整数取出来Q也可以把一个整数值当作地址赋给一个指针?<br />  指针的安全问?<br />看下面的例子Q?<br />  例十七:<br />chars='a'; <br />int*ptr; <br />ptr=(int*)&s; <br />*ptr=1298Q?<br />  指针ptr是一个int*cd的指针,它指向的cd是int。它指向的地址是s的首地址。在32位程序中Qs占一个字节,intcd占四个字节。最后一条语句不但改变了s所占的一个字节,q把和s怏的高地址方向的三个字节也改变了。这三个字节是干什么的Q只有编译程序知道,而写E序的h是不太可能知道的。也许这三个字节里存储了非常重要的数据,也许q三个字节里正好是程序的一条代码,而由于你Ҏ针的马虎应用Q这三个字节的D改变了!q会造成崩溃性的错误?<br />  让我们再来看一例: <br />  例十八: <br />  1、chara; <br />  2、int*ptr=&a; <br />  ... <br />  ... <br />  3、ptr++; <br />  4?ptr=115; <br />  该例子完全可以通过~译Qƈ能执行。但是看到没有?W?句对指针ptrq行自加1q算后,ptr指向了和整Ş变量a盔R的高地址方向的一块存储区。这块存储区里是什么?我们不知道。有可能它是一个非帔R要的数据Q甚臛_能是一条代码。而第4句竟然往q片存储区里写入一个数据!q是严重的错误。所以在使用指针ӞE序员心里必非常清楚:我的指针I竟指向了哪里。在用指针访问数l的时候,也要注意不要出数组的低端和高端界限Q否则也会造成cM的错误?<br />  在指针的强制cd转换Qptr1=(TYPE*)ptr2中,如果sizeof(ptr2的类?大于sizeof(ptr1的类?Q那么在使用指针ptr1来访问ptr2所指向的存储区时是安全的。如果sizeof(ptr2的类?于sizeof(ptr1的类?Q那么在使用指针ptr1来访问ptr2所指向的存储区时是不安全的。至于ؓ什么,读者结合例十七来想一惻I应该会明白的?/p> <p> <br /> <a >http://embedfans.com/C/2007181016375897.htm</a> <br /> </p> <img src ="http://www.tkk7.com/zqli/aggbug/95082.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2007-01-20 21:11 <a href="http://www.tkk7.com/zqli/archive/2007/01/20/95082.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>宋词赏析-蝶恋?/title><link>http://www.tkk7.com/zqli/archive/2006/12/07/86019.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Thu, 07 Dec 2006 02:19:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/12/07/86019.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/86019.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/12/07/86019.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/86019.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/86019.html</trackback:ping><description><![CDATA[ <table id="zwk" cellspacing="0" width="780" align="center" border="0"> <tbody> <tr> <td class="bt" align="middle" bgcolor="#ffffff" height="40">蝶恋?/td> </tr> <tr> <td class="sm" align="middle" bgcolor="#ffffff">x</td> </tr> <tr> <td align="middle" bgcolor="#ffffff"> <br />伫倚危?风细l,望极春愁Q黯黯生天际。草色烟光残照里Q无a谁会凭阑意?<br />拟把疏狂图一醉,寚w当歌Q强乐还无味。衣带渐宽终不悔Qؓ伊消得h憔悴?</td> </tr> <tr> <td bgcolor="#ffffff" height="18"> </td> </tr> <tr> <td bgcolor="#ccffff"> <table cellspacing="0" cellpadding="10" width="100%" border="0"> <tbody> <tr> <td class="sm">【赏析?br />  q是一首怀Z作。词人把漂泊异乡的落感受,同怀忉|中h的缠l|思结合在一起写Q采用“曲径通幽”的表现方式Q抒情写景,感情真挚。上片写L伫望情景。以l风、草艌Ӏ烟光、残阛_个关合着相思离愁的意象Q组成一q黄昏春望图。上片以“春愁”ؓ核心多层ơ地描摹春愁之景Q春愁之态,W意婉约。下片抒情,直抒胸臆Q写词h情深志坚。“拟把”、“强乐”三句辞意顿折,写词人欲借疏狂之歌呼Q陶然之酣醉Q谋求醉而忘忧,歌而暂Ƣ,以摆脱春愁之压抑和纠~,却落得个“还无味”的无聊和空虚,可见其春愁之深、刻骨,竟无法排遣。最后揭明词人对待“春愁”的果决态度Q“终不悔”。“ؓ伊”,方始画龙Ҏ地道破春愁难遣,为春愁憔悴无悔的隐秘Qؓ了她——那“盈盈仙子?《曲玉管?的坚贞情爱,我亦值得憔悴、瘦损,以生命相托!语直情切Q挟带着市民式的Ȁ情,真是荡气回肠。全词成功地ȝZ个志诚男子的形象Q描写心理充分细腻,其是词的最后两句,直抒胸臆Q画龙点睛般地揭C出Mh公的_境界Q被王国l称为“专作情语而绝妙者”?br /></td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <img src ="http://www.tkk7.com/zqli/aggbug/86019.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-12-07 10:19 <a href="http://www.tkk7.com/zqli/archive/2006/12/07/86019.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>什么是VBAQ?/title><link>http://www.tkk7.com/zqli/archive/2006/12/05/85649.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Tue, 05 Dec 2006 10:41:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/12/05/85649.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/85649.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/12/05/85649.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/85649.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/85649.html</trackback:ping><description><![CDATA[直到90q代早期,使应用程序自动化q是充满挑战性的领域.Ҏ个需要自动化的应用程?Z不得不学习一U不同的自动化语a.例如:可以用EXCEL的宏语言来EXCEL自动?使用WORD BASIC使WORD自动?{等.微Y军_让它开发出来的应用E序׃n一U通用的自动化语言--------Visual Basic For Application(VBA),可以认ؓVBA是非常流行的应用E序开发语aVASUAL BASIC 的子?实际上VBA?寄生?VB应用E序的版?VBA和VB的区别包括如下几个方? <br /><br />1. VB是设计用于创建标准的应用E序,而VBA是已有的应用程?EXCEL{?自动?<br /><br />2. VBh自己的开发环?而VBA必须寄生于已有的应用E序. <br /><br />3. 要运行VB开发的应用E序,用户不必安装VB,因ؓVB开发出的应用程序是可执行文?*.EXE),而VBA开发的E序必须依赖于它??应用E序,例如EXCEL. <br /><br />管存在q些不同,VBA和VB在结构上仍然十分怼.事实?如果你已l了解了VB,会发现学习VBA非常?相应?学完VBA会给学习VB打下坚实的基.而且,当学会在EXCEL中用VBA创徏解决Ҏ?卛_具备在WORD ACCESS OUTLOOK FOXPRO PROWERPOINT 中用VBA创徏解决Ҏ的大部分知识. <br /><br />* VBA一个关键特征是你所学的知识在微软的一些品中可以怺转化. <br /><br />* VBA可以UCEXCEL的“遥控器? <br /><br />VBAI竟是什?更确切地?它是一U自动化语言,它可以常用的程序自动化,可以创徏自定义的解决Ҏ. <br /><br />此外,如果你愿?q可以将EXCEL用做开发^台实现应用程? <br /><br />1.2 EXCEL环境中基于应用程序自动化的优?<br /><br />也许你想知道VBA可以q什?使用VBA可以实现的功能包? <br /><br />1. 佉K复的d自动? <br /><br />2. 自定义EXCEL工具?菜单和界? <br /><br />3. 化模板的使用. <br /><br />4. 自定义EXCEL,使其成ؓ开发^? <br /><br />5. 创徏报表. <br /><br />6. Ҏ据进行复杂的操作和分? <br /><br />用EXCEL作ؓ开发^台有如下原因: <br /><br />1. EXCEL本n功能强大,包括打印,文g处理,格式化和文本~辑. <br /><br />2. EXCEL内置大量函数. <br /><br />3. EXCEL界面熟悉. <br /><br />4. 可连接到多种数据? <br /><br />参考资料:<a target="_blank"><font color="#261cdc">www.vipstar.net</font></a><img src ="http://www.tkk7.com/zqli/aggbug/85649.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-12-05 18:41 <a href="http://www.tkk7.com/zqli/archive/2006/12/05/85649.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>如何评hz秀?http://www.tkk7.com/zqli/archive/2006/11/29/84418.html放水老?/dc:creator>放水老?/author>Wed, 29 Nov 2006 12:15:00 GMThttp://www.tkk7.com/zqli/archive/2006/11/29/84418.htmlhttp://www.tkk7.com/zqli/comments/84418.htmlhttp://www.tkk7.com/zqli/archive/2006/11/29/84418.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/84418.htmlhttp://www.tkk7.com/zqli/services/trackbacks/84418.html一?843q创立“拜上帝会”,对动员群众推L朝统ȝ斗争起了重要的宣传和l织作用Q其后写的《原道救世训》、《原道醒世训》、《原道觉世训》等著作Qؓ太^天国起义作好了思想舆论准备。经数年努力Q洪U全在杰出的农民领袖冯云山的帮助下Q拜上帝会得以迅速发展,为金田v义奠定了基础?
二、从1851q??1日金田v义到1864q天京陷落前夕,z秀全领gq场农民战争的全q程Q历?4q_势力发展?8省,先后d600多城市Q给了中外反动势力以沉重打击?
三、两ơ徏立领导核心。前期,在永安徏制分诸王,使太q_国初兯模,加强了领导力量,提高了太q_战斗力,为太q_国的q猛发展打下了基Q后期,在“国中无人,朝中无将”的局面上Q洪U全选拔了陈玉成、李U成等青年领L军事QQ命洪仁□提理天朝政务QŞ成了一个新的领导班子,使太q_国能l箋坚持斗争?
四、颁布革命纲领。前期,1853q冬Q颁布了《天朝田亩制度》,提出改变土地制度和其他改革社会的措施。其内容表现了农民反徏的要求和解决土地问题的强烈愿望。纲领内容的完备性和深刻性,使太q_国革命达C中国历代农民革命所能达到的最高思想境界?
1859q颁布了Z效西方资本主义国家而写的《资政新》一书。这是后期太q_国的重要政纲Q说明他在对待资本主义的态度上,较同时代的地ȝ治阶U思想开明,眼界开阔?
太^天国q动Q之所以能成ؓ几千q来中国农民战争的最高峰Q是与他的巨大A献分不开的。乃至中国民主革命先驱孙中山愿作z秀全第二,卛_见其对后世的p影响。太q_国是在中外反动势力联合绞杀之下p|的。但作ؓ太^天国q动的最高领ghQ洪U全的严重错误也是不可忽视的。洪U全的错误主要在于Q?
一、定都天京后Q封建意识与日俱增,{观念、n乐思想其H出。洪U全在天王府深居简出,严重q士众。在太^天国革命政权向一个新的封建王朝政权蜕变的q程中,z秀全v了特别恶劣的带头作用。思想作风上的质变Q其愈往后,则更多地像一个封建帝王。天京内讧就是领导集团内部这U封建思想发展的必然结果?
二、太q_国后期,为防大权旁落Q洪U全一反前期用\U而“用人唯亜y,形成一个排斥异姓的z氏集团Q得后期政L益腐败,l太q_国内部带来致命危机。石辑ּ是太q_最优秀的统帅,所部又是太q__N。他h兼备Q深得全体军民拥_天京内讧之后Q他是唯一能团l群众辅佐洪U全重振国势的人选。然而,z秀全猜忌他Q用安、福二王挟制和排挤他。因此,矌开Q致使太q_国出现分裂局面。其后,陈玉成、李U成打破江北大营、江南大营,京围一解,z秀全立d王爵,Ҏ不问才d、功劻I亲戚、广东同乡或捐有q者,都可以封王。封王h数竟辑ֈ2700Z上。造成后期天国朝政混ؕ、吏治|坏、军事削q局面?
三、洪U全晚q_不仅思想狭隘保守Q而且陷入了宗教迷信的可悲泥潭?
1864q?月,天京合围后,城内断粮。洪U全带头吃“甜霜y?草团)充饥。残L斗争和饥饿太^天国领袖z秀全卧病不赗?864q??日,z秀全病逝南京?img src ="http://www.tkk7.com/zqli/aggbug/84418.html" width = "1" height = "1" />

]]>
[转] 用分冶策略解军_于二叉树的几个问?http://www.tkk7.com/zqli/archive/2006/11/29/84414.html放水老?/dc:creator>放水老?/author>Wed, 29 Nov 2006 11:25:00 GMThttp://www.tkk7.com/zqli/archive/2006/11/29/84414.htmlhttp://www.tkk7.com/zqli/comments/84414.htmlhttp://www.tkk7.com/zqli/archive/2006/11/29/84414.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/84414.htmlhttp://www.tkk7.com/zqli/services/trackbacks/84414.html 问题的提?/strong>

    l常会遇到关于二叉树的算法问题,虽然比较单,不过我觉得还是有必要ȝ一下.Z写了个sampleE序Q以供参考.本文中主要讨论关于二叉树的以?个问?都是用递归来实玎ͼDivide and conquer也就是所谓的分冶{略Q?br />    1.二叉树的高度
    2.二叉树的宽度
    3.比较两个二叉树是否相{?br />此文对应的参考程序可以在 http://shaohui.zheng.googlepages.com/bst.c 下蝲?/font>

数据l构的定?/strong>

    先定义一个简单的二叉树,׃只是演示Q所以定义得比较单.

 1 #include <stdio.h>
 2
 3 #define MAX(x,y) ((x)>(y)?(x):(y))
 4
 5 //define a binary search tree
 6 typedef struct BNode
 7 {
 8     int val;
 9     struct BNode *left, *right;
10 }BNode,*BTree;

二叉树节点的gؓval,另外Z比较方便q定义了一个宏MAX.

12 // insert a node to binary tree
13 // we assume that no duplicated elements
14 void BTreeInsert(BTree *bt, int val)
15 {
16     BNode *p = *bt,*cur = *bt;//p is a parent node of cur
17     while (cur != NULL)
18     {//find the position to insert node val
19         p = cur;
20         if ( val < cur->val )
21             cur = cur->left;
22         else
23             cur = cur->right;
24     }
25     BNode *n = malloc(sizeof(BNode));
26     n->val = val;
27     n->left = n->right = NULL;
28     if (p == NULL)
29         *bt = n;// the tree is empty
30     else
31     {
32         if (val < p->val)
33             p->left = n;
34         else
35             p->right = n;
36     }
37 }
//BTreeInsert
q定义了一个函数BTreeInsert用来帮助创徏二叉树.

二叉树的高度

基本ҎQ二叉树Q分别求出左叛_数的高度Q然后取左右子树高度的最大数|再加上1Q就是二叉树的高度.
׃该问题又被划分ؓ两个性质一L子问题,因此很容易导致递归Q?/font>
39 //get the depth of a BST
40 int BTreeDepth(BTree bt)
41 {
42     if (bt != NULL)
43     {
44         int dep_left = BTreeDepth(bt->left);
45         int dep_right = BTreeDepth(bt->right);
46         return MAX(dep_left,dep_right)+1;
47     }
48     return0;
49 }
//BTreeDepth

二叉树的宽度

基本ҎQ左叛_树的宽度相加Q于是就得到二叉树的宽度Q?br /> 66 //get the width of a BST
67 int BTreeWidth(BTree bt)
68 {
69     if (bt != NULL)
70     {
71         if ((bt->left == bt->right) && (bt->left == NULL))
72             return1;// bt is a leaf
73         else
74             return BTreeWidth(bt->left) + BTreeWidth(bt->right);
75     }
76     else
77         return0;
78 }//BTreeWidth
79

二叉树的比较

    如果我们认ؓ左右子树位置很重要,也就是说把左叛_树交换以后,我们认ؓ它和原来的子树不一样了Q那么只需要比较一ơ就可以了?/font>
51 //compare 2 binary tree, if bt1 is equal bt2
52 //return 1, or return 0
53 int BTreeCompare(BTree bt1, BTree bt2)
54 {
55     if ((bt1==bt2) && (bt1==NULL)) // both bt1 and bt2 are empty
56         return1;
57     elseif ((bt1 != NULL) && (bt2 != NULL)) // none of bt1 and bt2 is empty
58     {
59         return BTreeCompare(bt1->left, bt2->left)
60             && BTreeCompare(bt1->right, bt2->right);
61     }
62     else// one of bt1 and bt2 is empty
63         return0;
64 }
    如果我们认ؓ左右子树位置不重要,也就是说把左叛_树交换以后,我们认ؓ它和原来的子树还是一LQ那么我们还好多加判断.把其中一个子树左右位|交换以后再比较Q那么原来的E序需要有一些改动.

59-60行需要改成以下内容就可以了?br />59         return (BTreeCompare(bt1->left, bt2->left) && BTreeCompare(bt1->right, bt2->right))
60             || (BTreeCompare(bt1->left, bt2->right) && BTreeCompare(bt1->right, bt2->left));



]]>
[转]长尾理论的数学分析:真的d颠覆了二八法则? http://www.tkk7.com/zqli/archive/2006/11/27/83881.html放水老?/dc:creator>放水老?/author>Mon, 27 Nov 2006 12:51:00 GMThttp://www.tkk7.com/zqli/archive/2006/11/27/83881.htmlhttp://www.tkk7.com/zqli/comments/83881.htmlhttp://www.tkk7.com/zqli/archive/2006/11/27/83881.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/83881.htmlhttp://www.tkk7.com/zqli/services/trackbacks/83881.html随着中信出版Cּq出??a target="_blank">《长论?/font>Q关于这一Web 2.0以来最重要的概念又被大家如火如荼地炒作h。概忉|模糊的,U学是严谨的。虽然我之前某些问?a target="_blank">质疑q长?/font>Q本文试N过数学Ҏ来看看长论是否真的彻底颠覆了二八法则Q?/p>

长尾理论通常使用左边q张长尾曲线图来解释Q头部是大热门,行度曲UK然下坠,但一直没有到零点。这个长长尾巴的价值就是长论通篇讲述的核心?/p>


《长论》书中第110中讲到“长ְ是一U幂?power-law)曲线”,学过中学数学的都知道Q幂率曲U就是类似f(x)=c/x的曲U,其中c为常量。大家看看确实和Chris Anderson描述的长曲U一模一栗?/p>

有了q个前提Q我们来看看长尾理论是否真的d颠覆了二八法则?首先Q了解一下“二八法则”,“二八法则”又U“帕累托法则”,是意大利l济学家帕篏托在19世纪末发现的l济规律Q他发现在经活动中Q少数群体显得更为重要,比如Q?0%的h口掌?0%的胦富?0%的品?0%的销售额{等。因此这个法则也UCؓ“重要少数法则”?/p>

我们在Q何一个地Ҏ断长,比如x=5n的地方,q时?0%多数是x=n之前的部分?个部分的总量分别是:

总量 = c+c/2+c/3+c/4+...+c/5n
头部 = c+c/2+c/3+c/4+...+c/n

很显Ӟq?个部分构成都是数学中最常见的调合敎ͼ我们知道调合U数是发散的。如何估?1)?2)的值ƈq而计它们的比例呢?q好著名的数学家Euler证明?br />
1+1/2+1/3+1/4+...+1/n = ln(n+1)+r

其中r是一个常量,现在UCؓEuler常数Q约?.577218。这P我们得到长论环?丰饶l济)下,20%的头部所占的比例基本为:
头部/总量 = (ln(n)+r) / (ln(5n)+r) = (ln(n)+r) / (ln(n)+ln5+r)

因ؓln(n)是发散的Q所以当n来大的时候,q个比率来接q于100%。Ş象一点,我们来计几个|
n20%的头部比?/td>
10075.3%
100082.3%
1000085.9%

所以从数学计算上来_长尾理论依然没有摆脱“重要少数法则”?

 

其实Chris Anderson也承认:“真正的80/20法则只是承认帕篏托分布的有效性,承认某些东西卖得q比其他东西要好Q这在长ָ场和传统市场中都是成立的。”所以,长尾理论d颠覆了二八法则是没有Ҏ的?/font>

长尾理论不是颠覆性的概念Q更多地是指导我们在丰饶l济的条件下Q寻扑֐适的长尾市场Q开拓新的销售渠道。所以Chris Anderson也重点谈到“即使有二八法则的统治,在丰饶经环境下Q我们也没有理由不去l营其它?0%产品”。或许,q就是对长尾理论最深刻的注解?/font>


数学知识:Ƨ拉常数的由?/strong>

对于今天我们UCؓ调和U数?br />

1+1/2+1/3+1/4+...

很早有数学家研IӞ比如中世U后期的数学家Oresme?360q就证明了这个数是发散的。他的方法很单:
1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+...
1/2+1/2+(1/4+1/4)+(1/8+1/8+1/8+1/8)+...

注意后一个数每一对应的分数都小数调合C每一,而且后面U数的括号中的数值和都ؓ1/2Q这L1/2有无I多个,所以后一个数是向无穷大的Q进而调合C是发散的?

 

随后很长一D|_Z无法使用公式去D调合U数Q直到无IL数理论逐步成熟?665qNewton(牛顿)在他的著名著作《流数法》中推导出第一个幂U数Q?br />

ln(1+x) = x - x2/2 + x3/3 - ...

 

Euler(Ƨ拉)?734q_利用Newton的成果,首先获得了调和数有限多和的倹{结果是Q?br />

1+1/2+1/3+1/4+...+1/n = ln(n)+r (r为常?

他的证明是这LQ?br />ҎNewton的幂U数有:

ln(1+1/x) = 1/x - 1/2x2 + 1/3x3 - ...

于是Q?br />
1/x = ln((x+1)/x) + 1/2x2 - 1/3x3 + ...

代入x=1,2,...,nQ就l出Q?br />
1/1 = ln(2) + 1/2 - 1/3 + 1/4 -1/5 + ...
1/2 = ln(3/2) + 1/2*4 - 1/3*8 + 1/4*16 - ...
......
1/n = ln((n+1)/n) + 1/2n2 - 1/3n3 + ...

相加Q就得到Q?br />
1+1/2+1/3+1/4+...1/n = ln(n+1) + 1/2*(1+1/4+1/9+...+1/n2) - 1/3*(1+1/8+1/27+...+1/n3) + ......

后面那一串和都是收敛的,我们可以定义
1+1/2+1/3+1/4+...1/n = ln(n+1) + r

Eulerq似地计了r的|Uؓ0.577218。这个数字就是后来称作的Ƨ拉常数。不q遗憄是,我们对这个常量还知之甚少Q连q个数是有理数还是无理数都还是个谜?

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1416659



]]>
[转]在Rails中探索资源的世界—??日David Heinemeier Hansson演讲的翻译稿Q部分) http://www.tkk7.com/zqli/archive/2006/11/27/83872.html放水老?/dc:creator>放水老?/author>Mon, 27 Nov 2006 12:04:00 GMThttp://www.tkk7.com/zqli/archive/2006/11/27/83872.htmlhttp://www.tkk7.com/zqli/comments/83872.htmlhttp://www.tkk7.com/zqli/archive/2006/11/27/83872.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/83872.htmlhttp://www.tkk7.com/zqli/services/trackbacks/83872.html Q译者按Q ?今年7月䆾举行的RailsConf 2006上,David Heinemeier Hasson作了一个主题演Ԍ很清楚地讲了Rails 1.2中对于REST的设计,以及REST风格lWeb应用设计思想所带来的革新。我W一ơ看到这个视频,p可能是对Web服务端开发具有历史意义的一ơ演讌Ӏ当时有一Ҏ_׃边听一边记Q把q个演讲的开头翻译出近3000字的内容Q大U占整个演讲幅?/4。后来我忙了hQ就没有旉把这个翻译做完。这个稿件在我硬盘上爬了两个多月Q扔掉也不是Q放出来又不完整。现在Rails 1.2已经发布了,我想来多的Web开发者都会回q头兛_q个演讲的内容,所以突然生Z个想法,能不能把q个不完整的译E放到自qblog上,h旉和精力的|友把翻译工作接力下去?

    所以,我已l将自己译完成的开头部分(录像??节Q放到这里,h兴趣和热情的朋友对照录像内容把翻译接力下去,为国内的Web开发者介l关于Web开发思想的这一重大革新。)

录像地址Q?/span> 在这?/a>

qȝ片地址Q?a >在这?/a>


大家好,今晚我的演讲题目是《在Rails中探索资源的世界》。不q在我发表这个有ҎE式的演讲之前,我想花几分钟来展CZ下自q傲慢。我L要发表一些让Z不舒服的a论,现在q几乎已l是个传l了?br />
q次的会议展CZq去6个月以来世界各地的Rails开发者们发现的最令h兴奋的东西,现在看来Q我们这个小圈子之外的h们也l于开始关注RailsC了,q当然很酗但同时我们也必L清楚Q我们何以会获得如此的关注?我听CThomas昨天和今天的发言Q当然他的很多想法和是非常棒的,不过在同时应该记住,之所以今天我们会在这里聚会,之所以Rails是今天的RailsQ恰恰因为我们对很多事情说了“不”,恰恰是因为我们将很多人拒之门外?/span>如今Rails被越来越多的人接受,但我q不认ؓ因此我们可以背d前的原则。所以,管我毫无疑问地支持Thomas的很多实用的Q但对他的论调则不以为然?span style="FONT-WEIGHT: bold; COLOR: rgb(0,0,255)">我不认ؓRails应该向外部世界屈服,恰恰相反QRails正在有力地让外部世界向我们屈服?/span>在这个演讲里Q我正是要好好谈谈世界的问题。我是说Q现实的世界。你们中的很多h大概都知道,我这个h从不觉得现实世界是个很舒服的地方Q倒是对于理想世界情有独钟。Rails很大E度上就是生zd一个理想世界里Q在q里QRails没有那些该死的现实世界里的枷锁。可惜,Z必须生活在现实世界里Q而生zd现实世界实在是相当悲哀。在现实世界里,你会被沿袭了数十q的陈规陋习拖入深渊Q这决不是Rails的成长之道,也不会是它未来的命运。我E后会回到这个观炏V?br />
q是先来报报喜。我最q去了一日本,那里发生的事情让我很感兴。在q里Q我们有大约三、五百h聚在一P代表西方世界的Rails用户。而在日本QRuby的用L数量庞大Q热情高涨,他们做了大量的Ruby和Rails相关的工作,其中有很多我L未闻Q比我们q个房间里的h们所做的工作要多得多。他们正在创建更好几个理想的世界Q大大超我曄梦想的那个世界。Thomas和我写的那本书自d发行以来Q已l买?万多册,q经常被我们用来标志Rails的成功。而在日本Q这本书刚刚译出版几个月,已经销?千多册,他们q有3本日文书卛_出版。在p世界Q到q底的时候大U还会有十本书上市,q都令h感到兴奋。从那些长时间用Rails的团队那里得来的消息同样令h兴奋。我多次提到?3things.com团队Q他们大规模应用了RailsQƈ且在面向公众的站点^Cq行了高负蝲量的试。上ơ我问他们的时候,他们的Rails应用每天要?50万动态网,q已l是很了不v的事情!当然Q这个演讲ƈ不打花更多的时间来自吹自擂Q这个演讲的主题是有关CRUD的?br />
CRUD -- CreateQReadQUpdate和Delete。这几个词汇概括了我们的主要的工作,q几个基本的概念概括了我们对对象I间中对象或者数据库表wrapper所能够的主要操作。但CRUD是有问题的。有什么问题呢QCRUD的问题是它的名字起得不好。不光名字v得不好,名声也不太好。他们是怎么说CRUD的呢Q首先,他们说CRUD太简单,仅靠q四个操作,别指望能做出什么有的事情Q世界太复杂了,不是q四个动词所能够描述的,所以CRUD太简单。正因ؓCRUD太简单,所以它们无法胜ȝ实工作。如果你只是用CRUD的话Q你不可能把事情做到位。CRUD不是一Uo人满意的方式Q它不能够把人类了不L智慧充分发挥出来。他们说Q这不值得Q你不应该把你的_֊费在这四个动词上,它们太简单了。用CRUD应该感到愧?br />
我要说的是,他们错了。我今天的演讲就是要消除大家对CRUD的担忧,q且让大家像我一样学会爱上CRUD?br />
在对象的世界里,我们CRUD。而在数据库的世界里,我们也有四种基本操作QSELECTQINSERTQUPDATEQDELETE。不q数据库世界中的q四U操作存在已l好多年了,而且关于CRUDq于单的说法Q很大程度上是在跟数据库这四大操作的对比中产生的。所以这q没有我深入的思考CRUD问题。促使我深入思考CRUD的是HTTP?br />
q年来,我们l历了一ơ文艺复_RenaissanceQ,一ơHTTP的文艺复_HTTP有四个动词,GETQPOSTQPUT和DELETEQ从而在上面的这个CRUD栈之上添加了崭新的一层。然而我们大多数人只使用GET和POST来思考HTTP和WebQ而没有进而想刎ͼHTTP的四个动词已l之成为CRUD的一U新形式。我本hҎ深感内疚Q因为多q来我自ƺ欺人地认ؓHTTP只有GET和POST。正因ؓ此,我才会占用各位一时来讲qC面的内容?br />
<W??gt;

LQ这是现在一个CRUD应用E序对外暴露功能的方式。当你想创徏某个东西Q你想一个特定的URL地址POSTQ当你想获取对象的内容,把相关资源的位|放到URL里,然后GETQ当你想改变q个对象Q就用POSTQ有些h也用GET操作做这件事Q其实这很不好。再有就是删除操作,也是用POST?br />
看着q样一q图Q有时我会觉得有Ҏ狂。我们在Rails中的一个宗旨是DRYQ决不做重复的工作。你看看q里的动词,GET, POSTQ再看看q里的URLQ我们所做的不正是重复性工作吗Q看看第二行Q我们说要GETW?个peopleQ但是这个people的URL中包含showQGET和showQ这两者不正是同样的意思吗Q显然我们把一些事情做错了。之所以会把这些事情做错,Ҏ上是因ؓ我们没有把HTTP提供的CRUD操作利用好。如果我们能利用好,我们完全可以把事情做得清爽、漂亮,像这P<W??gt;

现在QURL只是标识了我们所x的那个对象本w,而我们要对对象所做的操作则用四个动词来表达。之前,我们把操作和操作的对象؜在一P现在则明地分开。这昄漂亮多了Q但是ؓ什么我们先前没有这么做呢?Z么HTTP的这部分能力一直被遗忘在角落里呢?q自然是有原因的。原因就是,要这么做会很痛苦Q因为HTML以及Web世界里的其他现存的东襉K没有ƣ赏到HTTP中已l存在的q种,更没有ؓ此做出相应的设计实现。既然Rails框架的目标把q些累赘东西t走Q是深埋于下的美妙的概念暴露在世人面前,那么Z么我们不能够试着来解册个问题?q就是我今天要讲的东西,如何把上面那样重复的累赘的Ş式变成下面这个清爽漂亮的形式。事实上Q这不仅仅是一个URL漂亮与否的问题?br />
在Rails 1.2中,如果你想把某个资源暴露出来,使客戯够用那种清爽的URL的方式去讉K和操作资源,你只需要做q样的事?strong>Q?lt;W?0?gt;

q一语句person作ؓ一个资源,允许上述那种URL直接被映到对应的方法?br />
Q之下有一D灯片内容的解释,略过Q?br />
怎么做到q一点呢Q首先要增加PUTq将其传递给控制器的能力。但正如我之前所_׃HTML天然地没有PUT的能力,所以这不太Ҏ。没关系Q我们要修正q一炏V?br />
<W?1?gt;

首先是POST和GETQ跟以前一P所以没什么要特别说出的。有的部分是Update和Destroy。在Update部分Q我们要扑ֈ一U方法告诉RailsQ这个表单的action不是一个常规的POSTҎQ而是一个PUT。这里展C的是这个操作应该的模样。如果HTML表单支持PUTҎ的话Q我们本该这样写来着。很不幸Q事实ƈ非如此(HTML表单不支持PUT actionQ,所以我们只能用POST来伪造一个PUT。在Rails中,当你q样写的时候,产生出来的表单里包含了一个隐藏的域,UCؓunderscored methodQ下划线ҎQ,q个下划U方法会去调用真正干事的那个Ҏ。我们这么做p让Rails怿Q这个POST实际上是个PUT?br />
Q以上翻译是录像1?节内容,L心网友接力翻译后面的内容Q?/span>

 

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1413933



]]>什么是SNSQ?/title><link>http://www.tkk7.com/zqli/archive/2006/11/24/83293.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Fri, 24 Nov 2006 08:12:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/11/24/83293.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/83293.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/11/24/83293.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/83293.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/83293.html</trackback:ping><description><![CDATA[     Q解一Q)   SNS是一个采用分布式技术,通俗地说是采用P2P技术,构徏的下一代基于个人的|络基础软g? <p>  SNS通过分布式Y件编E,现在分散在每个人的讑֤上的CPU、硬盘、带宽进行统{安排,q赋予这些相Ҏ务器来说很ؓ的讑֤更强大的能力。这些能力包?计算速度Q通信速度Q存储空间?/p><p>  SNS的技术v?在互联网中,PC机、智能手机都没有强大的计及带宽资源Q它们依赖网站服务器Q才能浏览发布信息。如果将每个讑֤的计及带宽资源q行重新分配与共享,q些讑֤有可能具备比那些服务器更ؓ强大的能力。这是分布计算理论诞生的根源,是SNS技术诞生的理论基础?/p><p>  SNS的商业空?当普通h通过安装SNS软g都可以拥有媲网站服务器的计及通信资源Ӟ那些投资了大量服务器的互联网公司怎么办呢?他们的优势在什么地?会不会有更多的新型的互联|公司出玎ͼ而且他们的后C们的前端有没有可能完全不是现在的GOOGLE、EBAY、新模式呢?甚至包括盛大|络游戏q样的运营商Q他们引为骄傲的强大?万台服务器集,是不是他们的核心竞争力呢?当一个OM者家里的那台机器Q就可以让他通过SNS视频器播放他的作品,他还需要去理一个网站吗?或许一个家庭主妇不需要懂得HTML~程Q不需要懂得网站这个词汇,只通过SNS菜谱发布E序及一台厨戉K的PCp让千百万人掌握她的手艺,而且她在厨房的灶C的一招一式都清晰可见。这个时候,您会惛_什?</p><p>  现在的互联网中,作ؓ客户端的我们像个蠢蛋,只能通过服务器才能干些奴隶般的事情,看别人的|站Q玩别h的游戏,发发邮gQ除此之外,我们没有自由。现在是开始革命的时候了!革命中心d是:如何?0多亿台电脑发挥他们自q作用Q让用户d造和控制自己的信息。中间不需要公司的服务器来摆布我们?br /><br /> <br />         Q解二:Q?br />         SNS: Social Network SofwaretQ社会性网lY件。依据六度关pȝ论,以认识朋友的朋友为基Q扩展自q。ƈ且无限扩张自qQ在需要的时候,可以随时获取一点,得到该h脉的帮助?br /><br />         ?003q?月vQSNS|站悄然从美国兴?短短的五个月内SNS风靡整个北地区。 据l计Q在谷工作的三Z有一个h使用SNS来拓展自q交际圈。 SNS|站也受C风险投资的追捧,有些SNS|站也获得了巨额的投资?br /><br />         在国内,q股旋风也吹得正猛,提供SNS服务的网站如雨后春笋般破土而出。 而SNS之所以走俏是Z对网l应用需求变化驱动然。 随着|络C会化应用的发展Q网民对|络的要求越来越高,不再仅仅局限于׃{方面,更希望网l能对工作、个人的发展提供更加便捷、高效的支撑和帮助?br /><br />         SNS的中文含义是“社交网l”。顾名思义Q它是C交关系的网l化。将我们现实中的C会圈子搬到|络上,Ҏ不同的条件徏立属于自qC交圈子。 通过朋友认识朋友的Ş式,q速徏立v一个自qZ信Q的朋友圈子。在q个圈子里,怺之间h较高的诚信度Q区别于W一代交友模式的满无目的性?br /><br />         SNS可称为“第二代交友模式”。在q种模式下,l交的都是相对可靠的朋友Q由于用户可以搜索的对象都是h友的朋友Q因而从诚信和安全的角度上来看,它给了用h大的信心和保障。此外,在SN中,不经朋友介绍和用L认,用户的个料是不能被陌生h看到的。因此,对个人的隐私的保障性增Z?br /></p><img src ="http://www.tkk7.com/zqli/aggbug/83293.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-11-24 16:12 <a href="http://www.tkk7.com/zqli/archive/2006/11/24/83293.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>攉PDF->WORDhttp://www.tkk7.com/zqli/archive/2006/11/16/81442.html放水老?/dc:creator>放水老?/author>Thu, 16 Nov 2006 01:55:00 GMThttp://www.tkk7.com/zqli/archive/2006/11/16/81442.htmlhttp://www.tkk7.com/zqli/comments/81442.htmlhttp://www.tkk7.com/zqli/archive/2006/11/16/81442.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/81442.htmlhttp://www.tkk7.com/zqli/services/trackbacks/81442.html        可以利用Office 2003中的Microsoft Office Document Imaginglg来实现PDF转WORD文档Q也是说利用WORD来完成该d。方法如下:

  用Adobe Reader打开惌{换的PDF文gQ接下来选择“文件→打印”菜单,在打开的“打印”窗口中?font color="#0066cc">“打印机”栏中的名称讄?/font>“Microsoft Office Document Image Writer”,认后将该PDF?font color="#0066cc">件输ZؓMDI格式?font color="#0066cc">虚拟打印文g?/p>

  ?如果没有扑ֈ“Microsoft Office Document Image Writer”项Q用Office 2003安装光盘中的“添?删除lg”更新安装该lgQ选中“Office 工具 Microsoft DRAW转换器”?/p>

  然后Q?font color="#0066cc">q行“Microsoft Office Document Imaging”,q利用它?font color="#0066cc">打开刚才保存的MDI文gQ选择“工具→文本发送到Word”菜单,在弹出的H口中选中?font color="#0066cc">在输出时保持版式不变”,认后系l会提示“必d执行此操作前重新q行OCR。这可能需要一些时间”,不管它,卛_?/p>

  ?对PDF转DOC的识别率不是特别完美Q{换后会丢失原来的排版格式Q所以{换后q需要手工对其进行排版和校对工作?/p>

  以上仅在word2003中可用,其他版本没有Microsoft Office Document Image Writer?br />
                                                                      L不克的PDF转Word

论坛中谈到很多PDF转换Word的方法,但有些PDF文档本n的制作过E中q不是以文字方式q行制作的,因而利用该Ҏ仍不能进行{换。这里通过利用文字识别软g的功能进行“曲U{换”?br />    软g需要:Adobe Acrobat Pro(注不是Reader)Q识别Y?如汉王文本等)QWord

    ҎQ?br />    Step 1
    用Adobe Acrobat Pro打开该PDF文档
    点击File—Save As
    在弹出窗口中保存cd选取“Jpeg?br />
    Step 2
    打开WordE序Qƈ新徏一I白文g备用

    Step 3
    打开OCRE序Q打开刚保存的Jpeg文档
    点击“版面分析?br />    点击“文字识别?br />    可在~辑H口中进行更正编?br />    点击“插入Word文档?br />
    Step 4
    转到Word中,q行E微的排?br />    卛_

    Step 1 转换为Jpeg文档的操? Gif动画 )

 

    另:
     1.如果论文写作旉要大量引用部分图书,利用数码相机拍摄相关面Q放入OCR中一样可以识别{换成Word文档Q这Ҏ有扫描A的我们相当有?br />
    2.其它诸如”ScanSoft PDF Converter for Microsoft Word v1.0“、”PDF2DOC“对某些PDF文档q不能识别与转换

    3.注意Q此Ҏ仅是”曲U{换“,如觉ȝQ请告知更好Ҏ

    Step 2-3  Jpeg文档识别与Word文档l转换(省略Step 3 中“更正编辑?
    Step 4 ?/p>





微YOffice文档格式的{换可能是朋友们比较关心的问题。尤其是PDF转成Word的DOC格式Q或者把Word的DOC文档转成PDF文档用得最为广泛。可能大家不知道Q除了DOC与PDF的{换和Office办公文档格式之间的相互{换外QOffice文档q能转成其它一些文件格式。大家一h看看吧?
 
Office文档之间的{?/font>
 
  微YOffice有很多种文档格式QDOC、XLS、PPT、TXT{等。要把他们相互{换,可以用“文件”菜单下的“另存ؓ”选项Q只要选项中有对应选项Q就可以直接转?
  但ƈ非每U文档都能直接相互{换。比如,DOC׃能直接另存ؓPPT。这需要用到其它方法。我们DZ下一些常用的转换ҎQ?
 
Word文档转PPTQ?/td>q里是用Word中的“发送到”命令来实现Word转PPT[全文]
PPT转Word文档Q?/font>q也是用“发送到”命令来实现转换[全文]
快速将Word转换为PPTQ?/font>用“插入”的Ҏ也能实现Word转PPT[全文]
Excel转WordQ?/td>Excel表格惛_成Doc文档Q只需把需要的单元格选中q复Ӟ再粘贴到Word中保存就可以了?/td>
Word转ExcelQ?/td>q里主要是指Word中的表格转成Excel文g。也是用复制_脓的方法就能快速实现?/td>
Word与WPS文档的{换: 姑且把WPS与DOC文档的{换放到这里,因ؓWPS文档格式现在已经与Office全兼容了嘛?/font>[全文]
 
Word与PDF之间的{?/font>
 
   Word与PDF的{换有很多ҎQ包括第三方工具软g转换、复制粘贴、另存ؓ{。我们归U_条最常的ҎQ?
 
Officelg把PDF转成WordQ?/td>Office有个lg?Document ImagingQ它能完成这一工作?/font>[全文]
利用W三方工兯Y?/font>Q?/td>ScanSoft PDF Converter For Microsoft Word q款软g可以方便地把PDF文档转ؓWord文档?/font>[全文]
ASP.Net实现Word转换PDF格式Q?/td>用编E的Ҏ也能实现目标。不q可能要高玩家才用得上q一U方法了?/font>[全文]
Word与PDF的互转:光是PDF转Word也不行,有时q要把Word转成PDF。这里就有一个方法…?/font>[全文]
 
其它形式的{?/font>

  办公文档不光可以转成办公文档Q还能{成其它一些格式:
 
PPT文稿保存为图片: q是用另存ؓ的方法把PPT文档存ؓGIF动画囄?/font>[全文]
Excel图表另存为GIF文gQ?/td>用宏代码能把Excel图表存成GIF动画囄?/font>[全文]
Excel做成EXE可执行文Ӟ 不信Q看了您q信了QExcel真的可以变成可执行文件哟Q?/font>[全文]
全能文档专家转换多种文档Q?/td>传说中可以让多种文档随意转的工P不过效果可能不那么尽如h意?/font>[全文]


]]>学习W记-杂集http://www.tkk7.com/zqli/archive/2006/10/31/78309.html放水老?/dc:creator>放水老?/author>Tue, 31 Oct 2006 08:26:00 GMThttp://www.tkk7.com/zqli/archive/2006/10/31/78309.htmlhttp://www.tkk7.com/zqli/comments/78309.htmlhttp://www.tkk7.com/zqli/archive/2006/10/31/78309.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/78309.htmlhttp://www.tkk7.com/zqli/services/trackbacks/78309.html
“对象”表C行在容器中的对象Q一l协作的对象通常被称为“组件”。D例:EJB通常被称为组Ӟ而不是对象)。当一个对象被容器理hӞ它就多少有些cM一个组?它拥有了lg最重要特征Q可以切换成另一个实玎ͼ只要后者满_L契约QcontractQ即可。这里的“对象”和_度无关?br />
一个“轻量容器”,应该h下列Ҏ:可以理应用代码Q而又不给应用代码强加对容器的依赖。例如,应该可以无须修改地将遗留代码引入容器。我们把q种Ҏ叫做“非侵入性”:除非l对必须Q否则基设施不应该把对容器的依赖强加l应用代码。这也应用对象既可以在容器内,又可以在容器外运行,辑ֈ容器无关性?br />
所有EJBQ甚臛_括本地的EJBQ的_度都必ȝ当粗QEJBlg不支持承,仅仅允许EJB实现cȝl承?br />
“企业应用”的范畴相当宽泛Q从只访问一个数据库的Web应用Q知道高度事务性,以中间g为核心,需要访问多个资源,甚至可能用到RMI基础上的内部分布和异步消息机制的应用E序?br />
Spring是一个应用框Ӟ而不是Web框架、IOC框架QAOP框架或者中间层框架什么的QSpring由多个子框架l成Q而且q些框架都相对独立。Spring 支持对EJB的访问,使用动态代理技术来实现无须~码的客L业务代表Qbusiness delegateQ因此,“是否用本地无状态Session bean”就完全成了一U实现选择Q而不是架构选择。也是说如果你想用EJBQ你可以在统一的架构体pM使用Q却不需要再让EJB成ؓ你的架构基础?br />
AOP最有h值的用途就是在业务Ҏ上提供通用的企业服务。譬如声明性事务管理和声明性安全检查等。AOP影响的仅仅是我们使用J2EE服务的方式。在它的装之下Q我们仍然可以用应用服务器的核心功能,譬如JTA。容器管理事务(CMTQ?br />
如果应用pȝ在逻辑上分Z层结构:一个WEB层,一个业务对象层Q一个数据访问层Q整个应用系l运行在同一个JVM中。在q样一U分层的架构中,事务理属于业务对象层。通常在业务门面中划分Q数据访问层与事务过E。但是ƈ不是理事务Q在数据讉K层做不同Ҏ调用可以参与C个事务过E中 ?br />
全局事务理的底层基设施是由容器实现的JTAQ而全局事务理往往使用EJB CMT。EJB CMT只不q是讉K容器事务协调器的一U方式而已。此外,也可以直接用JTA?br />
X/Open XA规范QXA定义了事务管理器和资源管理器的底层协议,定义了参与事务的资源的底层协议,以及两阶D|交的其他Ҏ情况的底层协议?br />
~程式事务管理:使用JTA通过JNDI获取Q声明式事务理Q通过使用lg模型Q即EJB CMTQ,q是一U徏立在JTA基础设施之上的高层的服务?br />
JAVAq接器架构(the java connector architectureQ:提供了无~插入容器事务和资源池基设施的手Dc通过标准的接口,允许M资源参与全局分布式容器事务?br />
对于集合查询和批量更新操作来_直接使用关系型操作非常合适,关系型数据库可以非常高效地处理这些操作?br />
客户端通常不可能对q程异常q行有效的处理,因此常见的做法是其沿着调用栈一直向上抛Q由一个通用的基模块来统一处理?img src ="http://www.tkk7.com/zqli/aggbug/78309.html" width = "1" height = "1" />

]]>
学习W记-设计模式之Singleton(单?http://www.tkk7.com/zqli/archive/2006/10/30/78072.html放水老?/dc:creator>放水老?/author>Mon, 30 Oct 2006 08:12:00 GMThttp://www.tkk7.com/zqli/archive/2006/10/30/78072.htmlhttp://www.tkk7.com/zqli/comments/78072.htmlhttp://www.tkk7.com/zqli/archive/2006/10/30/78072.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/78072.htmlhttp://www.tkk7.com/zqli/services/trackbacks/78072.html 单态定?/strong>:
Singleton模式主要作用是保证在Java应用E序中,一个类Class只有一个实例存在?

在很多操作中Q比如徏立目?数据库连接都需要这L单线E操作?/p>

q有, singleton能够被状态化; q样Q多个单态类在一起就可以作ؓ一个状态仓库一样向外提供服务,比如Q你要论坛中的帖子计数器Q每ơ浏览一ơ需要计敎ͼ单态类能否保持住这个计敎ͼq且能synchronize的安全自动加1Q如果你要把q个数字怹保存到数据库Q你可以在不修改单态接口的情况下方便的做到?/p>

另外斚wQSingleton也能够被无状态化。提供工h质的功能,

Singleton模式׃ؓ我们提供了这样实现的可能。用Singleton的好处还在于可以节省内存Q因为它限制了实例的个数Q有利于Java垃圾回收Qgarbage collectionQ?br />
我们常常看到工厂模式中类装入?class loader)中也用Singleton模式实现?因ؓ被装入的cd际也属于资源?br />

如何使用?
一般Singleton模式通常有几UŞ?

public class Singleton {

  private Singleton(){}

  //在自己内部定义自׃个实例,是不是很奇怪?
  //注意q是private 只供内部调用

  private static Singleton instance = new Singleton();

  //q里提供了一个供外部讉K本class的静态方法,可以直接讉K  
  public static Singleton getInstance() {
    return instance;   
   }
}

 

W二UŞ?

public class Singleton {

  private static Singleton instance = null;

  public static synchronized Singleton getInstance() {

  //q个Ҏ比上面有所改进Q不用每ơ都q行生成对象Q只是第一ơ     
  //使用时生成实例,提高了效率!
  if (instance==null)
    instanceQnew Singleton();
  return instance;   }

}

 

使用Singleton.getInstance()可以讉K单态类?/p>

上面W二中Ş式是lazy initializationQ也是说第一ơ调用时初始SingletonQ以后就不用再生成了?/p>

注意到lazy initialization形式中的synchronizedQ这个synchronized很重要,如果没有synchronizedQ那么用getInstance()是有可能得到多个Singleton实例。关于lazy initialization的Singleton有很多涉及double-checked locking (DCL)的讨论,有兴者进一步研I?/p>

一般认为第一UŞ式要更加安全些?br />

使用Singleton注意事项Q?br />有时在某些情况下Q用Singletonq不能达到Singleton的目的,如有多个Singleton对象同时被不同的c装入器装蝲Q在EJBq样的分布式pȝ中用也要注意这U情况,因ؓEJB是跨服务器,跨JVM的?/p>

我们以SUN公司的宠物店源码(Pet Store 1.3.1)的ServiceLocatorZE微分析一下:

在Pet Store中ServiceLocator有两U,一个是EJB目录下;一个是WEB目录下,我们查这两个ServiceLocator会发现内容差不多Q都是提供EJB的查询定位服务,可是Z么要分开呢?仔细研究对这两种ServiceLocator才发现区别:在WEB中的ServiceLocator的采取Singleton模式QServiceLocator属于资源定位Q理所当然应该使用Singleton模式。但是在EJB中,Singleton模式已经失去作用Q所以ServiceLocator才分成两U,一U面向WEB服务的,一U是面向EJB服务的?/p>

Singleton模式看v来简单,使用Ҏ也很方便Q但是真正用好,是非怸ҎQ需要对Java的类 U程 内存{概忉|相当的了解?/p>

MQ如果你的应用基于容器,那么Singleton模式用或者不用,可以使用相关替代技术?/p>

q一步深入可参考:

Double-checked locking and the Singleton pattern

When is a singleton not a singleton?



]]>
《CSS|站布局实录》读书笔?/title><link>http://www.tkk7.com/zqli/archive/2006/10/19/76196.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Thu, 19 Oct 2006 08:02:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/10/19/76196.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/76196.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/10/19/76196.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/76196.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/76196.html</trackback:ping><description><![CDATA[class作ؓ一U专门对于样式定义的属性,不同于idQ除了在使用上可以多个元素同时用一个class名称之外Q甚臛_以同一个元素用多个class样式。用方法是在XHTML中的class定义Ӟ使用I格分隔多个样式的名Uͼ<br /><br /><div class="c1 c2 c3">CZ文本</div><br /><br />在用c1Qc2Qc3的样式中Q我们在c2中定义了字体兰色Qc3中定义了字体U色Q而最l显C的是c3的红色样式。这p明了有关多样式同时用的优先问题Q对于这L多样式定义,后面的样式L能够覆盖前面的样式进行最l的昄Q而且只是覆盖相同的属性,如c3的红色覆盖了c2中的蓝色。这U覆盖模式不仅仅值得我们~码上的注意Q而且也能够ؓ样式讄提供更丰富的~写方式Q我们可以实际基于默认样式的改变Q前者定义默认样式,后者通过属性参数的覆盖q行改变?br /><br />div vs span<br /><br />        对于XHTML中的每一个对象而言Q都拥有自己默认的显C模式,div对象的默认显C模式是display:blocQ因L默认模式Q从而用div成ؓ一个块状容器,光认状态就占据一整行的空间。而span对象的默认显C模式ؓdisplay:inlineQ因为span作Z个行间内联对象显C时以行内连接的方式q行昄?br />        正是׃两个对象不同的显C模式,因此在实际用过E决定了两个对象的不同用途。div对象的Q务是呈现一个块状内容,如一大段文本Q一个导航区域,一个页脚区域等昄为块状的内容q行l构~码q进行样式设计;而作为内联对象的spanQ用途是对行内元素进行结构编码以方便样式设计Qspan默认状态下׃会破坏行中元素的昄序Q例如在一大段文本中,我们需要改变其中一D|本的颜色Q可以将q一部分文本用span对象Qƈq行样式设计。span对象是专门用于设计样式的一U内联对象?img src ="http://www.tkk7.com/zqli/aggbug/76196.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-10-19 16:02 <a href="http://www.tkk7.com/zqli/archive/2006/10/19/76196.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>.NET Framework 学习W记http://www.tkk7.com/zqli/archive/2006/07/10/57477.html放水老?/dc:creator>放水老?/author>Mon, 10 Jul 2006 05:59:00 GMThttp://www.tkk7.com/zqli/archive/2006/07/10/57477.htmlhttp://www.tkk7.com/zqli/comments/57477.htmlhttp://www.tkk7.com/zqli/archive/2006/07/10/57477.html#Feedback2http://www.tkk7.com/zqli/comments/commentRss/57477.htmlhttp://www.tkk7.com/zqli/services/trackbacks/57477.htmlcd的类?/h1>

通用cdpȝ支持两种一般类别的cdQ每一c都l分成子cdQ?

  • 值类?

    值类型直接包含它们的数据Q值类型的实例要么在堆栈上Q要么内联在l构中。值类型可以是内联的(p行库实现Q、用户定义的或枚丄。有兛_联值类型的列表Q请参见 .NET Framework cd?

  • 引用cd

    引用cd存储对值的内存地址的引用,位于堆上。引用类型可以是自描q类型、指针类型或接口cd。引用类型的cd可以p描述cd的值来定。自描述cdq一步细分成数组和类cd。类cd是用户定义的cR装q值类型和委托?

作ؓ值类型的变量Q每个都有自q数据副本Q因此对一个变量的操作不会影响其他变量。作为引用类型的变量可以引用同一对象Q因此对一个变量的操作会媄响另一个变量所引用的同一对象?/font>



]]>
[转]SQL Server一些常见性能问题的ȝhttp://www.tkk7.com/zqli/archive/2006/07/02/56145.html放水老?/dc:creator>放水老?/author>Sun, 02 Jul 2006 04:04:00 GMThttp://www.tkk7.com/zqli/archive/2006/07/02/56145.htmlhttp://www.tkk7.com/zqli/comments/56145.htmlhttp://www.tkk7.com/zqli/archive/2006/07/02/56145.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/56145.htmlhttp://www.tkk7.com/zqli/services/trackbacks/56145.html1.Ҏ询进行优化,应尽量避免全表扫描,首先应考虑?where ?order by 涉及的列上徏立烦引?

2.应尽量避免在 where 子句中对字段q行 null 值判断,否则导致引擎放弃用烦引而进行全表扫描,如:
select id from t where num is null
可以在num上设|默认?Q确保表中num列没有null|然后q样查询Q?br />select id from t where num=0

3.应尽量避免在 where 子句中?=?lt;>操作W,否则引擎放弃用烦引而进行全表扫描?

4.应尽量避免在 where 子句中?or 来连接条Ӟ否则导致引擎放弃用烦引而进行全表扫描,如:
select id from t where num=10 or num=20
可以q样查询Q?br />select id from t where num=10
union all
select id from t where num=20

5.in ?not in 也要慎用Q否则会D全表扫描Q如Q?br />select id from t where num in(1,2,3)
对于q箋的数|能用 between ׃要用 in 了:
select id from t where num between 1 and 3

6.下面的查询也导致全表扫描:
select id from t where name like '%abc%'
若要提高效率Q可以考虑全文索?

7.如果?where 子句中用参敎ͼ也会D全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将讉K计划的选择推迟到运行时Q它必须在编译时q行选择。然而,如果在编译时建立讉K计划Q变量的D是未知的Q因而无法作为烦引选择的输入项。如下面语句进行全表扫描:
select id from t where num=@num
可以改ؓ强制查询使用索引Q?br />select id from t with(index(索引?) where num=@num

8.应尽量避免在 where 子句中对字段q行表达式操作,q将D引擎攑ּ使用索引而进行全表扫描。如Q?br />select id from t where num/2=100
应改?
select id from t where num=100*2

9.应尽量避免在where子句中对字段q行函数操作Q这导致引擎放弃用烦引而进行全表扫描。如Q?br />select id from t where substring(name,1,3)='abc'--name以abc开头的id
select id from t where datediff(day,createdate,'2005-11-30')=0--?005-11-30’生成的id
应改?
select id from t where name like 'abc%'
select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'

10.不要?where 子句中的?”左边进行函数、算术运或其他表达式运,否则pȝ可能无法正用烦引?

11.在用烦引字D作为条件时Q如果该索引是复合烦引,那么必须使用到该索引中的W一个字D作为条件时才能保证pȝ使用该烦引,否则该烦引将不会被用,q且应尽可能的让字段序与烦引顺序相一致?

12.不要写一些没有意义的查询Q如需要生成一个空表结构:
select col1,col2 into #t from t where 1=0
q类代码不会q回Ml果集,但是会消耗系l资源的Q应Ҏq样Q?br />create table #t(...)

13.很多时候用 exists 代替 in 是一个好的选择Q?br />select num from a where num in(select num from b)
用下面的语句替换Q?br />select num from a where exists(select 1 from b where num=a.num)

14.q不是所有烦引对查询都有效,SQL是根据表中数据来q行查询优化的,当烦引列有大量数据重复时QSQL查询可能不会d用烦引,如一表中有字DsexQmale、female几乎各一半,那么即在sex上徏了烦引也Ҏ询效率v不了作用?

15.索引q不是越多越好,索引固然可以提高相应?select 的效率,但同时也降低?insert ?update 的效率,因ؓ insert ?update 时有可能会重建烦引,所以怎样建烦引需要慎重考虑Q视具体情况而定。一个表的烦引数最好不要超q?个,若太多则应考虑一些不怋用到的列上徏的烦引是否有必要?

16.应尽可能的避免更?clustered 索引数据列,因ؓ clustered 索引数据列的序是表记录的物理存储序Q一旦该列值改变将D整个表记录的序的调_会耗费相当大的资源。若应用pȝ需要频J更?clustered 索引数据列,那么需要考虑是否应将该烦引徏?clustered 索引?

17.量使用数字型字D,若只含数g息的字段量不要设计为字W型Q这会降低查询和q接的性能Qƈ会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字W,而对于数字型而言只需要比较一ơ就够了?

18.可能的使用 varchar/nvarchar 代替 char/nchar Q因为首先变长字D存储空间小Q可以节省存储空_其次对于查询来说Q在一个相对较的字段内搜索效率显然要高些?

19.M地方都不要?select * from t Q用具体的字D列表代曎?”,不要q回用不到的M字段?

20.量使用表变量来代替临时表。如果表变量包含大量数据Q请注意索引非常有限Q只有主键烦引)?

21.避免频繁创徏和删除时表Q以减少pȝ表资源的消耗?

22.临时表ƈ不是不可使用Q适当C用它们可以某些例程更有效,例如Q当需要重复引用大型表或常用表中的某个数据集时。但是,对于一ơ性事Ӟ最好用导?

23.在新Z时表Ӟ如果一ơ性插入数据量很大Q那么可以?select into 代替 create tableQ避免造成大量 log Q以提高速度Q如果数据量不大Qؓ了缓和系l表的资源,应先create tableQ然后insert?

24.如果使用C临时表,在存储过E的最后务必将所有的临时表显式删除,?truncate table Q然?drop table Q这样可以避免系l表的较长时间锁定?

25.量避免使用游标Q因为游标的效率较差Q如果游标操作的数据过1万行Q那么就应该考虑改写?

26.使用Z游标的方法或临时表方法之前,应先LZ集的解决Ҏ来解决问题,Z集的Ҏ通常更有效?

27.与时表一P游标q不是不可用。对型数据集?FAST_FORWARD 游标通常要优于其他逐行处理ҎQ尤其是在必d用几个表才能获得所需的数据时。在l果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时间允许,Z游标的方法和Z集的Ҏ都可以尝试一下,看哪一U方法的效果更好?

28.在所有的存储q程和触发器的开始处讄 SET NOCOUNT ON Q在l束时设|?SET NOCOUNT OFF 。无需在执行存储过E和触发器的每个语句后向客户端发?DONE_IN_PROC 消息?

29.量避免大事务操作,提高pȝq发能力?

30.量避免向客Lq回大数据量Q若数据量过大,应该考虑相应需求是否合理?

具体的SQL语句在很多情况下需要结合实际的应用情况来写Q这里不作叙q?/p>

]]>
一个实战团队项目工具集http://www.tkk7.com/zqli/archive/2006/06/07/51146.html放水老?/dc:creator>放水老?/author>Wed, 07 Jun 2006 07:50:00 GMThttp://www.tkk7.com/zqli/archive/2006/06/07/51146.htmlhttp://www.tkk7.com/zqli/comments/51146.htmlhttp://www.tkk7.com/zqli/archive/2006/06/07/51146.html#Feedback2http://www.tkk7.com/zqli/comments/commentRss/51146.htmlhttp://www.tkk7.com/zqli/services/trackbacks/51146.html1、版本管理工P
      Subversion:
          ·客户端:v龟(tortoisecvsQ;
          ·差异比较工具QWinMergeQ?br />          ·Web代码览工具QFisheyeQ?br />          ·帐号理工具QCVSTracQ?br />2、项目管理工P
       Jira
3、设计与建模工具Q?br />      JudeQ除了不能逆向数据库结构外Q已l几乎符合了全部的要求?br />     程图:SmartDraw?br />4、开发环境:
     IntelliJ IDEA
  略…?img src ="http://www.tkk7.com/zqli/aggbug/51146.html" width = "1" height = "1" />

]]>
JunitMW记http://www.tkk7.com/zqli/archive/2006/05/29/48696.html放水老?/dc:creator>放水老?/author>Mon, 29 May 2006 03:00:00 GMThttp://www.tkk7.com/zqli/archive/2006/05/29/48696.htmlhttp://www.tkk7.com/zqli/comments/48696.htmlhttp://www.tkk7.com/zqli/archive/2006/05/29/48696.html#Feedback0http://www.tkk7.com/zqli/comments/commentRss/48696.htmlhttp://www.tkk7.com/zqli/services/trackbacks/48696.html·Right——结果是?font color="#ff0000">正确
Q?br />·B——是否所有的边界条g都是正确的?
·I——能查一?font color="#ff0000">反向
兌吗?
·C——能用其他手D?font color="#ff0000">交叉?/font>一下结果吗Q?br />·E——你是否可以强制错误条g发生Q?br />·P——是否满?font color="#ff0000">性能要求Q?br />

PSQ模拟高负蝲情况的工P免费的JUnitPerf?img src ="http://www.tkk7.com/zqli/aggbug/48696.html" width = "1" height = "1" />

]]>GRE隑֏http://www.tkk7.com/zqli/archive/2006/04/21/42400.html放水老?/dc:creator>放水老?/author>Fri, 21 Apr 2006 11:04:00 GMThttp://www.tkk7.com/zqli/archive/2006/04/21/42400.htmlhttp://www.tkk7.com/zqli/comments/42400.htmlhttp://www.tkk7.com/zqli/archive/2006/04/21/42400.html#Feedback3http://www.tkk7.com/zqli/comments/commentRss/42400.htmlhttp://www.tkk7.com/zqli/services/trackbacks/42400.html

]]>
l承选择W?/title><link>http://www.tkk7.com/zqli/archive/2006/04/21/42282.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Fri, 21 Apr 2006 02:39:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/04/21/42282.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/42282.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/04/21/42282.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/42282.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/42282.html</trackback:ping><description><![CDATA[l承选择W也UC上下文选择W。它在承父元素样式的基上,应用自己Ҏ的样式,q且q个选择W只有在父元素所在的环境中才发挥作用Q在其他环境中则无效?img src ="http://www.tkk7.com/zqli/aggbug/42282.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-04-21 10:39 <a href="http://www.tkk7.com/zqli/archive/2006/04/21/42282.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>《IT企业目理Q问题、方法和工具》读书笔?/title><link>http://www.tkk7.com/zqli/archive/2006/03/21/36566.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Tue, 21 Mar 2006 02:11:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/03/21/36566.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/36566.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/03/21/36566.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/36566.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/36566.html</trackback:ping><description><![CDATA[在IT企业中,研发目所涉及的主要过E域有:<br />·目理q程域:立项理、结管理、项目规划、项目监控、配|管理、变更管理等?br />·目研发q程域:需求开发与理、Yg设计、Yg实现、Yg试、发布与验收{?br />·机构支持q程域:质量保证、客h务等?img src ="http://www.tkk7.com/zqli/aggbug/36566.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-03-21 10:11 <a href="http://www.tkk7.com/zqli/archive/2006/03/21/36566.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>重构XPl对~程QPPQ?/title><link>http://www.tkk7.com/zqli/archive/2006/03/16/35674.html</link><dc:creator>放水老?/dc:creator><author>放水老?/author><pubDate>Thu, 16 Mar 2006 08:30:00 GMT</pubDate><guid>http://www.tkk7.com/zqli/archive/2006/03/16/35674.html</guid><wfw:comment>http://www.tkk7.com/zqli/comments/35674.html</wfw:comment><comments>http://www.tkk7.com/zqli/archive/2006/03/16/35674.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/zqli/comments/commentRss/35674.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/zqli/services/trackbacks/35674.html</trackback:ping><description><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不强求实行结对,而是鼓励E序员ؓ完成复杂的Q务结对,那么l对~程的有利方面如改进的代码设计、通过改善交流的知识分享、体会团队精等Q在不带来负面媄响的条g下(高维护费的实c因l对变动而随时出现的不和谐的l对、对单Q务的“滥用”等Q是可能实现的?/SPAN></P> <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">p更多的时间在前期的设计上Qƈ通过团队q程来完成。在某种E度上,</SPAN><SPAN lang=EN-US>XP</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">采用协作设计会议的方?/SPAN><SPAN lang=EN-US>-</SPAN><SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在团队开始编写品代码时Q大多数关键的设计决{已l完成?BR>书面文档也能减少对结对编E和团队同在一地的需求?/SPAN></P><img src ="http://www.tkk7.com/zqli/aggbug/35674.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/zqli/" target="_blank">放水老?/a> 2006-03-16 16:30 <a href="http://www.tkk7.com/zqli/archive/2006/03/16/35674.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.tkk7.com/" title="亚洲av成人片在线观看">亚洲av成人片在线观看</a> <div class="friend-links"> </div> </div> </footer> վ֩ģ壺 <a href="http://sds54.com" target="_blank">޸һ</a>| <a href="http://yongfu-sh.com" target="_blank">AV˾þԭ</a>| <a href="http://bqjonline.com" target="_blank">69Ƶѹۿl</a>| <a href="http://6000cpkj.com" target="_blank">ҳƵվ </a>| <a href="http://yeshenghuowang.com" target="_blank">޾Ʒ͵Ƶѹۿ</a>| <a href="http://3baimm.com" target="_blank">Ƶվ</a>| <a href="http://528676.com" target="_blank">޾ƷѿӰԺ</a>| <a href="http://ac839.com" target="_blank">¾þþƷ</a>| <a href="http://bomilon.com" target="_blank">һaȫƵ</a>| <a href="http://www62hth.com" target="_blank">ŮܳƵ</a>| <a href="http://goldwellib.com" target="_blank">һƵۿ</a>| <a href="http://jmdehong.com" target="_blank">߲ŹƵ</a>| <a href="http://kmc19.com" target="_blank">ƷһƵ</a>| <a href="http://svvnn.com" target="_blank">þùƷƵ</a>| <a href="http://aa2176.com" target="_blank">޵Ӱѹۿ</a>| <a href="http://watchmini.com" target="_blank">߹ۿav</a>| <a href="http://3c3w.com" target="_blank">Ƶѹۿ</a>| <a href="http://88109a.com" target="_blank">ˬֻڵƵ</a>| <a href="http://kdltuliao.com" target="_blank">߹ۿ</a>| <a href="http://ynkmht.com" target="_blank">ۺС˵ɫ</a>| <a href="http://jomujy.com" target="_blank">޹Ʒþþþ </a>| <a href="http://222941.com" target="_blank">һѹۿ</a>| <a href="http://wwwav888.com" target="_blank">һ߲߲</a>| <a href="http://81am.com" target="_blank">Ʒ޾ƷպӰ</a>| <a href="http://yy6636.com" target="_blank"></a>| <a href="http://papapa97.com" target="_blank">99re6߾ƷƵѲ </a>| <a href="http://yjszhukao.com" target="_blank">Ѳһ</a>| <a href="http://987566.com" target="_blank">պƷѹۿ</a>| <a href="http://3bmmatv.com" target="_blank">Ƶ69</a>| <a href="http://llyysp.com" target="_blank">ůůձƵ</a>| <a href="http://lfhuanxin.com" target="_blank">Ƶ</a>| <a href="http://kelingdq.com" target="_blank">պAVһ </a>| <a href="http://3589006.com" target="_blank">þþž޾Ʒ</a>| <a href="http://99880524.com" target="_blank">޳˸߹ۿ</a>| <a href="http://dodxs.com" target="_blank">av뾫Ʒ</a>| <a href="http://spvec.com" target="_blank">GOGOGOѹۿ</a>| <a href="http://zz198.com" target="_blank">þþƷѹۿͬ</a>| <a href="http://www-777768.com" target="_blank">Ļ߹ۿ</a>| <a href="http://fenglufzjx.com" target="_blank">ŷ͵ҹɫ</a>| <a href="http://wwwbu610.com" target="_blank">ۺϾþó69</a>| <a href="http://172pk.com" target="_blank">Ƶվ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>