<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0">
<channel>
	<title>亿源网络</title>
	<description>亿源|亿源网络|网络技术|电脑|教程|计算机教程|平面设计|电脑入门|操作系统|防毒杀毒|电脑安全|工具软件|聊天软件|办公软件|网络软件|网页制作|平面设计|多媒体|程序开发|软件教程|电脑黑客|黑客攻防|软件下载|编程开发|计算机等级考试|计算机考试认证|网络工程师|交换机路由器|视频教程|windows|office|dreamweaver|photoshop|3dsmax|flash</description>
	<link>http://www.yiyuan129.com/</link>
	<language>zh-cn</language>
	<generator>NBArticle</generator>
	<managingEditor>luyiyuan129@163.com</managingEditor>
	<item>
	<title>模仿超级女生的宣传字体</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-29/article_view_314.htm</link>
	<description><![CDATA[<P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 先看一下效果图：怎么样？是不是很像？</P>
<P align=center><IMG src="/UserFiles/2007-3/29/200732992949974.gif" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/29/200732992353354.gif" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/29/200732992416938.gif" border=0></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-29/article_view_314.htm">点击查看详细</a>] ]]></description>
	<pubDate>Thu, 29 Mar 2007 01:22:28 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=314</comments>
	</item>

	<item>
	<title>据说是世界编程大赛头名程序</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_313.htm</link>
	<description><![CDATA[<P><CODE>e100 33 f6 bf 0 20 b5 10 f3 a5 8c c8 5 0 2 50 68 13 1 cb e 1f be a1 1 bf 0 1<BR>e11b 6 57 b8 11 1 bb 21 13 89 7 4b 4b 48 79 f9 ad 86 e0 8b c8 bd ff ff e8 20<BR>e134 0 3d 0 1 74 1a 7f 3 aa eb f3 2d ff 0 50 e8 f 0 5a f7 d8 8b d8 26 8a 1 aa<BR>e14f 4a 75 f9 eb de cb 57 bb 21 13 8b c1 40 f7 27 f7 f5 8b fb ba 11 1 4f 4f 4a<BR>e168 39 5 7f f9 52 8b c5 f7 25 f7 37 2b c8 95 f7 65 2 f7 37 95 2b e8 fe e fe<BR>e181 10 79 6 c6 6 fe 10 7 46 d0 14 d1 d1 d1 e5 79 ec 5a b8 11 1 ff 7 4b 4b 48<BR>e19b 3b d0 75 f7 5f c3 83 f7 83 a6 5d 59 82 cd b2 8 42 46 9 57 a9 c5 ca aa 1b<BR>e1b4 4f 52 b4 92 3f ab 6e 9e a8 1d c6 3 fc e 6a e7 ae bb 5f 7b 10 b8 b4 f7 8<BR>e1cd e2 bf 36 4e 39 9d 79 29 3f a f9 36 52 16 fb 5 e8 e5 a6 c2 e9 b0 43 d3 a3<BR>e1e6 cf d3 fd fd cb d1 4c 5e e0 63 58 86 bb 3e 9 c1 20 bc cc 91 a3 47 81 70 b3<BR>e1ff d6 1a 9e c2 c9 12 e7 4e ad f4 5f e3 30 e9 9 39 d7 e8 f9 f4 d2 44 e8 d7 22<BR>e218 be e2 ce 88 25 cf 30 4a a8 29 ae 3f 47 c6 2d 85 e9 73 54 13 b e6 e0 34 65<BR>e231 e2 50 8a 89 18 5f ce 70 99 3 5f 42 bf eb 7 ae d0 ca 5 22 8d 22 a5 b7 f0<BR>e24a 90 81 bc 7a bc dc 5 db c0 6a 2 e5 57 38 be 60 cb ac ba a5 3b 9d f1 77 38<BR>e263 a6 84 d1 3c af 49 d8 6a 45 a2 76 60 21 12 c0 c2 44 f2 5e bb e5 37 a9 2b<BR>e27b ec 4a 8c 4c f2 f7 a9 58 71 2b ba 6d d6 6a e5 60 46 e0 da e5 b9 90 e5 a3<BR>e293 f7 7f 31 60 58 f0 c4 88 10 4e 3c a3 ee 4e 11 55 8f a 92 eb db ad 7a 9c f<BR>e2ac db 5a 28 96 da 87 ae 91 91 2d e3 5e ea df 6 95 71 67 71 40 ce d1 2e 31 6d<BR>e2c5 c1 9c d8 6a 76 9b 4a e8 36 44 d6 76 d 30 5 ff d4 1b ac 1f 32 65 31 bf 55<BR>e2de 26 b a4 55 e1 5d 5e 16 ed 97 48 6c 77 fb 81 86 e f9 18 bd d4 f4 8b de 1d<BR>e2f7 ba d 47 75 3 89 4b 3e dc 27 86 1c d0 17 89 48 d1 a6 8d d4 2b 54 4e 8f b0<BR>e310 2 e1 6b 1a 75 78 ea 21 91 13 c0 cf 78 a0 ab f3 35 c6 b4 c8 90 8d d7 45 e7<BR>e329 c 5b a4 ba 52 10 64 f5 4a 50 b7 ec 46 22 15 23 84 30 81 5c df 61 5a 8f 67<BR>e342 c4 63 57 6d f7 26 92 a3 1f e5 3 a5 0 54 41 8 48 7c 26 90 33 82 9c 91 b0<BR>e35b ab 78 5d df 99 e0 b9 fc 5 36 ac d9 49 91 ab 20 a2 63 48 89 ce 5c 60 64 f0<BR>e374 63 d9 a8 38 3b d3 e6 4c 8c 23 34 4e 20 51 93 5e 6d b4 7a 22 9b 4c f2 d3<BR>e38c c4 f8 3 6f 47 40 f4 f8 45 9b 83 f3 83 6 31 d0 0 17 82 83 dc 67 f9 62 77<BR>e3a5 90 3b d9 ec f3 55 96 b8 d9 db 79 55 f1 e5 8c 5e f2 e5 2e b0 b 6e e2 81 25<BR>e3be 93 8e b5 dd 5b 46 f9 af ed 6 12 cf c9 1d f0 f7 3b 16 2d c6 58 73 8d e9 5f<BR>e3d7 fd 5a b6 a1 94 4d 1a 8 ff eb b7 6 80 c7 86 83 b6 b9 fd 1c e0 c c3 2e a0<BR>e3f0 2f b 3e 3 6b 29 e1 27 85 1c ea 6d df b3 a3 ed 65 4a 9a 59 3b 54 e 4b ae<BR>e409 9e 27 f0 4d 3b c 4c 46 b7 e5 57 1b 1f 1f bb 80 86 f5 b7 ef 73 52 bf 2c c7<BR>e422 ed a b7 81 2 f3 90 3e ee cc 6c eb f 38 1 6c 68 b1 d 45 78 b2 f f6 83 b0<BR>e43c c4 33 df b1 d1 91 98 1e 81 a5 e2 59 9f f4 8c b6 72 8 a7 8c f6 e a3 b2 1f<BR>e455 d9 d3 23 f0 7c 5e 5f 68 61 8b 45 da 1d 91 ec 8d 4e ea 1a 38 85 94 aa ac<BR>e46d f2 4 f6 c4 e5 92 8e 9a 4e 83 e1 73 e8 cf 2a 5c 2b 7e f1 30 2 8a e6 28 1a<BR>e486 3b ce bc 96 aa 7f eb 87 cd 8b 96 2d 9 59 7a a0 1a 43 62 9a 9e 4f ff 8e d9<BR>e49f ce d6 a4 70 79 cd 65 fa 2e 92 14 29 f7 6c 74 4b 49 60 80 bb ff 41 bb 2d<BR>e4b7 60 33 3f 98 77 9a 1 ee a6 a3 da bc ba e9 f3 72 f4 7c c3 59 2 a6 44 a4 c8<BR>e4d0 c8 54 93 ce bd 69 bb b9 43 21 2c c4 ea 4a 5c 3f 75 60 f2 b4 91 ca 9 82 e3<BR>e4e9 a e9 a6 20 b9 76 50 ed 47 e9 fe 6d 41 34 13 2f 28 2f 4e f4 da e 3c 78 6c<BR>e502 b1 79 87 45 98 a4 d4 c3 b3 29 c2 4a 8b ed a6 54 e2 1b 31 62 60 ff 2c 1d<BR>e51a 21 0 15 b2 4e 5c c 2 d 83 fa a2 f3 8a 5 12 72 4a c7 44 7c 91 d4 be b a f2<BR>e535 70 52 fb b4 a2 df 89 de ff c4 96 73 c9 c ed d3 c9 8e 5c dc 8e d1 3b de 8c<BR>e54e 53 a2 8b f9 e9 91 dd d6 df 6e 74 d1 dd 34 60 8f 9e 32 7f 3b ec 79 a3 83<BR>e566 45 78 b4 2f 1c 50 7b 7a 97 b0 9d 2d c dd 8a 26 cd 7d 8c 4c 5a 8a 4c f9 a4<BR>e57f 11 f9 2c 6c 92 e9 b5 cb 56 89 8c be f6 64 fa 25 43 fa 6f e2 c8 3a 18 a8<BR>e597 f0 e9 f4 c2 86 e6 2b 44 67 4a b9 34 9 ed 5f 33 42 62 d4 8a 1e 5b 31 67 cd<BR>e5b0 3d 71 6d 83 fd 36 20 69 ea 1 c3 e6 e6 de 99 aa 7 11 5b 59 8a 1f 43 83 52<BR>e5c9 ea 5d 8c 6a 69 c7 3 eb 4e 3b 88 a5 5f b1 6e 27 5f 3 5c 28 c 9b 6c c3 f8<BR>e5e2 e5 b9 d6 11 d6 8b fa 5c 8 c7 1 eb 45 db f3 6c 9f 16 46 61 51 ed df f bb<BR>e5fb c0 c4 1e 64 68 98 4 79 30 94 72 df d4 cd 1f 7f 72 c6 82 2e 79 47 4e 8c 4b<BR>e614 a2 c7 e2 36 df 76 fd a4 b6 4e db 96 40 3b 8b b5 d4 85 64 c6 0 2c ad 9d 27<BR>e62d 14 99 82 4b bc 9 fa 94 b5 db 7c 98 eb b 13 a7 b0 79 1d 7e c5 45 aa 20 49<BR>e646 be ff 9d 64 0 5d c ec 6 5 ad f2 38 6b ed 7a d6 b2 c7 2e 6a a6 12 4b ff 55<BR>e660 20 3b a 77 f b9 0 9d 57 4a ad ce a4 d3 ff 1 4f fb 53 54 88 f 1 ed 4b 56<BR>e67a 15 c8 dc 28 bf f2 72 d4 10 1f 99 42 69 9e 78 e2 47 82 93 31 d0 2d be 9f<BR>e692 93 93 9a 1b 80 c0 10 c 53 78 a0 26 2a 96 4f 74 4b 16 c7 9c 8d ad ac fb 16<BR>e6ab 15 c6 fd c9 a4 14 48 62 47 20 c9 41 ed 61 f8 9b f8 ff ba 39 50 65 87 ee<BR>e6c3 bd ce 95 c0 fb a5 7e d8 cd 27 fd 2c 74 3 c1 1b 89 b9 51 d5 e3 da ef 9e 6<BR>e6dc f0 aa a9 a7 fb 87 4c 5d cd ff 65 36 8c 73 6f 9 c6 78 9a b6 77 db df 81 68<BR>e6f5 3b b8 ae 5d e1 af d4 e6 66 8c d6 a4 83 9f 37 3c 1 dc a2 a6 57 c2 20 1b 90<BR>e70e 75 df cd a5 62 a5 36 79 fb 35 8a 9b b0 a0 a5 c3 37 6f 80 72 bc 52 30 8d<BR>e726 9f 7a 64 d3 7 41 45 d8 68 97 f2 aa 1c a1 6c 7c 9d 32 7d ad 15 b1 53 e3 33<BR>e73f 8a ed e9 49 d4 cf dc 96 22 37 36 11 9d 7f f0 4d e0 62 31 b1 c7 69 c4 79<BR>e757 ac 20 1 e8 3c 6a 8c 32 cb 52 63 36 68 f4 10 2b 9c 21 4f df 5d 60 92 39 91<BR>e770 e2 f9 c9 7d ca 48 3 3f 21 dd 6c f 23 2e 61 3a 9f ba c3 f9 4e 7 ea ed ef<BR>e789 71 4a 72 3a ed 23 3d 77 b5 ed d5 1d f6 a4 99 fa ef 98 dd 2 98 80 b6 7c a3<BR>e7a2 62 96 7b 8e bf 7b 81 9f 9a ce 3f 12 40 2e 25 db 84 16 dd 2e 86 f f4 b2 7e<BR>e7bb 5e b4 14 6a f3 29 b1 a4 57 d5 a8 17 6f 87 a4 74 5b 9b 17 79 f1 ec 33 c8<BR>e7d3 f0 1d b2 7e a8 4d 95 7f 5f 9 d5 1a 5a 45 f4 41 c6 d 3f eb 66 2a c0 e8 5b<BR>e7ec 3c bd 50 ad f1 53 9d 2e 45 9a d8 7d 2c 17 a8 6e 15 48 13 39 53 ed 3d 78<BR>e804 ad f 3a 65 a3 3e 2e fa ca 7 94 4a 1f b4 d8 7e 47 8a 8e de e7 7e 34 c1 69<BR>e81d 7f 6a aa 66 58 18 31 24 72 13 22 34 8a 56 36 87 df c2 d 8e 3f 71 a2 5f 25<BR>e836 8b 8d 4 78 fd c9 45 d1 55 79 c1 9f 13 84 1b c8 5 db 95 d0 7c 64 96 20 51<BR>e84f c4 e0 5e ee 47 8a 11 ac fb 9 e0 bb 40 db 86 84 12 93 b9 c9 f2 9c 63 47 c9<BR>e868 eb ad 1 3e fa 6d 3f a 64 5b 58 56 27 f ca 5d e0 30 bc 3e 10 5d ec 17 28<BR>e881 85 5 51 8e 95 a3 94 3a a8 f1 96 f2 f 29 5c 97 dc 47 db 9d 6c 63 e8 e7 f0<BR>e89a e4 a 70 f8 f1 47 54 d3 2d 32 7c ef bb 9a b4 1b 0 2b d6 dd e7 30 b a2 75<BR>e8b3 c7 f5 d0 31 d7 d2 8a b0 ac 1c 6d 60 3a f7 c2 db 1e 6d 7 f6 8f 35 88 e5 7f<BR>e8cc 3c 26 81 34 a0 32 a3 25 18 6e 73 b2 a0 f1 cb 86 61 e7 65 8b 76 98 19 6f<BR>e8e4 c0 62 9b a3 cc 18 5e 40 12 97 2b d0 15 79 de 19 ea df 7a 59 2f b5 d7 39<BR>e8fc 52 e2 6 f1 3 a0 a5 d9 1b 88 93 4d 30 c8 2d f5 db 55 ea 85 6f a 3f dc bd<BR>e915 57 15 6a a3 a3 3e 8e ad 2d da a0 ca 75 7c 57 8b c5 cb b 1d 2c 8e c6 96 2e<BR>e92e 6d 59 83 7d 64 72 ca 80 2e 6 a4 ff f6 f2 d5 1e 7 4 ba 34 6e 9 86 25 aa 4e<BR>e948 e0 7f f5 32 47 3e 7c 43 d8 28 c4 1c 11 1d bd 33 3 b5 ca 13 43 34 2 b1 a0<BR>e961 57 ed 9d 3c 23 d4 45 b2 6e 81 6e af 3e 67 90 be 59 a5 45 34 53 46 85 d1<BR>e979 25 ee 7d cb a4 db 12 c3 aa 17 61 9a fb 66 40 76 fe 3a 69 96 c0 91 14 a7<BR>e991 5d cc 9f f6 73 59 ee b8 55 97 20 26 ff 99 ec 72 41 b5 27 21 6e ae 8a d0<BR>e9a9 e4 d3 da 6f c4 53 c5 f8 b3 a7 a1 5d 66 93 d8 b1 89 40 23 92 c0 90 fb cb<BR>e9c1 e7 6b 4e 51 0 5d 57 f7 cd 1 e2 88 bf 44 9f ef c4 33 ce fa 46 46 a1 86 b<BR>e9da 7a 84 66 66 b9 2 ec 10 c6 a1 d4 c1 18 33 b1 d1 2 18 ad 2f 53 e4 b9 33 59<BR>e9f3 be 3c af 80 4c 8a d5 76 c 3b a7 e2 97 94 15 75 4d 17 d5 97 cf f9 4a d0 6e<BR>ea0c bb 27 20 fc f1 f5 9 a8 df 4d b6 5d f0 1d 69 3b 76 35 82 a4 f3 56 64 39 5b<BR>ea25 6b b3 7 e7 5 8e 82 11 22 a8 1a db c8 3e 67 4a 3 7e 72 51 d6 3d 1a 1c f6<BR>ea3e b8 da 4b 18 8a 15 9d d0 a4 84 96 3e cd 3 f9 3a 30 f3 fb 8f 6e 2 73 eb 52<BR>ea57 93 95 cf dc 6f 48 fb ab d2 a9 70 b4 e2 23 8d 72 86 a8 fa 78 98 1d c5 fe<BR>ea6f 8a 51 88 2b b7 58 b0 ca ae 40 8a 33 32 75 1 6 c0 d4 b7 da 2a a7 bb ad f7<BR>ea88 48 98 5a bc d3 d1 e6 16 97 c3 80 ab 73 ac 32 11 41 1f d 5d aa 0 dc d9 6e<BR>eaa1 fc 30 6 ef 11 60 27 a2 5f eb 5f b9 35 8 23 4 be 10 c0 85 3e 55 b3 82 fd<BR>eaba f7 c3 24 9f 2d 83 94 32 36 de ff 7c 87 7f 4a 80 7 2 23 cf a4 52 eb 3e 19<BR>ead3 a0 b4 a 94 1a 40 58 d9 16 6d c0 64 c4 69 ed 60 46 65 cb df 58 38 0 51 c3<BR>eaec ad a0 37 e4 cf ab f7 6c 24 7d 9 48 65 4a 9f 91 ad 1c 79 a4 a1 78 55 c e8<BR>eb05 44 5b d ef 51 bd ea 2d a7 42 57 ab 3a 4f 2 b 3 19 6a 4d 72 76 5c 97 0 6c<BR>eb1f c5 5d bc dd e7 81 cf 8d 34 38 50 3c 98 58 cc 41 aa 99 90 af fe 4e 96 77<BR>eb37 ed 54 18 ce 2c d1 5d 34 cb 79 50 ff 28 96 44 e0 51 64 6 a8 b7 6e 8c 62 c4<BR>eb50 66 95 81 4f 8c f6 26 ba ea 5d d2 79 b1 e4 e9 29 fc a fd b3 85 8c e6 52 dd<BR>eb69 33 bd 5d c7 39 ef 6 ef 9e a6 6a 61 9c 9f d5 54 b4 fa a1 d4 10 9b ff 7e 33<BR>eb82 11 52 99 c7 26 6e a1 36 8a ad ee 48 7a 2c 7f d5 b7 27 8a 6b 37 c 71 39 85<BR>eb9b 9c ba a8 a 17 b9 d0 51 56 95 c2 3b 5 a7 31 c5 8b 5c 95 6e 4c 89 6f 17 ef<BR>ebb4 d4 5a a 77 65 e1 49 b2 e8 72 ac 3c f0 6b 71 fa 3 c7 ca fc ad f9 55 22 ec<BR>ebcd 58 2f 1c fa 29 cf 73 b4 ad 51 5c f8 66 70 59 5d 70 3e d1 3f c4 eb ec f1<BR>ebe5 7 78 6a 93 67 9f 44 fc cb 5b 95 ff 74 c0 b7 42 77 26 c9 aa 8c ed 39 a2 db<BR>ebfe 9c b3 eb 3d 4a 1e 9b 89 e4 d8 a8 27 74 ef a3 ed a5 24 5d bb ab d0 fe a1<BR>ec16 29 ab df 75 a a6 23 0 cc f1 14 72 9b 1a 55 7e e5 d1 da 98 dc c4 cf ab 34<BR>ec2f ba 8d de 4a 59 6 13 dd d8 44 3c e bb 56 95 ae 97 e2 3b 49 e5 9a 6b a2 53<BR>ec48 c1 33 35 24 1b 33 17 c3 8a 8c 12 3d 3d 4e 5b 75 22 30 67 4f a0 5d 3a 78<BR>ec60 88 a 11 35 7 b1 77 42 32 a8 c3 bb 20 fb 98 5 d6 ac e7 3a 63 35 90 93 9e<BR>ec79 44 24 2e 1b d7 8c aa 29 53 4d d9 ab eb e6 1 56 c4 fd 54 a3 bd 14 5b b0 8f<BR>ec92 ce be 23 24 93 c4 48 18 a3 e7 4 5 4b 78 cc 79 dd 3 56 a4 ed dd 5f 98 41<BR>ecab 1b 68 4c c1 bb 41 c2 1e 3e 94 8e ef 28 1e b 76 e 4f 36 b1 c 6e e2 18 17<BR>ecc4 20 fc 35 40 1f e4 6d a4 18 bb bc d5 9e ea 85 86 af af 63 d4 13 66 92 c4<BR>ecdc 2b 69 84 ca 23 2b d3 66 81 6b 81 73 26 4 85 36 21 4c 49 44 75 64 39 16 3c<BR>ecf5 ed e0 6d 44 75 45 30 43 68 c0 78 fc d0 17 b eb 81 3e c3 ba 1b f 4d ae c5<BR>ed0e 55 1f c 39 12 5d 8 65 f1 34 59 de dd 98 56 17 43 38 66 49 9a eb db c1 87<BR>ed27 51 38 cc b7 5f 98 fd 43 be 2d bb 74 f3 f8 f2 36 3d a4 34 a5 7e d2 26 cc<BR>ed3f 84 1f ea 56 f0 80 18 69 4d 88 41 fc 56 fd 41 3b 1e e 9 27 4f f6 3b 62 4e<BR>ed58 5a 1b 2a 4e 85 8c b2 4f 79 ef 59 4e e 73 3d bd c4 ca 60 e7 4a 47 90 b5 8<BR>ed71 2a f0 4e dc ba 66 ae 48 2b 31 73 a2 11 c 32 ff 54 14 77 6b d6 58 4b bf ee<BR>ed8a f6 6a bc dd 1 88 d da a9 f 81 24 c5 f8 72 9a db d5 c8 2a 80 a9 16 d7 c6<BR>eda3 b1 91 c0 a9 95 40 b5 b3 a8 2a 28 c6 92 16 ab 54 7d f8 93 5f 3a 17 c8 45<BR>edbb a9 f0 e0 71 23 76 53 38 a5 a1 cc d4 f1 f2 3c 2b 46 43 a1 d5 ba e d7 19 7a<BR>edd4 c2 e1 8f 67 1d d 98 9d a1 79 9d 1b 20 7f 4d e7 bf f9 ff fe aa 28 ab 8f c<BR>eded 4d 50 33 e3 26 fc 3c 3 3a 2b 26 12 f7 1 8f ee 97 4c e6 6 2b d9 1f a1 4a<BR>ee06 77 44 d4 8b b7 3e 5e 2d 18 c3 54 68 99 a8 8d 92 96 9e 9d ab 33 38 ff b8<BR>ee1e ee 78 c6 7b b5 84 95 d3 6 27 ae 5d 27 38 a 38 8e f0 1 a5 96 4b d7 9b 42<BR>ee37 e5 6f 57 75 4c e9 78 2d 5b ec b6 d2 29 e2 a8 92 95 9c 65 2a 3e bf 8d e0<BR>ee4f bf b3 ac c8 e 7e 13 af 88 26 7d 48 5a c7 39 29 36 d2 90 e8 3b 3 d0 61 1a<BR>ee68 d2 e8 a8 f ba 8e a1 9f df 12 ab 54 7 23 98 de 62 af 4c 7e d4 fb 6b 2 6e<BR>ee81 40 40 37 b7 73 f2 d8 81 be 29 d2 99 c0 73 25 1a 3c 92 75 6e bd d7 79 79<BR>ee99 4 14 c0 4e 99 57 66 93 74 ec b0 29 7c df 61 b0 3 3a d1 c3 fa a4 f7 f 9f<BR>eeb2 d3 f 0 b9 2a 5a 3a c5 88 25 b8 b9 cc 82 3 57 3a e1 7b 51 75 70 a6 74 1a<BR>eecb ca cb 3 18 68 ca 77 fe 1b ad cd 68 7f 36 85 fc b7 4f a0 11 da 69 fa 79 87<BR>eee4 d6 b9 21 dd 3e 70 db dc 84 d4 6e d1 20 4 af f6 32 a2 8e d 54 25 fe 7 54<BR>eefd e 7a 74 4b a0 4b f7 f4 e8 74 22 e9 98 70 fb 25 2e f4 64 57 75 28 85 45 53<BR>ef16 3a 2e e2 3c 54 36 e9 29 6 67 59 43 10 7e c1 49 cd 5e f9 97 a 58 5f 8a 11<BR>ef2f 4f 3d 9a e2 2b 22 58 fa be fc 69 91 7a 8c 3f 77 9f c9 3b 54 26 23 93 b3<BR>ef47 85 de ae f5 bd c5 47 4c c4 cd 5e ad bc 8f ba 31 f6 e4 70 fb 6e a7 96 d5<BR>ef5f ad 10 80 39 43 97 4f 10 cc 1b 8f 8d cd 4c 63 4 d8 1e 85 70 41 6c a8 eb df<BR>ef78 7f 36 c5 60 a7 12 9 16 73 fe 75 3a 2d 40 29 7d aa a 5c 2 29 23 0 a6 e5 6b<BR>ef92 24 6d 9b 20 e5 7 cb 40 b0 38 59 9c a7 69 6a 70 d3 38 ef e2 b2 11 3e ea 2a<BR>efab f9 2b 2e 43 1d 65 cf d6 1b ef 83 5a 5f e6 c5 62 16 ca 5e 4c a6 39 e4 53<BR>efc3 2d 23 d2 5e 7e 15 54 8a 8 b7 3d bb 88 59 b9 9e a2 7c 42 1f a2 77 3c 5b 9<BR>efdc 6d fa 8f 21 46 1a 3e ed ce 49 56 1d 29 2d 70 3 a7 6f 75 ac 1 87 ff 27 86<BR>eff5 73 49 28 85 2d 97 7a 84 e 37 3d 86 10 21 4c e2 74 62 6b 51 70 8f 15 72 f3<BR>e100e 81 b2 a9 9d 8a 63 ad 1b d5 aa 8a dc 96 3c e7 47 16 51 fc 87 50 9 b7 60<BR>e1026 29 33 52 fb b0 df 70 c5 65 4a 60 3b c d7 a8 29 47 51 f7 8a 77 f3 99 3f<BR>e103e 38 16 60 de 68 27 b2 24 7 62 a2 fd 40 86 b2 75 c3 3c 2f 3d fa 9 d9 a9 9a<BR>e1057 71 3c ce 46 94 0 f9 bc 46 7f b8 2e 85 7f 7d d3 8d ea b4 63 81 59 10 bb<BR>e106f 57 d0 b6 ab e1 83 74 1e 25 d5 73 78 18 b1 60 62 c f4 76 8d 17 d5 ed 23<BR>e1087 23 e4 f6 32 64 5a 61 9 63 f6 92 57 d5 29 40 d6 3b ba 63 72 18 0 25 1b 7<BR>e10a0 ee 7f 25 4a fa 6 74 19 46 e3 e8 89 7a c6 56 54 a7 43 13 4e bf 97 a5 6f<BR>e10b8 99 2f ac 33 4d fa 58 3a 5a a a4 1a 74 62 c8 4f 3b 78 9 d7 ee 7e ee 2d 69<BR>e10d1 30 40 ea 47 82 3b 85 8e 3 23 8f 74 4e 8 35 ab 74 4 1 57 d5 85 b1 6b 1e<BR>e10ea f4 7d 1e d2 1e b3 fe f3 12 10 32 39 51 48 2d 6f e5 d3 a3 8c 8 8<BR>g<BR>rcx<BR>fff<BR>n1.com<BR>w<BR>q</CODE></P>
<P><CODE></CODE>&nbsp;</P>
<P><CODE>把以上代码复制下来存为文本文档,命名为1</CODE></P>
<P><CODE>在DOS下(在运行栏输入cmd)，进入文档所存盘符，输入debug&lt;1.txt，然后你就知道什么叫做强了。</CODE></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_313.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 06:17:05 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=313</comments>
	</item>

	<item>
	<title>隐藏在Ghost系统背后可怕的陷阱</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_312.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 如今世面上和网上流行各种windowsxp系统万能ghost安装光盘和文件，使用起来也确实方便，安装一个系统只需要恢复下ghost镜像文件，装点驱动，断断十多分钟就完成了。但是各种万能ghost版本系统光盘其中有精品，也有垃圾，更有暗留了后门的陷阱! 
<P>　　一、xp万能ghost系统分析：</P>
<P>　　万能ghost系统制作时，是在安装成功后删除windows自带的多余文件，并且删除硬件信息，然后进行系统封装。如果在安装前，制作者有意将某个系统文件替换成木马后门，或者在系统中打开某些端口，开启某些危险服务，留下某些空口令帐户，那么制作出来的ghost系统就会存在各种安全漏洞。这些ghost系统流传出去后使用这些系统的用户可能被作者控制为肉鸡。。。</P>
<P>　　二、ghost版系统常见漏洞一览：</P>
<P>　　1：空密码远程桌面漏洞，可以用空密码进行3389远程登陆，可以远程进行任务系统操作。用途利用3389漏洞刷q币，盗取adsl密码账号等等。</P>
<P>　　2：隐藏共享漏洞，任何用户都可以访问共享，非默认的ipc$共享，可以发现共享权限为everyone完全控制。用途很多，guest组用户也可以格式化你的硬盘。</P>
<P>　　3：administrator用户密码漏洞,不多做介绍了。</P>
<P>　　4：起用危险服务，在服务工具中可以发现很多危险服务都被打开，并且远程选项卡中允许用户远程连接到此计算机被启动。</P>
<P>　　5：防火墙作过手脚，在系统防火墙可看到默认未开启允许通过的项目都被勾选。</P>
<P>　　6：流氓软件与后门木马，私自为用户安装很多流氓软件。更恐怖的是将系统文件换成灰鸽子木马!(并且现在有克隆系统文件版本信息的软件，可以把木马文件伪装的外表上看上去和系统文件一样包括标识大小标注等等!)</P>
<P>　　三、危险ghostxp系统版本检测</P>
<P>　　目前已知有问题的版本列表如下：</P>
<P>　　1：番茄花园系列番茄花园windowsxpprosp2免激活版v2.8和2.9以及新版本</P>
<P>　　2：雨林木风系列雨林木风ghostwinxp2v2.0装机版纯净会员版y1.7v1.85以及新版本</P>
<P>　　3：东海电脑公司版ghostxp_sp2电脑公司特别版v4.0v4.1v5.0v5.1v5.5以及新版本</P>
<P>　　大家可在系统属性对话框中查看自己系统版本判断是否存在问题，网上流传的其他ghost系统版本也或多或少的存在如上的安全问题!请谨慎使用!</P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_312.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 06:11:41 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=312</comments>
	</item>

	<item>
	<title>简述边界路由及其好处</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_311.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 边界路由系统体系结构是一种令广域网(WAN)设计人员极感兴趣的创新软件技术，这种技术可以极大地简化WAN外围的全功能路由。因此，它第一会使降低很昂贵的WAN维护费用成为现实。除边界路由的软件优势外，边界路由还可在不限制所支持的协议的前提下，节省访问与路由有关的远程硬件费用。 
<P>　　所谓边界路由是将标准的路由软件看作n路本地路由，并将软件中的局域网部分扩展到广域网。这将导致远程路由器采用一套全新的、并且是极大简化了路由软件功能。</P>
<P>　　换言之，边界路由把中心和远程的设备看作一个单一系统，而解决路由问题的这一创新提供了只配置单个接口的所有优点，该接口极类似于在一个集中式主干网LAN环境中的中心设备，不过在大型WAN网络中。由于很少需要配置中心或远程路由器的WAN端口，从而减少了管理的复杂性。</P>
<P>　　边界路由的软件创新为与访问路由器有关的硬件优势又增加了简单和廉价等优点，但它并不限制在远程点对路由协议的选择。</P>
<P>　　边界路由通过把路由管理的复杂性转移到一个路由管理中心来简化对路由器的管理；有了边界路由，网络管理员能够迅速而有效地管理多个远程地点。如果WAN连接需要从边界路由转移到通常的路由，那么软件升级工具便可以快速地把一台远程边界路由设备转换为一台通常的路由器。边界路由支持以下强大的路由改进能力：</P>
<P>　　数据压缩，它允许在低速线路上运载更大的信息流量，并极大地降低WAN成本。</P>
<P>　　服务类，实现数据优先化以便加速关键应用的处理。</P>
<P>　　可灵活设置的过滤，以提供网络安全和流量控制。</P>
<P>　　交换式线路支持，包括支持帧中继、ISDN、拨号线路以及X.25，以降低远程办公室WAN连接的成本。</P>
<P>　　故障恢复能力，当路由器检测到主线路故障时，可提供拨号备份。</P>
<P>　　基于对整个系统的代理识别而进行功能强大的网络管理。</P>
<P>　　边界路由技术通过将大多数路由器操作集中起来，使中央办公室的几个全功能路由器，能够为网络外围的低成本路由器提供服务的方法来降低购买设备的费用。</P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_311.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 06:08:27 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=311</comments>
	</item>

	<item>
	<title>计算机专业学生应该学什么?</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_310.htm</link>
	<description><![CDATA[<P>&nbsp;&nbsp;&nbsp; 收到一封mail，是一个计算机系大三学生写来的，想听听我的建议，面临将要毕业的关口，应该学点什么才能对将来有用。随后又有不少朋友通过mail，im等等方式询问我对这个问题的看法。想必是上次csdn视频聊天的节目引起了不少朋友的思考。</P>
<P>我本来不是计算机专业出身，也并非大师之类的人物，本来不敢好为人师。不过，既然作了这个行业，也算有点心得，被问到，也就说点心得和建议，对与不对，各位看官指教。盖个体情况差距极大，本文是个人观点，也就姑且一听，有用则用，当然，这世上怕也没有所谓万全之策的。</P>
<P>1 你是否真的喜欢计算机</P>
<P>我是真的喜欢的。如果让我选择发了大财做什么，我仍然继续玩计算机，只不过可以更自由自在的玩喜欢的东西。如果你也喜欢，喜欢学新的东西，喜欢复杂而精巧的设计，喜欢工程之美，那就适合走技术道路。如果不是这样，这条路比较辛苦，还请三思。其实产业里相关的领域也大有可为，比如说写技术相关的趋势作者，鲜有优秀的。目前除了互联网周刊的陈琼同学，我还没看到给商业媒体写技术相关的写手有几个写的好的，甚至往往都有致命的本质错误。诸如此类的周边领域很多，都有不错的机会，不一一列举。</P>
<P>2 假如1你回答的是喜欢，那么</P>
<P>你需要学习很多东西。我认为不可缺少的东西包括：</P>
<P>* 基础理论<BR>* 算法<BR>* C语言<BR>* C++或java，如果精通C，可以舍弃C++，学java<BR>* unix<BR>* 正则表达式<BR>* 任何一种脚本语言(目前推荐python)</P>
<P>依次讲解为什么这么说</P>
<P>* 基础理论和算法<BR>20年来，应用层面急速发展，令人眼花撩乱，而实际上，大幕之后的东西，从1972年C和unix诞生以来就没有过本质的变化。在操作系统，数据库理论，编译原理，信息管理系统理论之类，都是*相对*静止的。虽然其中有类似于微内核还是整体内核之类的理论之争，但是几乎不影响格局，大可以放心去学。学这些东西唯一的问题是理论枯燥，最好是结合实践，做一些应用，学一些理论，张弛有度，这样总能保证好奇心旺盛。</P>
<P>学这些东西的目的是为了真正的了解计算机。不真正了解一个东西，很难举一反三，很难作到融汇贯通。其实高校教的这些东西都极有价值，只不过是在缺乏实践的基础上填鸭，效果往往变成了应付考试。</P>
<P>* C语言<BR>我对C语言的认识如下： (1）是对计算机的最小抽象 (2) 是一种操作内存的语言。</P>
<P>基于这2个认识，C是必须要学好的。</P>
<P>写程序，就是让计算机按照人的思想去干活的过程，C提供了计算机的抽象模型，让我们控制计算机变的简单，而程序设计中，内存的使用是最为重要的。(记得汇编里面对寄存器的应用多么重要吗？)。操作内存是程序员的基本功，虽然现在自动内存管理和垃圾回收技术已经变的日益完善，但学习到优秀的内存使用观念仍然是程序员的必修课。真正掌握了这种观念，看任何语言都不困难了。我总认为，内存就是计算机的七寸命门，懂了这个，也就一通万事通了。</P>
<P>另外一个理由，就是大部分语言是用C语法做为蓝本的。熟练的C语言基本功会让你未来的学习变的轻松很多。</P>
<P>* C++和JAVA</P>
<P>鉴于面向对象理论如此重要，我们必须要学好一种操作对象的语言。如同C是操作内存的语言，C++和JAVA就是操作对象的语言。</P>
<P>C++我曾经认为是很好的语言，但是过于复杂，变化多端，再加上模版的语法和传统的C风格差距颇大，已经越来越不适合成为一种入门语言。JAVA变的更加值得推荐。</P>
<P>JAVA对于对象的控制能力，远远高于C++，学习成本低，且能达到效果，是更加值得选择的。</P>
<P>C++变的原来越尴尬，在开发底层系统的时候，不如C来得快捷和迅速，在开发高级应用的时候，比不上JAVA的开发效率。所以说，如果精通C，甚至可以跳过C++不学。</P>
<P>* UNIX</P>
<P>UNIX或是linux ，这是计算机历史上最宝贵的财富。宝贵说的不仅仅是其高效的系统和良好的源代码，更指其哲学。</P>
<P>一个几十年来，几乎没有修改过技术架构的系统，确实令人惊讶，相对于windows系统，每3年就会将过去的技术完全推倒重来，unix世界看起来似乎恒定不变。</P>
<P>UNIX哲学对于*nix的系统走向影响巨大。以最基本的“简单就是美”来说，这条原则的重要性往往被忽视，人们喜欢开发复杂的，大而全的系统，最后结果往往很悲惨。unix则是提供了一系列的功能单一的小程序，每个程序都有特定的用途，然后利用管道等等方式将这些小程序结合起来使用。每个程序都简单，而，越简单的结构越稳定，在这样的思想上建立起来的系统也会具有极佳的稳定性。</P>
<P>理解了UNIX基本哲学，就能理解很多优秀的开源产品设计思路。比如说，mysql为什么提供的功能如此简陋，还得到了极其广泛的应用？Apache为何稳定，php为何速度如此之快等等。这是内力，悟到了，用什么东西都无往不利。</P>
<P>* 正则表达式</P>
<P>这个东西看起来好像天书，但怎么强调重要都不算过分。<BR>去看看程序员们每天做什么工作，往往会惊讶的发现，其实大部分时间都是在处理字符串。无怪乎一个高手感慨，应用软件最重要的就是两件事，字符串处理和数据库。<BR>正则表达式无疑是处理字符串最强大的武器。利用这个，往往可以实现一些看起来不可能完成的任务。</P>
<P>什么时候开始学习正则表达式合适？当你要处理字符串的时候，放弃过去那种，从第几个字符进行substr到多少个字符之类的麻烦的方法，直接尝试用正则表达式代替。等熟悉了正则表达式，你会发现unix更可爱了，无论是grep还是vi或是apache，正则表达式无处不在。</P>
<P>* 任何一种脚本语言</P>
<P>脚本语言是最伟大的发明之一。这种简单，快捷，入门成本低的语言，虽然效率不算高，但是确实能做很多事。无论是辅助工作，做一些自动化的工作，还是完成大型任务，都有用武之地。比如，用脚本去定时抓取某个页面，解析内容，放在相应的位置，这种工作用脚本完成比用编译语言完成容易的多。</P>
<P><BR>以上几种，是计算机世界中必不可少的几个方面，如果都能掌握了，下面做什么大概就不需要我再多说了。能做的事情太多了。这一套东西学过来，你从一个“专业毕业但不真正理解计算机”的人变成了一个能够和计算机对话的人。这就是所谓的“道” 了。从此之后，在"应用"这个层面，应该没有什么东西能难住你了，所谓天下万物皆为兵器，举手投足皆可伤人的境界，已经差不多了。</P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_310.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 06:04:53 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=310</comments>
	</item>

	<item>
	<title>IP地址和子网掩码的基础知识</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_308.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 基于IP协议的因特网，目前已经发展成为当今世界上规模最大、拥有用户最多、资源最广泛的通信网络。IP协议也因此成为事实上的业界标准，以IP协议为基础的网络已经成为通信网络的主流。 <BR><BR>本文将结合笔者的实践经验和思科网络技术学院CCNA课程的教学经验，就IP协议关于IP地址这部分内容，进行简要的阐述。 <BR><BR><STRONG>一、为什么要使用IP地址？</STRONG> <BR><BR>一个IP地址是用来标识网络中的一个通信实体，比如一台主机，或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包，也都必须使用IP地址来进行标识，如同我们写一封信，要标明收信人的通信地址和发信人的地址，而邮政工作人员则通过该地址来决定邮件的去向。 <BR><BR>同样的过程也发生在计算机网络里，每个被传输的数据包也要包括的一个源IP地址和一个目的IP地址，当该数据包在网络中进行传输时，这两个地址要保持不变，以确保网络设备总是能根据确定的IP地址，将数据包从源通信实体送往指定的目的通信实体。 <BR><BR>目前，IP地址使用32位二进制地址格式，为方便记忆，通常使用以点号划分的十进制来表示，如：202.112.14.1。 <BR><BR>一个IP地址主要由两部分组成：一部分是用于标识该地址所从属的网络号；另一部分用于指明该网络上某个特定主机的主机号。 <BR><BR>为了给不同规模的网络提供必要的灵活性，IP地址的设计者将IP地址空间划分为五个不同的地址类别，如下表所示，其中A,B,C三类最为常用： <BR><BR>A类 0－127 0 8位 24位 <BR><BR>B类 128－191 10 16位 16位 <BR><BR>C类 192－223 110 24位 8位 <BR><BR>D类 224－239 1110 组播地址 <BR><BR>E类 240－255 1111 保留试验使用 <BR><BR>网络号由因特网权力机构分配，目的是为了保证网络地址的全球唯一性。主机地址由各个网络的管理员统一分配。因此，网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性。 <BR><BR><STRONG>二、划分子网</STRONG> <BR><BR>为了提高IP地址的使用效率，可将一个网络划分为子网：采用借位的方式，从主机位最高位开始借位变为新的子网位，所剩余的部分则仍为主机位。这使得IP地址的结构分为三部分：网络位、子网位和主机位。<BR><BR>引入子网概念后，网络位加上子网位才能全局唯一地标识一个网络。把所有的网络位用1来标识，主机位用0来标识，就得到了子网掩码。如下图所示的子网掩码转换为十进制之后为：255.255.255.224 <BR><BR>子网编址使得IP地址具有一定的内部层次结构，这种层次结构便于IP地址分配和管理。 <BR><BR>它的使用关键在于选择合适的层次结构--如何既能适应各种现实的物理网络规模，又能充分地利用IP地址空间（即：从何处分隔子网号和主机号）。 <BR><BR>小窍门--子网的计算 <BR><BR>在思科网络技术学院CCNA教学和考试当中，不少同学在进行IP地址规划时总是很头疼子网和掩码的计算。现在给大家一个小窍门，可以顺利的解决这个问题。<BR><BR>首先，我们看一个CCNA考试中常见的题型：一个主机的IP地址是202.112.14.137，掩码是255.255.255.224，要求计算这个主机所在网络的网络地址和广播地址。 <BR><BR>常规办法是把这个主机地址和子网掩码都换算成二进制数，两者进行逻辑与运算后即可得到网络地址。其实大家只要仔细想想，可以得到另一个方法：255.255.255.224的掩码所容纳的IP地址有256－224＝32个（包括网络地址和广播地址），那么具有这种掩码的网络地址一定是32的倍数。而网络地址是子网IP地址的开始，广播地址是结束，可使用的主机地址在这个范围内，因此略小于137而又是32的倍数的只有128，所以得出网络地址是202.112.14.128。而广播地址就是下一个网络的网络地址减1。而下一个32的倍数是160，因此可以得到广播地址为202.112.14.159。可参照下图来理解本例：<BR><BR>CCNA考试中，还有一种题型，要你根据每个网络的主机数量进行子网地址的规划和计算子网掩码。这也可按上述原则进行计算。比如一个子网有10台主机，那么对于这个子网就需要10＋1＋1＋1＝13个IP地址。（注意加的第一个1是指这个网络连接时所需的网关地址，接着的两个1分别是指网络地址和广播地址。）13小于16（16等于2的4次方），所以主机位为4位。而256－16＝240，所以该子网掩码为255.255.255.240。 <BR><BR>如果一个子网有14台主机，不少同学常犯的错误是：依然分配具有16个地址空间的子网，而忘记了给网关分配地址。这样就错误了，因为14＋1＋1＋1＝17 ，大于16，所以我们只能分配具有32个地址（32等于2的5次方）空间的子网。这时子网掩码为：255.255.255.224。 <BR><BR><STRONG>三、 IP 地址的局限性</STRONG> <BR><BR>最初的因特网设计者没有预想到网络会有如此快速地发展，因此现在网络面临的问题都可以追溯到因特网发展的早期决策上，IP地址的分配更能体现这点。 <BR><BR>目前使用的IPv4地址使用32位的地址，即在IPv4的地址空间中有232（4,294,967,296，约为43亿）个地址可用。这样的地址空间在因特网早期看来几乎是无限的，于是便将IP地址根据申请而按类别分配给某个组织或公司，而很少考虑是否真的需要这么多个地址空间，没有考虑到IPv4地址空间最终会被用尽。<BR><BR>因此，IPv4地址是按照网络的大小（所使用的IP地址数）来分类的，它的编址方案使用"类"的概念。A、B、C三类IP地址的定义很容易理解，也很容易划分，但是在实际网络规划中，它们并不利于有效地分配有限的地址空间。对于A、B类地址，很少有这么大规模的公司能够使用，而C类地址所容纳的主机数又相对太少。所以有类别的IP地址并不利于有效地分配有限的地址空间，不适用于网络规划。 <BR><BR>在这种情况下，人们开始致力于下一代因特网协议--IPv6的研究。由于现在IPv6的协议并不完善和成熟，需要长期的试验验证，因此，IPv4到IPv6的完全过渡将是一个比较长的过程，在过渡期间我们仍然需要在IPv4上实现网络间的互连。而在90年代初期引入了变长子网掩码（VLSM）和无类域间路由（CIDR）等机制，作为目前过渡时期提高IPv4地址空间使用效率的短期解决方案起到了很大的作用。<BR> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_308.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 05:51:30 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=308</comments>
	</item>

	<item>
	<title>XHTML代码的基本应用</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_307.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 一段时间以来，发现有很多人XHTML都不会用，不光是普通的初学者，有的程序员都不是很清楚该怎么写这个XHTML，我这里呢算是把一些常见的应用问题做一个总结，也算能使得大家能在沟通，合作上能形成默契。 
<P>XHTML里有很多的标签，但是经常用到的也就是那么几个，也只要掌握这几个也就可以了。下面我们一一列举：div,p,span,ul,li,dl,dt,dd,a,img,h,strong,em</P>
<P><STRONG>div</STRONG> 在我的脑子里我一直把他想作是一个瓶子或是箱子，我的感觉它挺硬的。这个div没有什么特性的意义，可以使用在很多地方，也就是说他可以装不同的东西。他的正确的写法是&lt;div&gt;&lt;/div&gt;必需要有封口。大家都用来做布局之用，也有用来作为存放文章形成段落，实际上，这个做法并不是很好，因为作为文章的分段自然有一个特定的标签来用。那就是下面要讲的&lt;p&gt;&lt;/p&gt;标签，不过用DIV来再整体的包住所有的段落。这是非常实用的。</P>
<P><STRONG>p</STRONG> 这是一个有特定语义的标签，表示段落，是用来区分段落的。在大部分的浏览器中对P基本上都有一个上下的边距。但是没有行首缩进，因为行首缩进只是表示段落的方式但是不是一定或是必需的。所以在用P标签的时候如果需要可以针对P设定一下行首缩进，我是推荐在文章以外的地方不要使用P，因为P是有一定语义的，如果用在别的地方恐不合适。正确的写法是&lt;p&gt;&lt;/p&gt;</P>
<P><STRONG>span</STRONG> 这也是一个非常常用的标签，这个标签可以说与div很像，没有什么特定的意义，只是他是一个级联元素，不是块级元素。我一直把它看作是一个袋子，他不像箱子那样可以有自己的宽高，他的宽高只能随着内容的多少而定，所以很像是袋子。这个标签与div正好互补。</P>
<P><STRONG>ul,li</STRONG> 这是一个列表，在列表中，除了UL还OL，不过我觉得OL有点像是鸡肋。因为UL通过CSS定义一样可以有OL的数字排序效果。所以一般我不推荐使用 OL，有UL就可以了。UL是块级的，他的子级li也是块级标签。正确的写法是&lt;ul&gt;&lt;li&gt;&lt;/li&gt;&lt; /ul&gt; LI标签是被UL标签包裹的，在UL标签里可以有无数个LI标签，LI标签不能独立使用。并且LI标签一定要封口，这不光是美观问题，对于后期的维护也很有好处。很多程序员都不喜欢把这个LI封口。UL列表的用处主要是列举出一维的，同一类型的数据。具体的比如使用在菜单上，文章中列数的一些条例等等。在列表中有一种特别的形式与UL是不一样的。那就是下面的DL</P>
<P><STRONG>dl,dt,dd</STRONG> 这是一个很特别的三个标签的组合。这里的DT是指标题，DD是指内容。DL是包课他们的容器。正确的写法是&lt;dl&gt;&lt;dt&gt; &lt;/dt&gt;&lt;dd&gt;&lt;/dd&gt;&lt;/dl&gt;在DL里可以有很多组的DT，DD，当出现很多组的时候尽量是一个DT配一个DD，如果DD中内容很多，可以在DD里加P标签配合使用。DL列表是一个非常好的列表形式，可以多加利用。</P>
<P><STRONG>a</STRONG>&nbsp; 这表示链接，是一个特定属性的，也是网页中最为神奇的标签。因为它才让无数的网页都连在了一起。正确的写法是：&lt;a href="" title=""&gt;&lt;/a&gt;其中的href是表示目标地址，TITLE是鼠标悬停提示文字，这是可有可无的。但是有必是利大于无。</P>
<P><STRONG>img</STRONG> 这是图片标签，也是个特定属性的标签。正常写法是：&lt;img src="" alt=""&nbsp;title=""/&gt; 这里的src是目标地址，ALT与TITLE是替换文字，ALT是 IE特定的，TITLE是其它浏览器的通用的。不过记得后面的反斜线那是一定要有的。</P>
<P><STRONG>H </STRONG>这是一个系列的标签，从H1到H6，一共六个，有人说太少了，有人说正好用，有人说用不了这么多。反正我是觉得差不多。正确写法是：&lt;h&gt; &lt;/h&gt;主要是用来存放标题，也有一些朋友用来作它用，个人觉得这个标签还是让他安生一点，就让他做标题的作用。这六个标签之间最好不要出现什么相互包含的事。</P>
<P><STRONG>strong</STRONG> 这个意思是着重，这是有语义的，作用也很简单。至于样工，是加粗着重，还是用色彩表明着重，那都是自行选择。正确的写法是&lt;strong&gt;&lt;/strong&gt;</P>
<P><STRONG>em</STRONG> 这个与strong很像，是表示强调。一般浏览器的默认值是斜体。使用方式与strong一样。写法是：&lt;em&gt;&lt;/em&gt;</P>
<P>这里没有说表单，因为表单基本上没有什么变化，也没什么可特别说的。<BR></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_307.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 05:43:41 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=307</comments>
	</item>

	<item>
	<title>Flash 扫描显示文字的效果</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_306.htm</link>
	<description><![CDATA[<P align=left>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本例主要通过几个简单的运动中间帧动画与镂空的文字块来实现扫描显示文字的效果。至于本例的设计思路，可以先参看图1所示的影片图层结构图。<BR></P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/200732413303617.jpg" border=0></P>
<P align=center><STRONG>图1 影片图层结构图</STRONG> </P>
<P>　　1．图中所标示的数字1、2、3、4分别代表了三个图层和舞台本身。也就是说，需要建立用来放置不同对象的三个图层。</P>
<P>　　a)顶层扫描线层：用以放置最右边的首条扫描线。</P>
<P>　　b)镂空文字层：用以放置写有镂空文字的图块。</P>
<P>　　c)扫描线层：用以放置从文字上经过的扫描线。</P>
<P>　　d)底层（舞台）：也就是背景。</P>
<P>　　2. 利用Flash图形层叠覆盖的特性来制作镂空文字色块的方法可以说是此效果中所提到的最实用的技术了，影片影片的最终播放效果如图2所示，要实现这一效果，具体制作过程如下：<BR></P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133139238.jpg" border=0></P>
<P align=center><STRONG>图2　 最终效果图</STRONG> </P>
<P>　　一.制作镂空文字块</P>
<P>　　1.新建一个电影，在属性面板中设置其尺寸为550pxX400px,选择一种颜色（本例为#666666）作为背景色。双击时间线上的“Layer 1”，并将其重新命名为“text”，虽然给每层取个好名字是一件虽然有点麻烦，但却非常有用的事情。特别是当一个影片中有大量的图层存在的时候，根据图层的名字你就可以更快地找到你所要找的对象。</P>
<P>　　2．在工具箱在选取矩形工具 ，并将填充色设为#000000，边框色为#CCCCCC。在舞台上画出一个与舞台同宽的实心矩形，如图3所示。<BR></P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133311356.jpg" border=0></P>
<P align=center>图3 实心色块 </P>
<P>　　3．在工具箱中选取文本工具 ，将填充色设为#FFFFFF后在黑色的色块上写上“扫描效果”四个字。将字体设为“宋体”，字体大小设为“120”个单位，字间距设为“10”，选中“扫描效果”文本，将其移到黑色块的中间，效果如图4所示：</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133337912.jpg" border=0></P>
<P align=center>图4　输入并调整文本 </P>
<P>　　4.然后选择“修改/分离“菜单命令，将文字打散。因为“宋体”的字看起来很瘦，视觉效果不是很好，所以要把每个字加加粗。选中被打散的四个字，然后选择“修改/形状/扩展填充”菜单命令，在弹出的“扩展填充”中将距离设置为5px，并选中“扩散”单选按钮，然后单击确定按钮，这时文本效果如图5所示：<BR></P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133435122.jpg" border=0></P>
<P align=center>图5　加粗后的文本效果 </P>
<P>　　5．选中所有文字，然后将其删除之后就得到了一个可以看到背景的有镂空文字的色块了，如图6所示：</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/200732413369676.jpg" border=0></P>
<P align=center>图6 镂空文字色 </P>
<P>　　二.制作扫描线</P>
<P>　　1．选择“插入/图层”菜单命令新建一个层。将图层“text”锁定，然后把新建的图层改名为“scanlines”，从工具箱中选取直线工具，并将边框颜色设置为#FFFFFF。将线条类型设定为实线，宽度设为“2.5px”按住Shift，在图层“scanlines”上画出一条与文字块等高的直线，如图7所示。</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133658861.jpg" border=0></P>
<P align=center>　图7 制作扫描线（1） </P>
<P>　　2.在属性面板中将线的高度修改为“1.5px”，然后修改边框色为#00FF00，按住Shift，在刚才所画的直线左边再画一条等高的直线。并改变边框色为#64FF00，然后在新画的那条直线左边再画上一条宽度为“1”的一条垂直线。打开“混色器“面板，将RGB及Alpha值分别设为100、255、0和70%，按住Shift，在三条直线左边再添一条等高的线，如图8所示。<BR></P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133742923.jpg" border=0></P>
<P align=center>图8 制作扫描线（2） </P>
<P>　　3．在属性面板中将线型设定为“极细”，然后从右到左再添加由密到疏的四条颜色值不变但Alpha值分别为55%、40%、25%、10%的等高直线，如图9所示。</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133850745.jpg" border=0></P>
<P align=center>图9 制作扫描线（3） </P>
<P>　　4．要做的效果是随着扫描线经过而显现出文字，即就是得有东西将扫描线尚未经过的区域隐藏起来。所以，下面再选取矩形工具，然后在最右侧直线的右边添上一大块与镂空文字色块相同大小、相同颜色的色块。</P>
<P>　　5.选中图层“scanlines”上的所有对象，也就是八条扫描线和一个色块，选择“插入/转化为元件”菜单命令，打开“转换为元件”对话框，然后在“名称”一栏中输入“Scanlines”将当前所选的对象创建为一个“影片剪辑”元件，再次选取“直线”工具，在属性面板中设定其颜色为#00FF00，线型为“极细”，按住Shift，在舞台上拉出一条与前面所画的扫描线等高的直线，然后将其转化成名称为“Topline”的“影片剪辑”元件。这条线就是本例中最后的顶层扫描线。</P>
<P>　　6.选中影片剪辑“Topline”元件，然后选择“编辑/剪切”菜单命令将其剪切下来。然后选择“插入/图层”菜单命令新建一个名为“topline”的图层，然后选择“编辑/粘贴”菜单命令将剪切下来的“Topline”元件粘贴到这个层上。根据影片图层结构图，将图层“text”拖到图层“topline”和“scanlines”之间，这样扫描线动画就制作完成了，此时时间轴窗口如图10所示：</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2007-3/24/2007324133933366.jpg" border=0></P>
<P align=center>图10　时间轴窗口 </P>
<P>　　三.制作动画</P>
<P>　　1．选中图层“topline”上的第65帧，选择“插入/关键帧”菜单命令，插入一个关键帧。选中图层“scanlines”上的第65帧，也同样插入一个关键帧。然后选中图层“text”上的第65帧，选择“插入/帧”菜单命令插入一静态帧，再添加64帧静态帧，如图11所示。</P>
<P align=center><IMG src="/UserFiles/2007-3/24/200732413412801.jpg" border=0></P>
<P align=center>图11 插入帧 </P>
<P>　　2．选中图层“scanlines”上的第1帧，将“Scanlines”元件移动到文字块的左边，并使最右边的扫描线与文字块最左边的边线对齐；选中图层“scanlines”上的第65帧，将“Scanlines”元件移动到与文字块的右边，并使最左边的扫描线与刚好超过文字块最右边的边线；选中图层“topline”上的第1帧，将“Topline”元件移动到“Scanlines”元件中最右端扫描线的右边；选中图层“topline”上的第65帧，同样将Topline元件移动到Scanlines元件中最右端扫描线的右边；右击图层“topline”上的第1帧，在弹出的快捷菜单中选择“创建补间动画”菜单命令；右击图层“scanlines”上的第1帧，同样也将其转化为运动中间帧动画，此时的时间轴窗口如图12所示。</P>
<P align=center><IMG src="/UserFiles/2007-3/24/2007324134149510.jpg" align=middle border=0></P>
<P align=center>图12 创建动画 </P>
<P>　　3．这样整修动画便制作完成，保存并发布作品，就可以看见漂亮的扫描文字效果了。</P>
<P align=left><BR></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_306.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 05:28:33 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=306</comments>
	</item>

	<item>
	<title>Photoshop CS 8.0 制作签名印章</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-24/article_view_305.htm</link>
	<description><![CDATA[<P><STRONG>效果图：</STRONG></P>
<P align=center><IMG src="/UserFiles/2007-3/24/2007324132046508.jpg" border=0></P>
<P align=left><STRONG>步骤：</STRONG></P>
<P align=center><IMG src="/UserFiles/2007-3/24/2007324132129842.jpg" border=0></P>
<P align=center><BR><IMG src="/UserFiles/2007-3/24/2007324132151232.jpg" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/24/2007324132243173.jpg" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/24/200732413238273.jpg" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/24/2007324132334993.jpg" border=0></P>
<P align=center><IMG src="/UserFiles/2007-3/24/200732413241212.jpg" border=0></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-24/article_view_305.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sat, 24 Mar 2007 05:13:40 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=305</comments>
	</item>

	<item>
	<title>Linux命令大全</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-11/article_view_304.htm</link>
	<description><![CDATA[<IMG src="/editor/eweb_editor/sysimage/file/rar.gif" border=0><A href="/UserFiles/2007-3/11/20073112048422.rar" target=_blank>Linux命令大全(修改版).rar</A> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-11/article_view_304.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sun, 11 Mar 2007 12:02:18 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=304</comments>
	</item>

	<item>
	<title>现在起CN域名只需一元!</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-11/article_view_302.htm</link>
	<description><![CDATA[<SPAN class=schoolnewstext>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 接CNNIC通知,国内各注册商已经证实,从3月7日12点起,所有英文CN域名首年注册只需要1元,续费价格不变.....年前就有消息传出说.CN即将降价,刚刚从万网的许多代理那了解到,已经收到万网的通知,3月7日12点,万网的.CN(org.cn;net.cn;.cn)域名注册价格将下调,注册价格在3-5元之间,续费价格保持不变,消息绝对真实.可以立即注册成功.立即使用...<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 还有时代互联从3月7号起新注册英文CN域名代理价最低只要8元!没有域名的朋友可以快去注册一个,抢注个好一点的.. </SPAN><BR> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-11/article_view_302.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sun, 11 Mar 2007 03:19:28 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=302</comments>
	</item>

	<item>
	<title>熊猫烧香专杀工具（李俊）</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-11/article_view_300.htm</link>
	<description><![CDATA[<P><FONT face=Verdana>各位网友：<BR>&nbsp;&nbsp;&nbsp; 你们好!我是熊猫烧香的第一版作者.<BR>&nbsp;&nbsp;&nbsp; 我真的没有想到熊猫烧香在短短的两个月竟然疯狂感染到这个地步,真的是我的不对,或许<BR>真的是我低估了网络的力量,它的散播速度是我想不到的!对于所有中毒的网友,企业来说,可能<BR>是一个很大的打击,我对此表示深深的歉意!很对不起!<BR>&nbsp;&nbsp;&nbsp; 我要解释一些事情,有人说熊猫烧香更改熊猫的图标是我在诋毁大熊猫!这里我要解释下,这<BR>是绝对没有的事情,完全是出于这个图片比较让我个人喜欢,才会用的!<BR>&nbsp;&nbsp;&nbsp; 还有关于变种,我写这个的初衷也是这个,纯粹是为了编程研究,对于出了这么多变种,我是<BR>根本想不到的,这个责任也不全是在我的!还有人说熊猫病毒写出来是商业目的!这个完全是无稽<BR>之谈.我在这里承诺,本人是绝对没有更新过任何变种!<BR>&nbsp;&nbsp;&nbsp; 关于中毒后的一些错误,有人中毒后会有蓝屏,无声,卡死,文件丢失这些现象!蓝屏和死机的<BR>原因很多可能,熊猫的主程序是不会造成电脑死机或蓝屏的,更不会把别人里面的文件弄丢失!<BR>&nbsp;&nbsp;&nbsp; 还有人说我是个心理变态,我在前面已经说了,感染的速度,变种的数量是我所料想不到的.<BR>还有,我写这个病毒的初衷完全是为了编程研究.对于这个评论,我也就不多说什么了!<BR>&nbsp;&nbsp;&nbsp; 最后就是关于我的身份,大家不要再猜测我是谁了,15岁的武汉男生也好,是个女的也好,某<BR>公司老总也好,杀毒厂商也好,光是新闻的评论,网友的臭骂已经让我后悔之极了!希望熊猫病毒<BR>不要再成为炒作的娱乐新闻,不要再出任何关于熊猫新闻和评论!希望安全软件公司,不要吹嘘,<BR>相互诋毁,相互炒作,尽力做出让人们信赖的好安全软件!谢谢大家!<BR>&nbsp;&nbsp;&nbsp; 这是我写的一个专杀程序,肯定是比不上专业级的杀毒软件了,但是我想这是我最后能给大<BR>家做的事情了.<BR>&nbsp;&nbsp;&nbsp; 熊猫走了,是结束吗?不是的,网络永远没有安全的时候,或许在不久,会有很多更厉害的病毒<BR>出来!所以我在这里提醒大家,提高网络安全意识,并不是你应该注意的,而是你必须懂得和去做<BR>的一些事情!<BR>&nbsp;&nbsp;&nbsp; 再一次表示深深的歉意,同时我发出这个专杀,愿能给大家带来帮助!</FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2007年2月9日于仙桃市第一看守所</FONT></P>
<P><FONT color=#f70938>点击下载：</FONT><IMG src="/editor/eweb_editor/sysimage/file/rar.gif" border=0><A href="/UserFiles/2007-3/11/2007311105957704.rar" target=_blank>熊猫烧香专杀工具.rar</A></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-11/article_view_300.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sun, 11 Mar 2007 02:57:40 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=300</comments>
	</item>

	<item>
	<title>KAV6.0.1.411SCH版（key到2007年11月）</title>
	<link>http://www.yiyuan129.com//articleview/2007-3-11/article_view_299.htm</link>
	<description><![CDATA[<P>【卡巴斯基KAV6.0.1.411SCH】【无限升级】<BR>该程序仅限于个人测试，严禁非法拷贝，下载后24小时请及时删除，改程序版权归原作者所有</P>
<P><IMG src="/editor/eweb_editor/sysimage/file/rar.gif" border=0><A href="/UserFiles/2007-3/11/2007311105659616.rar" target=_blank>KAV6.0.1.411SCH.rar</A></P> …… [<a href="http://www.yiyuan129.com//articleview/2007-3-11/article_view_299.htm">点击查看详细</a>] ]]></description>
	<pubDate>Sun, 11 Mar 2007 02:45:29 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=299</comments>
	</item>

	<item>
	<title>每个Java初学者都应该搞懂的六个问题</title>
	<link>http://www.yiyuan129.com//articleview/2006-12-22/article_view_298.htm</link>
	<description><![CDATA[<P><FONT face=Verdana>　对于这个系列里的问题，每个学Java的人都应该搞懂。当然，如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了，却不很懂这些问题，请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。</FONT></P>
<P><FONT face=Verdana>　　<STRONG>问题一：我声明了什么！</STRONG></FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>String s = "Hello world!";<BR></FONT></FONT><FONT face=Verdana><BR>　　许多人都做过这样的事情，但是，我们到底声明了什么？回答通常是：一个String，内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答，一半的人大概会回答错误。<BR>这个语句声明的是一个指向对象的引用，名为“s”，可以指向类型为String的任何对象，目前指向"Hello world!"这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象，我们只是声明了一个只能指向String对象的引用变量。所以，如果在刚才那句语句后面，如果再运行一句：</FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>String string = s;<BR></FONT><BR>　　我们是声明了另外一个只能指向String对象的引用，名为string，并没有第二个对象产生，string还是指向原来那个对象，也就是，和s指向同一个对象。</FONT></P>
<P><FONT face=Verdana>　<STRONG>　问题二："=="和equals方法究竟有什么区别？</STRONG></FONT></P>
<P><FONT face=Verdana>　　==操作符专门用来比较变量的值是否相等。比较好理解的一点是：</FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>int a=10;<BR>int b=10;<BR></FONT><BR>　　则a==b将是true。<BR>　　但不好理解的地方是：</FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>String a=new String("foo");<BR>String b=new String("foo");<BR></FONT><BR>　　则a==b将返回false。</FONT></P>
<P><FONT face=Verdana>　　根据前一帖说过，对象变量其实是一个引用，它们的值是指向对象所在的内存地址，而不是对象本身。a和b都使用了new操作符，意味着将在内存中产生两个内容为"foo"的字符串，既然是“两个”，它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值，所以使用"=="操作符，结果会是false。诚然，a和b所指的对象，它们的内容都是"foo"，应该是“相等”，但是==操作符并不涉及到对象内容的比较。</FONT></P>
<P><FONT face=Verdana>　　对象内容的比较，正是equals方法做的事。</FONT></P>
<P><FONT face=Verdana>　　看一下Object对象的equals方法是如何实现的：</FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>boolean equals(Object o){<BR>return this==o;<BR>}<BR></FONT>　　Object对象默认使用了==操作符。所以如果你自创的类没有覆盖equals方法，那你的类使用equals和使用==会得到同样的结果。同样也可以看出，Object的equals方法没有达到equals方法应该达到的目标：比较两个对象内容是否相等。因为答案应该由类的创建者决定，所以Object把这个任务留给了类的创建者。</FONT></P>
<P><FONT face=Verdana>　　看一下一个极端的类：</FONT></P>
<P><FONT face=Verdana><FONT color=#9d305b>Class Monster{<BR>private String content;<BR>...<BR>boolean equals(Object another){ return true;}<BR>}<BR></FONT>　　覆盖了equals方法。这个实现会导致无论Monster实例内容如何，它们之间的比较永远返回true。</FONT></P>
<P><FONT face=Verdana>　　所以当你是用equals方法判断对象的内容是否相等，请不要想当然。因为可能你认为相等，而这个类的作者不这样认为，而类的equals方法的实现是由他掌握的。如果你需要使用equals方法，或者使用任何基于散列码的集合（HashSet,HashMap,HashTable），请察看一下java doc以确认这个类的equals逻辑是如何实现的。</FONT></P>
<P><FONT face=Verdana><STRONG>问题三：String到底变了没有？</STRONG> </P>
<P>　　没有。因为String被设计成不可变(immutable)类，所以它的所有对象都是不可变对象。请看下列代码：</P>
<P class=code><FONT color=#9d305b>String s = "Hello";<BR>s = s + " world!";</FONT></P>
<P>　　s所指向的对象是否改变了呢？从本系列第一篇的结论很容易导出这个结论。我们来看看发生了什么事情。在这段代码中，s原先指向一个String对象，内容是"Hello"，然后我们对s进行了+操作，那么s所指向的那个对象是否发生了改变呢？答案是没有。这时，s不指向原来那个对象了，而指向了另一个String对象，内容为"Hello world!"，原来那个对象还存在于内存之中，只是s这个引用变量不再指向它了。</P>
<P>　　通过上面的说明，我们很容易导出另一个结论，如果经常对字符串进行各种各样的修改，或者说，不可预见的修改，那么使用String来代表字符串的话会引起很大的内存开销。因为String对象建立之后不能再改变，所以对于每一个不同的字符串，都需要一个String对象来表示。这时，应该考虑使用StringBuffer类，它允许修改，而不是每个不同的字符串都要生成一个新的对象。并且，这两种类的对象转换十分容易。</P>
<P>　　同时，我们还可以知道，如果要使用内容相同的字符串，不必每次都new一个String。例如我们要在构造器中对一个名叫s的String引用变量进行初始化，把它设置为初始值，应当这样做：</P>
<P class=code><FONT color=#9d305b>public class Demo {<BR>private String s;<BR>...<BR>public Demo {<BR>s = "Initial Value";<BR>}<BR>...<BR>}</FONT></P>
<P>　　而非</P>
<P class=code>　　<FONT color=#9d305b>s = new String("Initial Value");</FONT></P>
<P>　　后者每次都会调用构造器，生成新对象，性能低下且内存开销大，并且没有意义，因为String对象不可改变，所以对于内容相同的字符串，只要一个String对象来表示就可以了。也就说，多次调用上面的构造器创建多个对象，他们的String类型属性s都指向同一个对象。</P>
<P>　　上面的结论还基于这样一个事实：对于字符串常量，如果内容相同，Java认为它们代表同一个String对象。而用关键字new调用构造器，总是会创建一个新的对象，无论内容是否相同。</P>
<P>　　至于为什么要把String类设计成不可变类，是它的用途决定的。其实不只String，很多Java标准类库中的类都是不可变的。在开发一个系统的时候，我们有时候也需要设计不可变类，来传递一组相关的值，这也是面向对象思想的体现。不可变类有一些优点，比如因为它的对象是只读的，所以多线程并发访问也不会有任何问题。当然也有一些缺点，比如每个不同的状态都要一个对象来代表，可能会造成性能上的问题。所以Java标准类库还提供了一个可变版本，即StringBuffer。</P>
<P>　　<STRONG>问题四：final关键字到底修饰了什么？</STRONG></P>
<P>　　final使得被修饰的变量"不变"，但是由于对象型变量的本质是“引用”，使得“不变”也有了两种含义：引用本身的不变，和引用指向的对象不变。</P>
<P>　　引用本身的不变：</P>
<P class=code><FONT color=#9d305b>final StringBuffer a=new StringBuffer("immutable");<BR>final StringBuffer b=new StringBuffer("not immutable");<BR>a=b;//编译期错误</FONT></P>
<P>　　引用指向的对象不变：</P>
<P class=code><FONT color=#9d305b>final StringBuffer a=new StringBuffer("immutable");<BR>a.append(" broken!"); //编译通过</FONT></P>
<P>　　可见，final只对引用的“值”(也即它所指向的那个对象的内存地址)有效，它迫使引用只能指向初始指向的那个对象，改变它的指向会导致编译期错误。至于它所指向的对象的变化，final是不负责的。这很类似==操作符：==操作符只负责引用的“值”相等，至于这个地址所指向的对象内容是否相等，==操作符是不管的。</P>
<P>　　理解final问题有很重要的含义。许多程序漏洞都基于此----final只能保证引用永远指向固定对象，不能保证那个对象的状态不变。在多线程的操作中,一个对象会被多个线程共享或修改，一个线程对对象无意识的修改可能会导致另一个使用此对象的线程崩溃。一个错误的解决方法就是在此对象新建的时候把它声明为final，意图使得它“永远不变”。其实那是徒劳的。</P>
<P>　<STRONG>问题五：到底要怎么样初始化！</STRONG> </P>
<P>　　本问题讨论变量的初始化，所以先来看一下Java中有哪些种类的变量。</P>
<P>1. 类的属性，或者叫值域<BR>2. 方法里的局部变量<BR>3. 方法的参数</P>
<P>　　对于第一种变量，Java虚拟机会自动进行初始化。如果给出了初始值，则初始化为该初始值。如果没有给出，则把它初始化为该类型变量的默认初始值。</P>
<P>int类型变量默认初始值为0<BR>float类型变量默认初始值为0.0f<BR>double类型变量默认初始值为0.0<BR>boolean类型变量默认初始值为false<BR>char类型变量默认初始值为0(ASCII码)<BR>long类型变量默认初始值为0</P>
<P>　　所有对象引用类型变量默认初始值为null，即不指向任何对象。注意数组本身也是对象，所以没有初始化的数组引用在自动初始化后其值也是null。</P>
<P>　　对于两种不同的类属性，static属性与instance属性，初始化的时机是不同的。instance属性在创建实例的时候初始化，static属性在类加载，也就是第一次用到这个类的时候初始化，对于后来的实例的创建，不再次进行初始化。这个问题会在以后的系列中进行详细讨论。</P>
<P>　　对于第二种变量，必须明确地进行初始化。如果再没有初始化之前就试图使用它，编译器会抗议。如果初始化的语句在try块中或if块中，也必须要让它在第一次使用前一定能够得到赋值。也就是说，把初始化语句放在只有if块的条件判断语句中编译器也会抗议，因为执行的时候可能不符合if后面的判断条件，如此一来初始化语句就不会被执行了，这就违反了局部变量使用前必须初始化的规定。但如果在else块中也有初始化语句，就可以通过编译，因为无论如何，总有至少一条初始化语句会被执行，不会发生使用前未被初始化的事情。对于try-catch也是一样，如果只有在try块里才有初始化语句，编译部通过。如果在catch或finally里也有，则可以通过编译。总之，要保证局部变量在使用之前一定被初始化了。所以，一个好的做法是在声明他们的时候就初始化他们，如果不知道要出事化成什么值好，就用上面的默认值吧！</P>
<P>　　其实第三种变量和第二种本质上是一样的，都是方法中的局部变量。只不过作为参数，肯定是被初始化过的，传入的值就是初始值，所以不需要初始化。</P>
<P>　　<STRONG>问题六：instanceof是什么东东？</STRONG></P>
<P>　　instanceof是Java的一个二元操作符，和==，&gt;，&lt;是同一类东东。由于它是由字母组成的，所以也是Java的保留关键字。它的作用是测试它左边的对象是否是它右边的类的实例，返回boolean类型的数据。举个例子：</P>
<P class=code><FONT color=#9d305b>String s = "I AM an Object!";<BR>boolean isObject = s instanceof Object;</FONT></P>
<P>　　我们声明了一个String对象引用，指向一个String对象，然后用instancof来测试它所指向的对象是否是Object类的一个实例，显然，这是真的，所以返回true，也就是isObject的值为True。</P>
<P>　　instanceof有一些用处。比如我们写了一个处理账单的系统，其中有这样三个类：</P>
<P class=code><FONT color=#9d305b>public class Bill {//省略细节}<BR>public class PhoneBill extends Bill {//省略细节}<BR>public class GasBill extends Bill {//省略细节}</FONT></P>
<P>　　在处理程序里有一个方法，接受一个Bill类型的对象，计算金额。假设两种账单计算方法不同，而传入的Bill对象可能是两种中的任何一种，所以要用instanceof来判断：</P>
<P class=code><FONT color=#9d305b>public double calculate(Bill bill) {<BR>if (bill instanceof PhoneBill) {<BR>//计算电话账单<BR>}<BR>if (bill instanceof GasBill) {<BR>//计算燃气账单<BR>}<BR>...<BR>}</FONT></P>
<P>　　这样就可以用一个方法处理两种子类。</P>
<P>　　然而，这种做法通常被认为是没有好好利用面向对象中的多态性。其实上面的功能要求用方法重载完全可以实现，这是面向对象变成应有的做法，避免回到结构化编程模式。只要提供两个名字和返回值都相同，接受参数类型不同的方法就可以了：</P>
<P class=code><FONT color=#9d305b>public double calculate(PhoneBill bill) {<BR>//计算电话账单<BR>}<BR><BR>public double calculate(GasBill bill) {<BR>//计算燃气账单<BR>}</FONT></P>
<P>　　所以，使用instanceof在绝大多数情况下并不是推荐的做法，应当好好利用多态。</P>
<P>
<TABLE cellSpacing=0 cellPadding=6 width="100%" border=0>
<TBODY>
<TR>
<TD></TD></TR></TBODY></TABLE></P></FONT> …… [<a href="http://www.yiyuan129.com//articleview/2006-12-22/article_view_298.htm">点击查看详细</a>] ]]></description>
	<pubDate>Fri, 22 Dec 2006 12:56:30 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=298</comments>
	</item>

	<item>
	<title>Eclipse插件的外挂安装方法</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_296.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Eclipse平台+插件的方式使Eclipse很容易扩充，Eclipse插件安装的方式有两种： 
<P>　　一种是内置方式安装，即下载插件后解压缩，然后把解压后插件的plugins和features目录里面的内容分别复制到Eclipse安装目录的plugins和feature目录里面，这种方法安装比较简单，但是问题也比较多，因为所有的插件的文件都混合到了plugins和feature目录里面，Eclipse会变得比较臃肿，而且如果你不想再使用某个插件，卸载会是一件非常麻烦的事情。</P>
<P>　　第二种方式就是使用外挂的方法，下面通过Eclipse3.2汉化包的安装来说明一下：</P>
<P>　　1）首先下载和安装Eclipse，我安装在/home/myname/eclipse32目录里面</P>
<P>　　2）然后建立一个/home/myname/plugins目录，这个目录是我们准备存放所有eclipse插件的地方</P>
<P>　　3）然后建立一个/home/myname/plugins/NLPack1-eclipse-SDK-3.2目录，这个目录是我们存放汉化包的地方</P>
<P>　　4）然后下载Eclipse汉化包，NLPack1-eclipse-SDK-3.2.zip，在/home/myname/plugins/NLPack1-eclipse-SDK-3.2目录里面解压缩，解压缩后的内容会在一个名为eclipse目录中</P>
<P>　　5）建立一个/home/myname/eclipse32/links目录，新建一个文件NLPack1-eclipse-SDK-3.2.link，文件的内容只有以行，如下：</P>
<P>　　path=/home/myname/plugins/NLPack1-eclipse-SDK-3.2</P>
<P>　　6）启动eclipse，汉化成功。</P>
<P>　　其他的插件也可以用这样的方式安装，目录和文件的名字建议保留插件的版本号，这样便于今后对插件进行升级和管理。</P> …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_296.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 11:09:56 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=296</comments>
	</item>

	<item>
	<title>PDF-to-Word小软件</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_295.htm</link>
	<description><![CDATA[<P>&nbsp;&nbsp;&nbsp;&nbsp;c 是一款转换 Adobe PDF 文档到 Microsoft Word 格式的程序。该转换工具具有简单易用的向导界面，即使是新手也可以轻松完成转换，并且可以最大限度的保留原有的版面布局和图像，支持转换文档中的中文等东亚语言，无需安装 Adobe Acrobat Reader。同时，它也支持命令行操作，方便高手使用。</P>
<P><IMG src="/editor/eweb_editor/sysimage/file/rar.gif" border=0><A href="/UserFiles/2006-11/22/2006112219531115.rar" target=_blankPDF-To-Word>PDF-to-Word .rar</A></P> …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_295.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 11:00:35 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=295</comments>
	</item>

	<item>
	<title>flash8水波制作简明实例－探篇</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_294.htm</link>
	<description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 一直一来，flash8的水波制作都是比较让我向往的，网上也出了不少的教材，闪吧的高手HBB和xiankevin都出过相关的教程，不过当时我没时间学习，看源文件看的是一塌糊涂，到头来是今天看，明天忘。这几天学习flash新增的类，终于学到了DisplacementMapFilter滤镜类，一切豁然开朗，原来水波制作这么简单，下面是昨天学习，今天做的一个小实例。很简单，基本上三步走就完成了一个水波制作的雏形。明天再试试用BitmapData.perlinNoise&nbsp;方法加深一下印象。注：xiankevin的经典教材在我的博客文章栏目里有收藏。 
<P>　　先看效果：</P>
<P align=center>
<OBJECT style="WIDTH: 194px; HEIGHT: 192px" codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="5133"><PARAM NAME="_cy" VALUE="5080"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="/UserFiles/2006-11/22/20061122185435456.swf"><PARAM NAME="Src" VALUE="/UserFiles/2006-11/22/20061122185435456.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="NoScale"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="false">
<embed src='/UserFiles/2006-11/22/20061122185435456.swf' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash'>/UserFiles/2006-11/22/20061122185435456.swf</embed></OBJECT></P>
<P align=center><IMG src="http://www.yiyuan129.com/editor/eweb_editor/sysimage/file/rar.gif" border=0><A href="http://www.yiyuan129.com/UserFiles/2006-11/22/20061122185535811.rar" target=_blank>20060221002211_1.rar</A></P>
<P align=left>如果你看不到，底部也有链接，还有源文件。&nbsp; <BR><BR>　　首先我们需要找到一个背景（大小和场景相同），或者自己手绘一个，这里我用的是博客的图标。也可以用一张图片做成mc来代替。做好后，将这个mc拖入到场景中，中心对齐，并给它实例命名为pic</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2006-11/22/20061122185556614.jpg" border=0></P>
<P align=left>第二步新建一个mc，绘制一个黑白颜色的放射性渐变的圆，并把它做成动态的效果，效果看这里：&nbsp;&nbsp;</P>
<P align=center>
<OBJECT codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="_cx" VALUE="5080"><PARAM NAME="_cy" VALUE="5080"><PARAM NAME="FlashVars" VALUE=""><PARAM NAME="Movie" VALUE="/UserFiles/2006-11/22/20061122185627920.swf"><PARAM NAME="Src" VALUE="/UserFiles/2006-11/22/20061122185627920.swf"><PARAM NAME="WMode" VALUE="Window"><PARAM NAME="Play" VALUE="0"><PARAM NAME="Loop" VALUE="-1"><PARAM NAME="Quality" VALUE="High"><PARAM NAME="SAlign" VALUE=""><PARAM NAME="Menu" VALUE="-1"><PARAM NAME="Base" VALUE=""><PARAM NAME="AllowScriptAccess" VALUE=""><PARAM NAME="Scale" VALUE="ShowAll"><PARAM NAME="DeviceFont" VALUE="0"><PARAM NAME="EmbedMovie" VALUE="0"><PARAM NAME="BGColor" VALUE=""><PARAM NAME="SWRemote" VALUE=""><PARAM NAME="MovieData" VALUE=""><PARAM NAME="SeamlessTabbing" VALUE="1"><PARAM NAME="Profile" VALUE="0"><PARAM NAME="ProfileAddress" VALUE=""><PARAM NAME="ProfilePort" VALUE="0"><PARAM NAME="AllowNetworking" VALUE="all"><PARAM NAME="AllowFullScreen" VALUE="false">
<embed src='/UserFiles/2006-11/22/20061122185627920.swf' quality=high pluginspage='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' type='application/x-shockwave-flash'>/UserFiles/2006-11/22/20061122185627920.swf</embed></OBJECT></P>
<P align=center>这个会动的放射性渐变mc，我们在库中给它添加标识符（就叫ball好了），你也可以不用这样做，后面的讲解中有可以选择的余地 </P>
<P>　　第三步，再次新建一个mc，里面绘制一个和场景大小相同的矩形（注意这个矩形要与mc的场景中心进行“左上”对齐）如下图，这个矩形就是将来在pic那个图片效果上做水波的区域，如果你不绘制这个矩形，将来出来的效果就会感觉有个边缘，视觉上就比较假，当然如果你有心，完全有别的方法可以来解决这个问题。</P>
<P align=center><IMG src="http://www.yiyuan129.com/UserFiles/2006-11/22/20061122185655586.jpg" border=0></P>
<P align=left>接下来，如果你刚才懒的命名标识符，就可以在这个mc里新建一个层，把刚才的那个放射性渐变的mc（会动的那个）拖入进来，位置就放到这个矩形的中间。 </P>
<P>　　如果你命名了标识符，就可以直接在帧上添加以下代码：&nbsp; </P>
<P class=code>var depth:Number = this.getNextHighestDepth();&nbsp;&nbsp; <BR>//获取可用层级，返回一个数字&nbsp;&nbsp; <BR>this.attachMovie("ball", "ball"+depth, depth);&nbsp;&nbsp; <BR>//加载库中的放射性渐变动画。&nbsp;&nbsp; <BR>this["ball"+depth]._x = Stage.width/2;&nbsp;&nbsp; <BR>//确定位置。具体用什么参数，看你的个儿喜好啦。&nbsp;&nbsp; <BR>this["ball"+depth]._y = Stage.height/2;&nbsp;&nbsp; <BR>最后，回到主场景，这时主场景中已经有最初制作的实例名叫pic的背景（关的博客）；现在只需把刚才制作的包含矩形的mc拖入进来，把它远远的扔到一边就可以了，下面是主场景帧上的代码：&nbsp;&nbsp; <BR>//by 关&nbsp;&nbsp; <BR>//禁止动画缩放。&nbsp;&nbsp; <BR>Stage.scaleMode = "noScale";&nbsp;&nbsp; <BR>//导入相关的类，死记硬背下面三个import。&nbsp;&nbsp; <BR>import flash.display.*;&nbsp;&nbsp; <BR>import flash.filters.*;&nbsp;&nbsp; <BR>import flash.geom.*;&nbsp;&nbsp; <BR>//创建一个bitmapdata对象，大小和放射性渐变的mc相同&nbsp;&nbsp; <BR>var bit:BitmapData = (new BitmapData(mask._width, mask._height, true));&nbsp;&nbsp; <BR>//zjx、zjy是渲染动画时所使用的通道，数值为1、2、4、8，对应红、绿、兰、alpha通道。我看基本可以死记硬背就好。&nbsp;&nbsp; <BR>var zjx:Number = 1;&nbsp;&nbsp; <BR>var zjy:Number = 2;&nbsp;&nbsp; <BR>//sfx、sfy这两个数据可以改变水波的强度，即图像在x轴和y轴扭曲的程度。&nbsp;&nbsp; <BR>var sfx:Number = 10;&nbsp;&nbsp; <BR>var sfy:Number = 20;&nbsp;&nbsp; <BR>//逐帧调用，你也可以用setInterval来实现，因为那个放射性渐变是动态的，而bitmap对象要模仿它的话，就必须做到动态跟踪。&nbsp;&nbsp; <BR>this.onEnterFrame = function() {&nbsp;&nbsp; <BR>&nbsp;//把放射性渐变的动画添加给bit，使之绘制出来。&nbsp;&nbsp; <BR>&nbsp;bit.draw(mask);&nbsp;&nbsp; <BR>&nbsp;//设置一个DisplacementMapFilter滤镜对象，它有使图像扭曲的功能，这里就用到了zjx、zjy等变量。&nbsp;&nbsp; <BR>&nbsp;var filter:DisplacementMapFilter = (new DisplacementMapFilter(bit, new Point(), zjx, zjy, sfx, sfy, "color", 0, 0));&nbsp;&nbsp; <BR>&nbsp;//场景中实例名为pic的元件使用新创建的滤镜，因为用到onEnterFrame，所以效果是动态滴：）&nbsp;&nbsp; <BR>&nbsp;pic.filters = [filter];&nbsp;&nbsp; <BR>}; </P>
<P>　　ctrl+Enter就可以测试了。</P>
<P>　　最后总结出：</P>
<P>　　1.必须有一个动态的东东做波动的样子，BitmapData.perlinNoise 类就是更深层次的波动，明天再测试。</P>
<P>　　2.有一个BitmapData对象不断的对那个波动mc进行绘制。</P>
<P>　　3.需要波动的影像采用DisplacementMapFilter滤镜类，来源是绘制波动效果的BitmapData对象。</P> …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_294.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 10:50:51 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=294</comments>
	</item>

	<item>
	<title>ASP之Cookies讲座</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_293.htm</link>
	<description><![CDATA[最近在研究ASP中的COOKIES，在网上找到了一篇不错的帖子，发出来~！<BR>给正在学习COOKIES的朋友点帮助~！<BR><BR>&nbsp;&nbsp;&nbsp;什么是&nbsp;Cookie？Cookie&nbsp;其实是一个标签，经常可能听到的中文翻译：小舔饼。当你访问一个需要唯一标识你的站址的&nbsp;WEB&nbsp;站点时，它会在你的硬盘上留下一个标记，下一次你访问同一个站点时，站点的页面会查找这个标记。<BR><BR>&nbsp;&nbsp;&nbsp;每个&nbsp;WEB&nbsp;站点都有自己的标记，标记的内容可以随时读取，但只能由该站点的页面完成。每个站点的Cookie与其他所有站点的Cookie存在同一文件夹中的不同文件内（你可以在&nbsp;win98&nbsp;的&nbsp;Windows&nbsp;目录下的&nbsp;Cookie&nbsp;文件夹中找到它们，而&nbsp;win2k&nbsp;则在&nbsp;Documents&nbsp;and&nbsp;Settings&nbsp;文件夹下特定用户的&nbsp;cookies&nbsp;文件夹中）。<BR><BR>&nbsp;&nbsp;&nbsp;一个&nbsp;Cookie&nbsp;就是一个唯一标识客户的标记，Cookie&nbsp;可以包含在一个对话期或几个对话期之间某个&nbsp;WEB&nbsp;站点的所有页面共享的信息，使用&nbsp;Cookie&nbsp;还可以在页面之间交换信息。这项功能经常被使用在要求认证客户密码以及电子公告板、WEB&nbsp;聊天室等&nbsp;ASP&nbsp;程序中。<BR><BR>&nbsp;&nbsp;&nbsp;尽管现在听起来cookie没有什么激动人心的，但实际上利用它，你能实现许多有意义的功能！比如说：你可以在站点上放置一个调查问答表，询问访问者最喜欢的颜色和字体，然后根据这些定制用户的web界面。并且，你还可以保存访问者的登录密码，这样，当访问者再次访问这个站点时，不用再输入密码进行登录。&nbsp;<BR><BR>&nbsp;&nbsp;&nbsp;当然，cookie也有一些不足。首先，由于利用cookie的功能可以编程实现一些不良企图，所以大多数的浏览器中都有安全设定，其中可以设置是否允许或者接受cookie（IE浏览器中“工具”--“Internet选项...”--“安全”--“自定义级别”--“Cookie的使用”；Netscape浏览器中“工具”--“Cookie管理器”--“管理贮存的Cookie”即可），因此这就不能保证随时能使用cookie。再者，访问者可能有意或者无意地删除cookie。当访问者的机器遇到“蓝屏”死机时，或者重新格式化硬盘、安装系统后，原来保存的cookie将全部丢失。最后一点，有一些最初始的浏览器并不能支持cookie。&nbsp;<BR><BR><BR>&nbsp;◆&nbsp;怎样利用cooklie？&nbsp;<BR>有2种使用cookie的基本方式：<BR>1、将cookie写入访问者的计算机（使用&nbsp;Response&nbsp;命令）<BR>2、从访问者的计算机中取回cookie（使用&nbsp;Request&nbsp;命令）<BR><BR>&nbsp;◆&nbsp;创建cookie的基本语法:&nbsp;Response.Cookies(cookie)[(key)|.attribute]=value<BR>这里的&nbsp;cookie&nbsp;是指定&nbsp;cookie&nbsp;的名称。<BR>而如果指定了&nbsp;key，则该&nbsp;cookie&nbsp;就是一个字典。<BR>（测试一cookie是否为一个字典可用后面代码显示布尔值：&lt;%=Request.Cookies("cookiename").HasKeys%&gt;。为true是字典，false则不是。&nbsp;）<BR>Attribute&nbsp;指定&nbsp;cookie&nbsp;自身的有关信息。Attribute&nbsp;参数可以是下列之一&nbsp;:&nbsp;<BR>&nbsp;①Domain&nbsp;若被指定，则&nbsp;cookie&nbsp;将被发送到对该域的请求中去。域属性表明cookie由哪个网站产生或者读取，默认情况下，cookie的域属性设置为产生它的网站，但你也可以根据需要改变它。（Response.Cookies("CookieName").Domain&nbsp;=&nbsp;"www.mydomain.com"）<BR>&nbsp;②Path&nbsp;为一路径属性，该属性可以实现更多的安全要求，通过设置网站上精确的路径，就能限制cookie的使用范围。如果未设置该属性，则使用应用程序的路径。（Response.Cookies("CookieName").Path&nbsp;=&nbsp;"/maindir/subdir/path"&nbsp;）<BR>&nbsp;③Expires&nbsp;指定&nbsp;cookie&nbsp;的过期日期。为了在会话结束后将&nbsp;cookie&nbsp;存储在客户端磁盘上，或在许多时候，我们希望能更长时间地在访问者的计算机上保存cookie。必须设置该日期。若此项属性的设置未超过当前日期，则在任务结束后&nbsp;cookie&nbsp;将到期。<BR>&nbsp;&nbsp;&nbsp;后面的代码，就可以设置cookie的使用到期时间为“2010年1月1日”：&nbsp;Response.Cookies("CookieName").Expires=#January&nbsp;01,&nbsp;2010#<BR>&nbsp;&nbsp;&nbsp;后面的代码，将设定cookie的过期时间为“cookie的创建时间＋365天”：Response.Cookies("CookieName").Expires=Date+365<BR>&nbsp;&nbsp;&nbsp;但最好不要随便写&nbsp;Response.Cookies("CookieName").Expires=Date，这样页面之间的调用时值会为空。<BR><BR>执行下面的代码将会在访问者的计算机中创建一个cookie，名字＝VisitorName，值＝Ken&nbsp;：<BR>Response.Cookies("VisitorName")="Ken"<BR>执行下面的代码将会在访问者的计算机中创建一个cookie，名字＝VisitorName，值＝表单中UserName的值<BR>Response.Cookies("VisitorName")=Request.form("UserName")<BR>你可以扩展下面的代码成为Cookie子关键值（CookieSubName），即cookie字典的生成。代码如下：<BR>Response.Cookies("VisitorName")("FirstName")="Ken"&nbsp;<BR>Response.Cookies("VisitorName")("LastName")="Baumbach"&nbsp;<BR><BR><BR>&nbsp;◆&nbsp;读取cookie的基本语法：Request.Cookies(cookie)[(key)|.attribute]<BR>cookie&nbsp;指定要检索其值的&nbsp;cookie。&nbsp;<BR>key&nbsp;可选参数，用于从&nbsp;cookie&nbsp;字典中检索子关键字的值。&nbsp;<BR>attribe&nbsp;指定&nbsp;cookie&nbsp;自身的有关信息。如：HasKeys&nbsp;只读，指定&nbsp;cookie&nbsp;是否包含关键字。<BR>&nbsp;&nbsp;&nbsp;如果客户端浏览器发送了两个同名的&nbsp;cookie,那么&nbsp;Request.Cookie&nbsp;将返回其中路径结构较深的一个。例如，如果有两个同名的的&nbsp;cookie，但其中一个的路径属性为&nbsp;/www/&nbsp;而另一个为&nbsp;/www/home/，客户端浏览器同时将两个&nbsp;cookie&nbsp;都发送到&nbsp;/www/home/&nbsp;目录中，那么&nbsp;Request.Cookie&nbsp;将只返回第二个&nbsp;cookie。<BR><BR>案例分析：<BR><BR>◆&nbsp;num.asp（通过留在本地磁盘上的cookie记录一年内访问本站的次数，第一次显示“首次访问”，以后显示“第几次访问”）<BR>&lt;%<BR>dim&nbsp;num<BR>num=request.cookies("visitnum")<BR>if&nbsp;num&nbsp;&gt;&nbsp;"0"&nbsp;then<BR>num=num+1<BR>Response.write&nbsp;"您已是第"&amp;num&amp;"次访问本站点了。"<BR>else<BR>Response.write&nbsp;"欢迎您首次访问本站。"<BR>num=1<BR>end&nbsp;if<BR>response.cookies("visitnum")=num<BR>response.cookies("visitnum").expires=date+365<BR>%&gt;&nbsp;<BR><BR>◆&nbsp;showcookie.asp（从Cookies文件夹中遍历出浏览器所有的Cookie&nbsp;name，以及相关的字典Cookie的显示（蓝字显示））<BR>&lt;%<BR>For&nbsp;each&nbsp;cookie&nbsp;in&nbsp;Request.Cookies<BR>if&nbsp;Request.cookies(cookie).HasKeys&nbsp;=false&nbsp;then<BR>Response.write&nbsp;cookie&nbsp;&amp;&nbsp;"="&nbsp;&amp;&nbsp;Request.Cookies(cookie)<BR>Response.write&nbsp;("<BR>")&nbsp;<BR>Else<BR>for&nbsp;each&nbsp;key&nbsp;in&nbsp;Request.Cookies(cookie)<BR>Response.write&nbsp;("&lt;font&nbsp;color=blue&gt;")<BR>Response.write&nbsp;cookie&nbsp;&amp;&nbsp;".("&amp;key&amp;")"&nbsp;&amp;&nbsp;"="&nbsp;&amp;&nbsp;Request.Cookies(cookie)(key)<BR>Response.write&nbsp;("&lt;/font&gt;<BR>")<BR>next<BR>end&nbsp;if<BR>next<BR>%&gt;&nbsp;<BR><BR>◆&nbsp;&nbsp;check.asp<BR>'首先，设置页面。然后，检查表单变量（在同一个页面中）。如果表单变量存在，就创建cookie，并设置到期时间。<BR>&lt;%@&nbsp;LANGUAGE="VBSCRIPT"&nbsp;%&gt;<BR>&lt;%&nbsp;<BR>bgcolor&nbsp;=&nbsp;Request.form("bgcolor")<BR>fgcolor&nbsp;=&nbsp;Request.form("fgcolor")<BR>pwd&nbsp;=&nbsp;Request.form("pwd")<BR><BR>If&nbsp;bgcolor&nbsp;&lt;&gt;""&nbsp;or&nbsp;fgcolor&nbsp;&lt;&gt;""&nbsp;then<BR>Response.cookies("check")("bgcolor")&nbsp;=&nbsp;bgcolor<BR>Response.Cookies("check")("fgcolor")&nbsp;=&nbsp;fgcolor<BR>Response.Cookies("check")("pwd")&nbsp;=&nbsp;pwd<BR>Response.Cookies("check").Expires=#may&nbsp;01,&nbsp;2004#<BR>End&nbsp;if<BR>'接着，读取cookie<BR>bgcolor&nbsp;=&nbsp;request.cookies("check")("bgcolor")<BR>fgcolor&nbsp;=&nbsp;request.cookies("check")("fgcolor")<BR>pwd&nbsp;=&nbsp;request.cookies("check")("pwd")<BR>'如果cookie在访问者的计算机上不存在，就创建一个表单，询问相关信息<BR>If&nbsp;bgcolor&nbsp;=""&nbsp;and&nbsp;fgcolor&nbsp;=""&nbsp;and&nbsp;pwd=""&nbsp;then<BR>%&gt;<BR>&lt;HTML&gt;&nbsp;<BR>&lt;HEAD&gt;&nbsp;&lt;/HEAD&gt;<BR>&lt;body&gt;<BR>&lt;DIV&nbsp;ALIGN="CENTER"&nbsp;&gt;<BR>&lt;form&nbsp;action="check.asp"&nbsp;method="POST"&gt;<BR>Bgcolor:&nbsp;&lt;input&nbsp;type="text"&nbsp;name="bgcolor"&gt;&lt;BR&gt;<BR>Fgcolor:&nbsp;&lt;input&nbsp;type="text"&nbsp;name="fgcolor"&gt;&lt;BR&gt;<BR>Password:&lt;input&nbsp;type="password"&nbsp;name="pwd"&gt;&lt;BR&gt;<BR>&nbsp;&nbsp;&nbsp;&lt;input&nbsp;type="submit"&nbsp;value="/Submit"&gt;<BR>&lt;/form&gt;<BR>&lt;/DIV&gt;<BR>&lt;/BODY&gt;<BR>&lt;%<BR>End&nbsp;if<BR>'如果cookie已经存在，并且bgcolor存在，就跳转到color.asp。&nbsp;<BR>If&nbsp;bgcolor&nbsp;&lt;&gt;&nbsp;""&nbsp;then<BR>Response.Redirect&nbsp;"color.asp"<BR>End&nbsp;if<BR>%&gt;<BR>◆&nbsp;&nbsp;color.asp（显示用户爱好颜色的页面特性）<BR>&lt;%<BR>bgcolor=request.cookies("check")("bgcolor")<BR>fgcolor=request.cookies("check")("fgcolor")<BR>pwd=request.cookies("check")("pwd")<BR>%&gt;<BR>&lt;%response.write("&lt;body&nbsp;bgcolor="&amp;bgcolor&amp;"&gt;&lt;font&nbsp;color="&amp;fgcolor&amp;"&gt;")%&gt;<BR>你的密码是：<BR>&lt;%response.write("&nbsp;"&amp;pwd&amp;"&nbsp;")%&gt;&nbsp;<BR> …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_293.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 10:50:15 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=293</comments>
	</item>

	<item>
	<title>2005年全国计算机等级考试二级C考试大纲</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_292.htm</link>
	<description><![CDATA[<STRONG>公共基础知识 </STRONG>
<P><STRONG>&nbsp;&nbsp;&nbsp; <FONT color=#0000ff>基本要求 </FONT></STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.掌握算法的基本概念。</P>
<P>&nbsp;&nbsp;&nbsp; 2.掌握基本数据结构及其操作。</P>
<P>&nbsp;&nbsp;&nbsp; 3.掌握基本排序和查找算法。</P>
<P>&nbsp;&nbsp;&nbsp; 4.掌握逐步求精的结构化程序设计方法。</P>
<P>&nbsp;&nbsp;&nbsp; 5.掌握软件工程的基本方法，具有初步应用相关技术进行软件开发的能力。</P>
<P>&nbsp;&nbsp;&nbsp; 6.掌握数据库的基本知识，了解关系数据库的设计。 </P>
<P>&nbsp;&nbsp;&nbsp; <STRONG><FONT color=#0000ff>考试内容</FONT></STRONG></P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>一、基本数据结构与算法</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.算法的基本概念；算法复杂度的概念和意义（时间复杂度与空间复杂度）。</P>
<P>&nbsp;&nbsp;&nbsp; 2.数据结构的定义；数据的逻辑结构与存储结构；数据结构的图形表示；线性结构与非线性结构的概念。</P>
<P>&nbsp;&nbsp;&nbsp; 3.线性表的定义；线性表的顺序存储结构及其插入与删除运算。</P>
<P>&nbsp;&nbsp;&nbsp; 4.栈和队列的定义；栈和队列的顺序存储结构及其基本运算。</P>
<P>&nbsp;&nbsp;&nbsp; 5.线性单链表、双向链表与循环链表的结构及其基本运算。</P>
<P>&nbsp;&nbsp;&nbsp; 6.树的基本概念；二叉树的定义及其存储结构；二叉树的前序、中序和后序遍历。</P>
<P>&nbsp;&nbsp;&nbsp; 7.顺序查找与二分法查找算法；基本排序算法（交换类排序，选择类排序，插入类排序）。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>二、程序设计基础</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.程序设计方法与风格。</P>
<P>&nbsp;&nbsp;&nbsp; 2.结构化程序设计。</P>
<P>&nbsp;&nbsp;&nbsp; 3.面向对象的程序设计方法，对象，方法，属性及继承与多态性。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>三、软件工程基础</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.软件工程基本概念，软件生命周期概念，软件工具与软件开发环境。</P>
<P>&nbsp;&nbsp;&nbsp; 2.结构化分析方法，数据流图，数据字典，软件需求规格说明书。</P>
<P>&nbsp;&nbsp;&nbsp; 3.结构化设计方法，总体设计与详细设计。</P>
<P>&nbsp;&nbsp;&nbsp; 4.软件测试的方法，白盒测试与黑盒测试，测试用例设计，软件测试的实施，单元测试、集成测试和系统测试。</P>
<P>&nbsp;&nbsp;&nbsp; 5.程序的调试，静态调试与动态调试。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>四、数据库设计基础</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.数据库的基本概念：数据库，数据库管理系统，数据库系统。</P>
<P>&nbsp;&nbsp;&nbsp; 2.数据模型，实体联系模型及E-R图，从E-R图导出关系数据模型。</P>
<P>&nbsp;&nbsp;&nbsp; 3.关系代数运算，包括集合运算及选择、投影、连接运算，数据库规范化理论。</P>
<P>&nbsp;&nbsp;&nbsp; 4.数据库设计方法和步骤：需求分析、概念设计、逻辑设计和物理设计的相关策略。</P>
<P>&nbsp;&nbsp;&nbsp;<STRONG><FONT color=#0000ff> 考试方式</FONT></STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.公共基础知识的考试方式为笔试，与C语言程序设计（C++语言程序设计、Java语言程序设计、Visual Basic语言程序设计、Visual FoxPro数据库程序设计或Access数据库程序设计）的笔试部分合为一张试卷。公共基础知识部分占全卷的30分。</P>
<P>&nbsp;&nbsp;&nbsp; 2.公共基础知识有10道选择题和5道填空题。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG><FONT color=#0000ff>基本要求</FONT></STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.熟悉TURBO C集成环境。</P>
<P>&nbsp;&nbsp;&nbsp; 2.熟练掌握结构化程序设计的方法，具有良好的程序设计风格。</P>
<P>&nbsp;&nbsp;&nbsp; 3.掌握程序设计中简单的数据结构和算法。</P>
<P>&nbsp;&nbsp;&nbsp; 4.TURBO C的集成环境下，能够编写简单的C程序，并具有基本的纠错和调试程序的能力。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG><FONT color=#0000ff>考试内容</FONT></STRONG></P>
<P><STRONG>&nbsp;&nbsp;&nbsp; 一、C语言的结构</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.程序的构成，MAIN函数和其他函数。</P>
<P>&nbsp;&nbsp;&nbsp; 2.头文件，数据说明，函数的开始和结束标志。</P>
<P>&nbsp;&nbsp;&nbsp; 3.源程序的书写格式。</P>
<P>&nbsp;&nbsp;&nbsp; 4.C语言的风格。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>二、数据类型及其运算</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.C的数据类型（基本类型、构造类型、指针类型、空类型）及其定义方法。</P>
<P>&nbsp;&nbsp;&nbsp; 2.C运算符的种类、运算优先级和结合性。</P>
<P>&nbsp;&nbsp;&nbsp; 3.不同类型数据间的转换与运算。</P>
<P>&nbsp;&nbsp;&nbsp; 4.C表达式类型（赋值表达式，算术表达式，关系表达式，逻辑表达式，条件表达式，逗号表达式）和求值规则。</P>
<P></P><BR>&nbsp;&nbsp;&nbsp; <STRONG>三、基本语句</STRONG> 
<P></P>
<P>&nbsp;&nbsp;&nbsp; 1.表达式语句，空语句，复合语句。</P>
<P>&nbsp;&nbsp;&nbsp; 2.数据的输入与输出，输入输出函数的调用。</P>
<P>&nbsp;&nbsp;&nbsp; 3.复合语句。</P>
<P>&nbsp;&nbsp;&nbsp; 4.GOTO语句和语句标号的使用。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>四、选择结构程序设计</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.用IF语句实现选择结构。</P>
<P>&nbsp;&nbsp;&nbsp; 2.用SWITCH语句实现多分支选择结构。</P>
<P>&nbsp;&nbsp;&nbsp; 3.选择结构的嵌套。</P>
<P>&nbsp;&nbsp;&nbsp;<STRONG> 五、循环结构程序设计</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.FOR循环结构。</P>
<P>&nbsp;&nbsp;&nbsp; 2.WHILE和DO WHILE循环结构。</P>
<P>&nbsp;&nbsp;&nbsp; 3.CONTINUE语句和BREAK语句。</P>
<P>&nbsp;&nbsp;&nbsp; 4.循环的嵌套。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>六、数组的定义和引用</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.一维数组和多维数组的定义、初始化和引用。</P>
<P>&nbsp;&nbsp;&nbsp; 2.字符串与字符数组。</P>
<P>&nbsp;&nbsp;&nbsp; <STRONG>七、函数</STRONG></P>
<P>&nbsp;&nbsp;&nbsp; 1.库函数的正确调用。</P>
<P>&nbsp;&nbsp;&nbsp; 2.函数的定义方法。</P>
<P>&nbsp;&nbsp;&nbsp; 3..函数的类型和返回值。</P>
<P>&nbsp;&nbsp;&nbsp; 4.形式参数与实在参数，参数值的传递。</P>
<P>&nbsp;&nbsp;&nbsp; 5.函数的正确调用，嵌套调用，递归调用。</P>
<P>&nbsp;&nbsp;&nbsp; 6.局部变量和全局变量。</P>
<P>&nbsp;&nbsp;&nbsp; 7.变量的存储类别（自动，静态，寄存器，外部），变量的作用域和生存期。</P>
<P>&nbsp;&nbsp;&nbsp; 8.内部函数与外部函数。</P> …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_292.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 10:47:49 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=292</comments>
	</item>

	<item>
	<title>2005年全国计算机等级考试二级VB考试大纲</title>
	<link>http://www.yiyuan129.com//articleview/2006-11-22/article_view_291.htm</link>
	<description><![CDATA[公共基础知识部分30分<BR><BR>专业语言部分 70分<BR><BR><FONT size=2><FONT color=#0000ff><STRONG>基本要求</STRONG> <BR><BR></FONT>1. 熟悉Visual Basic集成开发环境。 <BR><BR>2. 了解Visual Basic中对象的概念和事件驱动程序的基本特性。 <BR><BR>3. 了解简单的数据结构和算法。 <BR><BR>4. 能够编写和调试简单的Visual Basic程序。 <BR><BR></FONT><FONT size=2><FONT color=#0000ff><STRONG>考试内容 <BR></STRONG></FONT><BR>一、 Visual Basic程序开发环境 <BR><BR>1. Visual Basic的特点和版本。 <BR><BR>2. Visual Basic的启动与退出。 <BR><BR>3. 主窗口： <BR><BR>（1） 标题和菜单。 <BR><BR>（2） 工具栏。 <BR><BR>4. 其它窗口： <BR><BR>（1）窗体设计器和工程资源管理器。 <BR><BR>（2）属性窗口和工具箱窗口。 <BR><BR>二、对象及其操作 <BR><BR>1.对象： <BR><BR>（1）Visual Basic的对象。 <BR><BR>（2）对象属性设置。 <BR><BR>2.箱体： <BR><BR>（1）窗体的结构与属性。 <BR><BR>（2）窗体事件。 <BR><BR>3.控件： <BR><BR>（1）标准控件。 <BR><BR>（2）控件的命名和控件值。 <BR><BR>4.控件的画法和基本操作。 <BR><BR>5.事件驱动。 <BR><BR>三、数据类型及运算 <BR><BR>1.数据类型： <BR><BR>（1）基本数据类型。 <BR><BR>（2）用户定义的数据类型。 <BR><BR>（3）枚举类型。 <BR><BR>2.常量和变量： <BR><BR>（1）局部变量和全局变量。 <BR><BR>（2）变体类型变量。 <BR><BR>（3）缺省声明。 <BR><BR>3常用内部函数。 <BR><BR>4.运算符和表达式： <BR><BR>（1）算术运算符。 <BR><BR>（2）关系运算符和逻辑运算符。 <BR><BR>（3）表达式的执行顺序。 <BR><BR>四.数据输入输出 <BR><BR>1.数据输出： <BR><BR>（1）Print方法。 <BR><BR>（2）与Print方法有关的函数（Tab、Spc、Space $）。 <BR><BR>（3）格式输出（Format $）。 <BR><BR>2.InputBox函数。 <BR><BR>3.MsgBox函数和MsgBox语句。 <BR><BR>4.字形。 <BR><BR>5.打印机输出： <BR><BR>（1）直接输出。 <BR><BR>（2）窗体输出。 <BR><BR>五、常用标准控件 <BR><BR>1.文本控件： <BR><BR>（1）标签。 <BR><BR>（2）文本框。 <BR><BR>2.图形控件： <BR><BR>（1）图片框、图象框的属性、事件和方法。 <BR><BR>（2）图形文件的装入。 <BR><BR>（3）直线和形状。 <BR><BR>3.按钮控件。 <BR><BR>4.选择控件：复选框和单选按钮。 <BR><BR>5.选择控件：列表框和组合框。 </FONT>
<P><FONT size=2></P><BR><BR>6.滚动条。 <BR><BR>7.记时器。 <BR><BR>8.框架。 <BR><BR>9.焦点和Tab顺序。 <BR><BR>六、控制结构 <BR><BR>1.选择结构： <BR><BR>（1）单行结构条件语句。 <BR><BR>（2）块结构条件语句。 <BR><BR>（3）IIf函数。 <BR><BR>2.多分支结构。 <BR><BR>3.For循环控制结构。 <BR><BR>4.当循环控制结构。 <BR><BR>5.Do 循环控制结构。 <BR><BR>6.多重循环。 <BR><BR>7.GoTo型控制： <BR><BR>（1）GoTo语句 <BR><BR>（2）On-GoTo语句。 <BR><BR>七、数组 <BR><BR>1.数组的概念： <BR><BR>（1）数组的定义。 <BR><BR>（2）静态数组和动态数组。 <BR><BR>2.数组的基本操作： <BR><BR>（1）数组元素的输入、输出和复制。 <BR><BR>（2）ForEach…Next语句。 <BR><BR>（3）数组的初始化。 <BR><BR>3.控件数组。 <BR><BR>八、过程 <BR><BR>1.Sub过程： <BR><BR>（1）Sub过程的建立。 <BR><BR>（2）调用Sub过程。 <BR><BR>（3）调用过程和事件过程。 <BR><BR>2.Funtion过程： <BR><BR>（1）Funtion过程的定义。 <BR><BR>（2）调用Funtion过程。 <BR><BR>3.参数传送： <BR><BR>（1）形参与实参。 <BR><BR>（2）引用。 <BR><BR>（3）传值。 <BR><BR>（4）数组参数的传送。 <BR><BR>4.可选参数和可变参数。 <BR><BR>5.对象参数： <BR><BR>（1）窗体参数。 <BR><BR>（2）控件参数。 <BR><BR>九、菜单和对话框 <BR><BR>1.用菜单编辑器建立菜单。 <BR><BR>2.菜单项的控制： <BR><BR>（1）有效性控制。 <BR><BR>（2）菜单项标记。 <BR><BR>（3）键盘选择。 <BR><BR>3.菜单项的增减。 <BR><BR>4.弹出式对话框。 <BR><BR>5.通用对话框。 <BR><BR>6.文件对话框。 <BR><BR>7.其它对话框（颜色、字体、打印对话框）。 <BR><BR>十、多重窗体与环境应用 <BR><BR>1. 建立多重窗体程序。 <BR><BR>2. 多重窗体程序的执行与保存 <BR><BR>3. Visual Basic工程结构： <BR><BR>（1）标准模块 <BR><BR>（2）窗体模块。 <BR><BR>（3）SubMain过程。 <BR><BR>4.闲置循环与DoEvents语句。 <BR><BR>十一、键盘与鼠标事件过程 <BR><BR>1. KeyPress事件。 <BR><BR>2. KeyDown事件和KeyUp事件。 <BR><BR>3. 鼠标事件。 <BR><BR>4. 鼠标光标。 <BR><BR>5. 拖放。 <BR><BR>十二、数据文件 <BR><BR>1. 文件的结构与分类。 <BR><BR>2. 文件操作语句和函数。 <BR><BR>3. 顺序文件： <BR><BR>（1）顺序文件的写操作。 <BR><BR>（2）顺序文件的读操作。 <BR><BR>4. 随机文件。 <BR><BR>（1） 随机文件的打开与读写操作。 <BR><BR>（2） 随机文件中记录的添加与删除。 <BR><BR>（3） 用控件显示和修改随机文件。 <BR><BR>5. 文件系统控件： <BR><BR>（1） 动器列表框和目录列表框。 <BR><BR>（2） 文件列表框。 <BR><BR>6. 文件基本操作。 <BR><BR></FONT><FONT size=2><FONT color=#0000ff><STRONG>考试方式 </STRONG><BR></FONT><BR>1. 笔试：90分钟。 <BR><BR>2. 上机操作：90分钟。 <BR><BR></FONT><FONT size=2><FONT color=#0000ff><STRONG>上机操作包括：</STRONG> <BR></FONT><BR>（1） 基本操作。 <BR><BR>（2） 简单应用。 <BR><BR>（3） 综合应用。</FONT>  …… [<a href="http://www.yiyuan129.com//articleview/2006-11-22/article_view_291.htm">点击查看详细</a>] ]]></description>
	<pubDate>Wed, 22 Nov 2006 10:47:19 GMT</pubDate>
	<comments>http://www.yiyuan129.com/review.asp?articleid=291</comments>
	</item>

</channel>
</rss>
