<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[个人博客]]></title>
<link><![CDATA[http://zhenggc.cc/]]></link>
<description><![CDATA[创造机会的人是勇者；等待机会的人是愚者]]></description>
<language><![CDATA[]]></language>
<copyright><![CDATA[Copyright 个人博客]]></copyright>
<webMaster><![CDATA[zgc123@gmail.com]]></webMaster>
<generator><![CDATA[QBlog v1.4.0]]></generator>
<image>
	<title><![CDATA[个人博客]]></title>
	<url><![CDATA[http://zhenggc.cc/Common/Images/Logo.png]]></url>
	<link><![CDATA[http://zhenggc.cc/]]></link>
	<description><![CDATA[创造机会的人是勇者；等待机会的人是愚者]]></description>
</image>
<item>
	<link><![CDATA[http://zhenggc.cc/article/67.aspx]]></link>
	<title><![CDATA[sqlserver查询excel]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2026/1/15 15:54:06</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/67.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;SELECT *&amp;nbsp;&lt;/p&gt;&lt;p&gt;FROM OPENROWSET(&amp;#39;Microsoft.ACE.OLEDB.12.0&amp;#39;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;#39;Excel 8.0;Database=E:\file\2026-01\2026年1月12日.xlsx;Extended Properties=Excel 8.0&amp;#39;,&lt;/p&gt;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;#39;SELECT * FROM [sheet1$]&amp;#39;)&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/66.aspx]]></link>
	<title><![CDATA[勒索病毒防范措施]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2025/11/20 2:22:06</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/66.aspx]]></guid>
	<description><![CDATA[&lt;h1 style=&quot;margin: 0px; padding: 0px; font-size: 20px; color: rgb(34, 34, 34);&quot;&gt;勒索病毒防范措施&lt;/h1&gt;&lt;p class=&quot;titBar&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; color: rgb(153, 153, 153);&quot;&gt;发布日期：2021-06-11 浏览次数：9971 发布者：&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;“勒索病毒风靡全球，病毒肆虐，让企业和单位，包括个人蒙受损失，让大家闻风色变，俗话说：“兵来将挡水来土掩”，病毒虽然猖獗，但是大家平时做好安全防护措施，增加安全意识，不要轻易打开陌生的邮件，包括广告内容，及时更新系统和打系统漏洞补丁，还有使用移动存储设备的时候，要升级病毒库，查杀U盘。在使用移动存储设备，先查杀，后使用原则，做好以下措施，感染勒索病毒或者其他变异病毒，概率会大大降低。大家养成良好的操作习惯。以下是防范勒索病毒措施；&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(0, 176, 80); font-size: 16pt;&quot;&gt;Windows客户端和服务器端同样适用。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;”&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 22pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217025142708301264.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;一、病毒定义：&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;勒索病毒，是一种新型&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E7%94%B5%E8%84%91%E7%97%85%E6%AF%92/141560&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(19, 110, 194); font-size: 16pt;&quot;&gt;电脑病毒&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;，主要以邮件、程序木马、网页挂马的形式进行传播。该病毒性质恶劣、危害极大，一旦感染将给用户带来无法估量的损失。这种病毒利用各种加密算法对文件进行加密，被感染者一般无法解密，必须拿到解密的私钥才有可能破解。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217042339187015650.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;2017年12月13日，“勒索病毒”入选国家语言资源监测与研究中心发布的“2017年度中国媒体十大新词语”。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;从2018年初到9月中旬，勒索病毒总计对超过200万台终端发起过攻击，攻击次数高达1700万余次，且整体呈上升趋势。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;二、传播途径：&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;勒索病毒文件一旦进入本地，就会自动运行，同时删除勒索软件样本，以躲避查杀和分析。接下来，勒索病毒利用本地的互联网访问权限连接至黑客的C&amp;amp;C服务器，进而上传本机信息并下载加密私钥与公钥，利用私钥和公钥对文件进行加密。除了病毒开发者本人，其他人是几乎不可能解密。加密完成后，还会修改壁纸，在桌面等明显位置生成勒索提示文件，指导用户去缴纳赎金。且变种类型非常快，对常规的&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E6%9D%80%E6%AF%92%E8%BD%AF%E4%BB%B6&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(0, 0, 0); font-size: 16pt;&quot;&gt;杀毒软件&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;都具有免疫性。攻击的样本以exe、js、wsf、vbe等类型为主，对常规依靠特征检测的安全产品是一个极大的挑战。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;通过漏洞发起的攻击占攻击总数的87.7%。由于win7、xp等老旧系统存在大量无法及时修复的漏洞，而政府、企业、学校、医院等局域网机构用户使用较多的恰恰是win7、xp等老旧系统，因此也成为病毒攻击的重灾区，病毒可以通过漏洞在局域网中无限传播。相反，win10系统因为强制更新，几乎不受漏洞攻击的影响。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;通过邮件与广告推广的攻击分别为7.4%、3.9%。虽然这两类传播方式占比较少，但对于有收发邮件、网页浏览需求的企业而言，依旧会受到威胁。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;此外，对于某些特别依赖U盘、记录仪办公的局域网机构用户来说，外设则成为勒索病毒攻击的特殊途径。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;三、攻击对象：&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;勒索病毒一般分两种攻击对象，一部分针对企业用户(如xtbl，wallet)，一部分针对所有用户。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;四、病毒规律：&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;该类型病毒的目标性强，主要以邮件为传播方式。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;勒索病毒文件一旦被用户点击打开，会利用连接至&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E9%BB%91%E5%AE%A2&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(19, 110, 194); font-size: 16pt;&quot;&gt;黑客&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;的C&amp;amp;C&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E6%9C%8D%E5%8A%A1%E5%99%A8&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(19, 110, 194); font-size: 16pt;&quot;&gt;服务器&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;，进而上传本机&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E4%BF%A1%E6%81%AF&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(19, 110, 194); font-size: 16pt;&quot;&gt;信息&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;并下载加密公钥和私钥。然后，将加密公钥私钥写入到注册表中，遍历本地所有&lt;/span&gt;&lt;a href=&quot;https://baike.baidu.com/item/%E7%A3%81%E7%9B%98&quot; style=&quot;text-decoration-line: none; outline: none; color: rgb(85, 85, 85);&quot;&gt;&lt;span class=&quot;15&quot; style=&quot;font-family: 仿宋; color: rgb(19, 110, 194); font-size: 16pt;&quot;&gt;磁盘&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;中的Office 文档、图片等文件，对这些文件进行格式篡改和加密;加密完成后，还会在桌面等明显位置生成勒索提示文件，指导用户去缴纳赎金。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;该类型病毒可以导致重要文件无法读取，关键数据被损坏，给用户的正常工作带来了极为严重的影响。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;五、病毒分析&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;一般勒索病毒，运行流程复杂，且针对关键数据以加密函数的方式进行隐藏。以下为APT沙箱分析到样本载体的关键行为。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;1、调用加密算法库。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;2、通过脚本文件进行Http请求。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;3、通过脚本文件下载文件。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;4、读取远程服务器文件。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;5、通过wscript执行文件。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;6、收集计算机信息。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;7、遍历文件。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;六、病毒防御&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;1：关闭服务进程（杜绝445端口）&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;开始菜单-》控制面板-》管理工具-》服务-》Server,点击禁止，然后启动类型选择禁用。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217053299566514883.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;2：注册表关闭勒索病毒服务&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;开始菜单-》运行-》REGEDIT&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters新建DWORD键值，数值数据填写为0，基数选择十六进制，确定即可。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217061111234257454.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;3：开启防火墙，防微杜渐过滤危险端口&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;开始菜单-》控制面板-》管理工具-》高级安全Windows Defender防火墙-》入站规则-》-》新建规则-》端口-》TCP-》特定本地端口-》阻止连接-》（域和专用还有公用）-》下一步-》名称和描述（比如135 &amp;amp; 135端口过滤阻止），其他端口过滤同上方法。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;4：组策略安全设置ip安全策略&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;开始菜单-》运行-》gpedit.msc,打开本地组策略编辑器。依次展开“计算机配置---windows设置---安全设置---ip安全策略，在本地计算机”&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217070491865229270.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;以关闭139端口为例（其他端口操作相同）：&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;在本地组策略编辑器右边空白处&amp;nbsp;右键单击鼠标，选择“创建IP安全策略”，弹出IP安全策略向导对话框，单击下一步；在出现的对话框中的名称处写“关闭端口”（可随意填写），点击下一步；对话框中的“激活默认响应规则”选项不要勾选，然后单击下一步；勾选“编辑属性”，单击完成。在出现的“关闭端口 属性”对话框中，选择“规则”选项卡，去掉“使用添加向导”前边的勾后，单击“添加”按钮。在出现的“关闭端口 属性”对话框中，选择“规则”选项卡，去掉“使用 添加向导”前边的勾后，单击“添加”按钮。出现添加对话框，名称出填“封端口”（可随意填写），去掉“使用添加向导”前边的勾后，单击右边的“添加”按钮. 在出现的“IP筛选器属性”对话框中，选择“地址”选项卡，“源地址”选择“任何”，“目标地址”选择“我的IP地址”；&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217117339005386521.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;选择“协议”选项卡，各项设置如图片中所示。设置好后点击“确定”。 返回到“ip筛选器列表”，点击“确定”。返回到“新规则 属性”对话框&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;在ip筛选器列表中选择刚才添加的“封端口”，然后选择“筛选器操作”选项卡，，去掉“使用 添加向导”前面的勾，单击“添加”按钮&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;在“筛选器操作 属性”中，选择“安全方法”选项卡，选择“阻止”选项；在“常规”选项卡中，对该操作命名，点确定.&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;选中刚才新建的“新建1”，单击关闭，返回到“关闭端口属性“对话框，确认“IP安全规则”中 封端口 规则被选中后，单击 确定。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-align: center; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;img src=&quot;/ueditor/net/upload/image/20251120/6389920217129872868115000.png&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;在组策略编辑器中，可以看到刚才新建的“关闭端口”规则，选中它并单击鼠标右键，选择“分配”选项，使该规则开始应用！&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32pt; vertical-align: baseline;&quot;&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;到此，大功告成，同样的方法你可以添加对任何你想限制访问的端口的规则。&lt;/span&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class=&quot;p&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; padding: 0px; text-indent: 32.15pt; vertical-align: baseline;&quot;&gt;&lt;strong&gt;&lt;span style=&quot;font-family: 仿宋; color: rgb(51, 51, 51); font-size: 16pt;&quot;&gt;“综上所述：增加个人网络安全意识，养成良好的上网习惯和日常操作习惯，安装杀毒软件和防火墙，升级病毒库，定期全盘杀毒，及时打系统漏洞补丁。定时做好数据备份，把重要数据加密转移到安全的存储介质上，比如云盘和移动硬盘。不要安装过多的应用软件，不要轻易打开陌生的电子邮件，不要点击陌生人给你发送的链接地址，不要访问不知名的网站，不要点击广告内容，使用移动存储设备，先查杀，后使用。”&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/65.aspx]]></link>
	<title><![CDATA[修改服务器远程端口]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2025/11/20 2:20:27</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/65.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;Windows Registry Editor Version 5.00&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]&lt;/p&gt;&lt;p&gt;&amp;quot;PortNumber&amp;quot;=dword:0000c1f7&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]&lt;/p&gt;&lt;p&gt;&amp;quot;PortNumber&amp;quot;=dword:0000c1f7&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/62.aspx]]></link>
	<title><![CDATA[2023-12-28 医保接口更新]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2023/12/28 15:17:22</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/62.aspx]]></guid>
	<description><![CDATA[加密内容。]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/60.aspx]]></link>
	<title><![CDATA[门诊医生站安装包下载]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2023/11/22 23:42:08</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/60.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;&lt;a&gt;&lt;/a&gt;&lt;a href=&quot;http://zhenggc.cc/attach/202009/30172322-mzysz_setup地方版本20200419_6.0.0.460.exe&quot;&gt;mzysz_setup地方版本20200419_6.0.0.460.exe下载&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://zhenggc.cc/attach/202009/30172138-电子病历一键安装20200103.rar&quot; target=&quot;_self&quot;&gt;电子病历一键安装下载&lt;/a&gt;&lt;/p&gt;&lt;p&gt;电子病历20231219 新版下载&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, 微软雅黑, Tahoma, Arial, sans-serif; font-size: 14px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;a href=&quot;http://zhenggc.cc/myyunpan/Share.aspx?code=prGbCbjNNgNHMKoU&quot;&gt; 电子病历20231219 新版下载&lt;/a&gt; 提取码：fpao&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, 微软雅黑, Tahoma, Arial, sans-serif; font-size: 14px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, 微软雅黑, Tahoma, Arial, sans-serif; font-size: 14px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, 微软雅黑, Tahoma, Arial, sans-serif; font-size: 14px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;电子病历系统一键安装20250117&lt;a href=&quot;/uploadfiles/files/20250117054416.rar&quot; target=&quot;_blank&quot; title=&quot;电子病历系统下载&quot;&gt;&lt;strong&gt;电子病历系统下载&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;Helvetica Neue&amp;quot;, Helvetica, &amp;quot;PingFang SC&amp;quot;, 微软雅黑, Tahoma, Arial, sans-serif; font-size: 14px; text-wrap: wrap; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;20250117&lt;/span&gt;版本电子病历下载，新增功能，中医，西医首页增加转归情况。&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/RADStudio1042.aspx]]></link>
	<title><![CDATA[RAD Studio 10.4.2 绿色版]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2021/2/27 21:26:32</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/RADStudio1042.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;一、绿色版介绍&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;绿色版为完全版，没做任何的精简，也没有做任何的改动！&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;color:#DC143C&quot;&gt;绿色版不含任何破解，仅供研究，24小时后请自行删除，如需继续使用RAD&amp;nbsp;Studio，请购买正版。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;二、绿色版文件包说明&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;绿色版共包含4个文件包，分别为：&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;dotnetfx45_full_x86_x64.exe：Microsoft&amp;nbsp;.NET&amp;nbsp;Framework&amp;nbsp;4.5，必选&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;绿色版.7z：基础包，必选&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;PlatformSDKs.7z：Android&amp;nbsp;SDK、Android&amp;nbsp;NDK，可选&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;RAD&amp;nbsp;Studio&amp;nbsp;10.4&amp;nbsp;Green&amp;nbsp;1.4.rar：绿化程序，必选&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;三、绿色版使用说明&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;1.安装Microsoft&amp;nbsp;.NET&amp;nbsp;Framework&amp;nbsp;4.5，只安装一次即可，Windows&amp;nbsp;10已自带，可以跳过此步&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;2.解压RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;绿色版.7z到任意目录&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;3.解压RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;PlatformSDKs.7z解压到绿色版的Extra目录(10.4\Extra\CatalogRepository\)&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;4.解压RAD&amp;nbsp;Studio&amp;nbsp;10.4&amp;nbsp;Green&amp;nbsp;1.4.rar解压到绿色版目录下(10.4\RADStudioSydneyGreen.exe)&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;5.运行RADStudioSydneyGreen.exe可实现绿化和卸载&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;四、下载地址&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;Microsoft&amp;nbsp;.NET&amp;nbsp;Framework&amp;nbsp;4.5&amp;nbsp;官方下载地址：&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;下载地址：&lt;/span&gt;&lt;img src=&quot;/ueditor/net/upload/image/20210228/6375013931970307824735760.gif&quot;/&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe&quot; style=&quot;text-decoration-line: none; color: rgb(51, 51, 51); font-family: 宋体; font-size: 12px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;http://download.microsoft.com/download/b/a/4/ba4a7e71-2906-4b2d-a0e1-80cf16844f5f/dotnetfx45_full_x86_x64.exe&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;绿色版.7z(3.69GB，解压后26.2GB)&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;下载地址：https://pan.baidu.com/s/1xmMoFKEt--Kud7_6lB7Dgg&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;提取码：je3q&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;MD5:&amp;nbsp;7C078BC1C78DE33A70F76D98A193E8F6&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;SHA1:&amp;nbsp;37F43F18E57FA6B5C8245169C2D024A26B047998&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&amp;nbsp;PlatformSDKs.7z(2.31GB，解压后5.91GB)&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;下载地址：https://pan.baidu.com/s/1TdS9B2t4ymcwrRQwqZKBiw&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;提取码：40w3&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;MD5:&amp;nbsp;34DD02D1EDE2BF62580C76F424E72C2F&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;SHA1:&amp;nbsp;ED3C5D4E35DAB4E8B8ED07582317A042734719E2&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;RAD&amp;nbsp;Studio&amp;nbsp;10.4&amp;nbsp;Green&amp;nbsp;1.4.rar(965KB)&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;下载地址：https://pan.baidu.com/s/1_YYv2QiQRJRXolH1u80bsg&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;提取码：0tod&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;MD5:&amp;nbsp;837FF4733D85FF4F7C77B803804AEC32&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;SHA1:&amp;nbsp;5F81CFE8BB39A4F983A63C64050ACCAFE86193AF&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;RAD&amp;nbsp;Studio&amp;nbsp;10.4&amp;nbsp;Green&amp;nbsp;Update&amp;nbsp;History&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;-1.4&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;支持RAD&amp;nbsp;Studio&amp;nbsp;10.4.2&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;-1.3&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;支持RAD&amp;nbsp;Studio&amp;nbsp;10.4.1&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;-1.2&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修正部分环境变量路径错误&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;-1.1&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修正关联文件路径错误&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修正帮助文件路径错误&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;修正卸载会连同10.3一起卸载的错误&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;-1.0&lt;/span&gt;&lt;br/&gt;&lt;span style=&quot;font-family: 宋体; font-size: 12px; background-color: rgb(255, 255, 255);&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RAD&amp;nbsp;Studio&amp;nbsp;10.4&amp;nbsp;绿化程序第一版&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color: rgb(0, 0, 0); font-family: 宋体; font-size: 12px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial; display: inline !important; float: none;&quot;&gt;https://cloud.189.cn/t/RjmmEnZJfqqa&amp;nbsp;(访问码:9g8i)&amp;nbsp;天翼云盘&lt;/span&gt;&lt;/p&gt;&lt;p&gt;转自:&lt;a&gt;&lt;/a&gt;http://bbs.2ccc.com/topic.asp?topicid=605673&lt;a&gt;&lt;/a&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/55.aspx]]></link>
	<title><![CDATA[Page.ClientScript.RegisterStartupScript不执行问题【转】]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/12/17 17:31:03</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/55.aspx]]></guid>
	<description><![CDATA[&lt;p style=&quot;margin: 10px auto; color: rgb(0, 0, 102); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;c#后台使用Page.ClientScript.RegisterStartupScript在前台注册一段脚本提示，发现没有效果，寻寻觅觅，终于从度娘处找到了原因：&lt;/p&gt;&lt;p style=&quot;margin: 10px auto; color: rgb(0, 0, 102); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;该页面多次使用到了Page.ClientScript.RegisterStartupScript(Type type, string key, string script)&lt;/p&gt;&lt;p style=&quot;margin: 10px auto; color: rgb(0, 0, 102); font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;问题就出在了参数key上，同一页面会按顺序执行Page.ClientScript.RegisterStartupScript(Type type, string key, string script)，如果key都为空或为相同的值，则会只执行第一个脚本，所以后面的就失效了。&lt;/p&gt;&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;Page.ClientScript.RegisterStartupScript(this.GetType(),&amp;nbsp;&amp;quot;alertsuccess&amp;quot;,&amp;nbsp;&amp;quot;&amp;lt;script&amp;nbsp;language=&amp;#39;javascript&amp;#39;&amp;gt;SendSuccess();&amp;lt;/script&amp;gt;&amp;quot;);&lt;/pre&gt;&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;&amp;nbsp;&amp;nbsp;///&amp;nbsp;&amp;lt;summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;///&amp;nbsp;显示消息提示对话框
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;///&amp;nbsp;&amp;lt;/summary&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;///&amp;nbsp;&amp;lt;param&amp;nbsp;name=&amp;quot;page&amp;quot;&amp;gt;当前页面指针，一般为this&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;///&amp;nbsp;&amp;lt;param&amp;nbsp;name=&amp;quot;msg&amp;quot;&amp;gt;提示信息&amp;lt;/param&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;Show(System.Web.UI.Page&amp;nbsp;page,&amp;nbsp;string&amp;nbsp;msg)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//由于可能频繁调用，增加随机因子&amp;nbsp;2020-12-17
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Random&amp;nbsp;rnd&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Random(1200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;page.ClientScript.RegisterStartupScript(page.GetType(),&amp;nbsp;&amp;quot;message&amp;quot;&amp;nbsp;+&amp;nbsp;rnd.Next().ToString()&amp;nbsp;+&amp;nbsp;rnd.Next().ToString(),&amp;nbsp;&amp;quot;&amp;lt;script&amp;nbsp;language=&amp;#39;javascript&amp;#39;&amp;nbsp;defer&amp;gt;alert(&amp;#39;&amp;quot;&amp;nbsp;+&amp;nbsp;msg.ToString()&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;#39;);&amp;lt;/script&amp;gt;&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;p&gt;转自：&lt;a href=&quot;https://www.cnblogs.com/wufeng123/p/4459542.html&quot;&gt;https://www.cnblogs.com/wufeng123/p/4459542.html&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/54.aspx]]></link>
	<title><![CDATA[【转】bootstrap输入验证]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/12/4 14:26:09</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/54.aspx]]></guid>
	<description><![CDATA[&lt;p style=&quot;margin: 10px auto; padding: 0px; line-height: 1.5; font-size: 13px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;下载并复制bootstrap验证css以及js到项目&lt;/p&gt;&lt;p style=&quot;margin: 10px auto; padding: 0px; line-height: 1.5; font-size: 13px; font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; white-space: normal; background-color: rgb(255, 255, 255);&quot;&gt;创建自己的验证myValidater.js：&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false&quot;&gt;function&amp;nbsp;validate(form)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;validateObj&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;This&amp;nbsp;value&amp;nbsp;is&amp;nbsp;not&amp;nbsp;valid&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;feedbackIcons:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;valid:&amp;nbsp;&amp;#39;glyphicon&amp;nbsp;glyphicon-ok&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;invalid:&amp;nbsp;&amp;#39;glyphicon&amp;nbsp;glyphicon-remove&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validating:&amp;nbsp;&amp;#39;glyphicon&amp;nbsp;glyphicon-refresh&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},&amp;nbsp;fields:&amp;nbsp;{}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(数组,&amp;nbsp;&amp;nbsp;方法(下标，对象){});
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$.each(form.find(&amp;quot;input&amp;quot;),&amp;nbsp;function&amp;nbsp;(i,&amp;nbsp;item)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fields:{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;userName:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;用户名验证失败&amp;#39;,&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;notEmpty:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;用户名不能为空&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;obj&amp;nbsp;=&amp;nbsp;{};&amp;nbsp;//存放验证规则
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj.message&amp;nbsp;=&amp;nbsp;$(item).attr(&amp;quot;name&amp;quot;)&amp;nbsp;+&amp;nbsp;&amp;quot;必须填写&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;validators&amp;nbsp;=&amp;nbsp;{&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(typeof&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;))&amp;nbsp;==&amp;nbsp;&amp;quot;undefined&amp;quot;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;xiaoXi=$(item).parents(&amp;quot;div.form-group&amp;quot;).find(&amp;quot;label&amp;quot;).text();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//非空验证
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;notEmpty&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.notEmpty&amp;nbsp;=&amp;nbsp;{&amp;nbsp;message:&amp;nbsp;xiaoXi+&amp;quot;不能为空&amp;quot;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//数字
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;numeric&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.numeric&amp;nbsp;=&amp;nbsp;{&amp;nbsp;message:xiaoXi+&amp;quot;必须是数字&amp;quot;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;&amp;nbsp;长度
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLength:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;min:&amp;nbsp;6,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;max:&amp;nbsp;18,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;用户名长度必须在6到18位之间&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;stringLength&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str&amp;nbsp;=&amp;nbsp;$(item).attr(&amp;quot;myValidate&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//2,10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;val&amp;nbsp;=&amp;nbsp;str.substring(str.indexOf(&amp;quot;(&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;stringLength&amp;quot;))&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;str.indexOf(&amp;quot;)&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;stringLength&amp;quot;)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;stringLen&amp;nbsp;=&amp;nbsp;{};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;min&amp;quot;]&amp;nbsp;=&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;max&amp;quot;]&amp;nbsp;=&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[1];
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen.message&amp;nbsp;=xiaoXi&amp;nbsp;+&amp;nbsp;&amp;quot;长度必须为&amp;quot;&amp;nbsp;+&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[0]&amp;nbsp;+&amp;nbsp;&amp;quot;到&amp;quot;&amp;nbsp;+&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[1]&amp;nbsp;+&amp;nbsp;&amp;quot;之间&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.stringLength&amp;nbsp;=&amp;nbsp;stringLen;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//长度必须几位
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;size&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str&amp;nbsp;=&amp;nbsp;$(item).attr(&amp;quot;myValidate&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//2,10
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;val&amp;nbsp;=&amp;nbsp;str.substring(str.indexOf(&amp;quot;(&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;size&amp;quot;))&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;str.indexOf(&amp;quot;)&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;size&amp;quot;)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;stringLen&amp;nbsp;=&amp;nbsp;{};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;min&amp;quot;]&amp;nbsp;=&amp;nbsp;val;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;max&amp;quot;]&amp;nbsp;=&amp;nbsp;val;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen.message&amp;nbsp;=xiaoXi&amp;nbsp;+&amp;nbsp;&amp;quot;长度必须为&amp;quot;&amp;nbsp;+&amp;nbsp;val+&amp;nbsp;&amp;quot;位&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.stringLength&amp;nbsp;=&amp;nbsp;stringLen;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regexp:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;regexp:&amp;nbsp;/^[a-zA-Z0-9_]+$/,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;用户名只能包含大写、小写、数字和下划线&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;nameregexp&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;reg&amp;nbsp;=&amp;nbsp;{};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg.regexp&amp;nbsp;=&amp;nbsp;/^[a-zA-Z0-9_\.]+$/;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;reg.message&amp;nbsp;=xiaoXi+&amp;quot;必须为数字或者下划线，不能为特殊字符&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.regexp&amp;nbsp;=&amp;nbsp;reg;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;邮箱
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp;emailAddress:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;邮箱地址格式有误&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;email&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.emailAddress&amp;nbsp;=&amp;nbsp;{&amp;nbsp;message:&amp;nbsp;&amp;quot;电子邮箱地址不正确&amp;quot;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//网址
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;uri&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.uri&amp;nbsp;=&amp;nbsp;{&amp;nbsp;allowLocal:&amp;nbsp;&amp;quot;true&amp;quot;,&amp;nbsp;message:&amp;nbsp;&amp;quot;Uri地址格式不正确&amp;quot;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//两次输入的密码不一致
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;identical:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;field:&amp;nbsp;&amp;#39;password&amp;#39;,&amp;nbsp;//需要进行比较的input&amp;nbsp;name值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;两次密码不一致&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;identical&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str&amp;nbsp;=&amp;nbsp;$(item).attr(&amp;quot;myValidate&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;val&amp;nbsp;=&amp;nbsp;str.substring(str.indexOf(&amp;quot;(&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;identical&amp;quot;))&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;str.indexOf(&amp;quot;)&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;identical&amp;quot;)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.identical&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;field:&amp;nbsp;val,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;密码和重复密码不一致&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;年龄
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;ages&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;val&amp;nbsp;=&amp;nbsp;str.substring(str.indexOf(&amp;quot;(&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;ages&amp;quot;))&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;str.indexOf(&amp;quot;)&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;ages&amp;quot;)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;stringLen&amp;nbsp;=&amp;nbsp;{};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;min&amp;quot;]&amp;nbsp;=&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;stringLen[&amp;quot;max&amp;quot;]&amp;nbsp;=&amp;nbsp;val.split(&amp;quot;,&amp;quot;)[1];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;age&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lessThan:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value:&amp;nbsp;stringLen[1],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inclusive:&amp;nbsp;true,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;年龄最高&amp;#39;+stringLen[1]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;greaterThan:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;value:&amp;nbsp;stringLen[0],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;inclusive:&amp;nbsp;false,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;年龄最小&amp;#39;+stringLen[0]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.ages&amp;nbsp;=&amp;nbsp;age;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//remote&amp;nbsp;ajax验证，验证是否存在
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remote:&amp;nbsp;{//ajax验证。server&amp;nbsp;result:{&amp;quot;valid&amp;quot;,true&amp;nbsp;or&amp;nbsp;false}&amp;nbsp;向服务发送当前input&amp;nbsp;name值，获得一个json数据。例表示正确：{&amp;quot;valid&amp;quot;,true}&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;&amp;#39;exist2.do&amp;#39;,//验证地址
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;&amp;#39;用户已存在&amp;#39;,//提示消息
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;nbsp;&amp;#39;POST&amp;#39;//请求方式
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/**自定义提交数据，默认值提交当前input&amp;nbsp;value
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*&amp;nbsp;&amp;nbsp;data:&amp;nbsp;function(validator)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;password:&amp;nbsp;$(&amp;#39;[name=&amp;quot;passwordNameAttributeInYourForm&amp;quot;]&amp;#39;).val(),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;whatever:&amp;nbsp;$(&amp;#39;[name=&amp;quot;whateverNameAttributeInYourForm&amp;quot;]&amp;#39;).val()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;remote(地址.action,&amp;nbsp;input=id=主键的值)&amp;nbsp;&amp;nbsp;&amp;nbsp;新增：员工登录名.action?empNo=0&amp;amp;empName=姓名
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;($(item).attr(&amp;quot;myValidate&amp;quot;).indexOf(&amp;quot;remote&amp;quot;)&amp;nbsp;!=&amp;nbsp;-1)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;str&amp;nbsp;=&amp;nbsp;$(item).attr(&amp;quot;myValidate&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;val&amp;nbsp;=&amp;nbsp;str.substring(str.indexOf(&amp;quot;(&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;remote&amp;quot;))&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;str.indexOf(&amp;quot;)&amp;quot;,&amp;nbsp;str.indexOf(&amp;quot;remote&amp;quot;)));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;arr=val.split(&amp;quot;,&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//向远程服务器发送的值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;cust_data={};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//主键如果有就取值，如果没有就为0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cust_data[arr[1]]=$(&amp;quot;#&amp;quot;+arr[1]).val()&amp;nbsp;||&amp;nbsp;0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//name=&amp;quot;empName&amp;quot;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cust_data[$(item).attr(&amp;quot;name&amp;quot;)]=$(item).val();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validators.remote&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;type:&amp;#39;POST&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url:&amp;nbsp;arr[0],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:cust_data,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;message:&amp;nbsp;xiaoXi+&amp;#39;已经存在!&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;obj.validators&amp;nbsp;=&amp;nbsp;validators;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validateObj.fields[$(item).attr(&amp;quot;name&amp;quot;)]&amp;nbsp;=&amp;nbsp;obj;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;form.bootstrapValidator(validateObj);
}&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;在页面中导入验证的css和js：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush:html;toolbar:false&quot;&gt;&amp;lt;!--&amp;nbsp;bootstrapvalidator的css&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;link&amp;nbsp;href=&amp;quot;${pageContext.request.contextPath&amp;nbsp;}/static/plugins/bootstrapvalidator/bootstrapValidator.min.css&amp;quot;&amp;nbsp;rel=&amp;quot;stylesheet&amp;quot;&amp;gt;&amp;lt;!--&amp;nbsp;bootstrapvalidator的js&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;${pageContext.request.contextPath&amp;nbsp;}/static/plugins/bootstrapvalidator/bootstrapValidator.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;${pageContext.request.contextPath&amp;nbsp;}/static/plugins/bootstrapvalidator/language/zh_CN.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;${pageContext.request.contextPath&amp;nbsp;}/static/plugins/bootstrapvalidator/myValidater.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;在input标签中：&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;brush:html;toolbar:false&quot;&gt;&amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;id=&amp;quot;startTime&amp;quot;&amp;nbsp;name=&amp;quot;startTime&amp;quot;&amp;nbsp;&amp;nbsp;myValidater=&amp;quot;notEmpty&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;class=&amp;quot;form-control&amp;nbsp;form_datetime&amp;quot;&amp;nbsp;placeholder=&amp;quot;请选择日期&amp;quot;&amp;nbsp;/&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;在javascript中：&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false&quot;&gt;&amp;nbsp;&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$(function(){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//bootstrapvalidator验证
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;validate(&amp;nbsp;$(&amp;quot;form&amp;quot;)&amp;nbsp;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;});&lt;/pre&gt;&lt;p&gt;转自：https://www.cnblogs.com/by-1642146903/articles/7143596.html&lt;span style=&quot;font-family: &amp;quot;PingFang SC&amp;quot;, &amp;quot;Microsoft YaHei&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, Arial, sans-serif; font-size: 13px; background-color: rgb(255, 255, 255);&quot;&gt;&lt;/span&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/53.aspx]]></link>
	<title><![CDATA[【转】bootstrap 轮播图片]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/11/27 16:41:01</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/53.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:html;toolbar:false&quot;&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;title&amp;gt;Bootstrap&amp;nbsp;实例&amp;lt;/title&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;meta&amp;nbsp;charset=&amp;quot;utf-8&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;meta&amp;nbsp;name=&amp;quot;viewport&amp;quot;&amp;nbsp;content=&amp;quot;width=device-width,&amp;nbsp;initial-scale=1&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;link&amp;nbsp;rel=&amp;quot;stylesheet&amp;quot;&amp;nbsp;href=&amp;quot;https://cdn.staticfile.org/twitter-bootstrap/4.3.1/css/bootstrap.min.css&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;https://cdn.staticfile.org/jquery/3.2.1/jquery.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;https://cdn.staticfile.org/popper.js/1.15.0/umd/popper.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;script&amp;nbsp;src=&amp;quot;https://cdn.staticfile.org/twitter-bootstrap/4.3.1/js/bootstrap.min.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;style&amp;gt;
&amp;nbsp;&amp;nbsp;/*&amp;nbsp;Make&amp;nbsp;the&amp;nbsp;image&amp;nbsp;fully&amp;nbsp;responsive&amp;nbsp;*/
&amp;nbsp;&amp;nbsp;.carousel-inner&amp;nbsp;img&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;width:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;height:&amp;nbsp;100%;
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;div&amp;nbsp;id=&amp;quot;demo&amp;quot;&amp;nbsp;class=&amp;quot;carousel&amp;nbsp;slide&amp;quot;&amp;nbsp;data-ride=&amp;quot;carousel&amp;quot;&amp;gt;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;指示符&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;ul&amp;nbsp;class=&amp;quot;carousel-indicators&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;nbsp;data-target=&amp;quot;#demo&amp;quot;&amp;nbsp;data-slide-to=&amp;quot;0&amp;quot;&amp;nbsp;class=&amp;quot;active&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;nbsp;data-target=&amp;quot;#demo&amp;quot;&amp;nbsp;data-slide-to=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;li&amp;nbsp;data-target=&amp;quot;#demo&amp;quot;&amp;nbsp;data-slide-to=&amp;quot;2&amp;quot;&amp;gt;&amp;lt;/li&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/ul&amp;gt;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;轮播图片&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;carousel-inner&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;carousel-item&amp;nbsp;active&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;img&amp;nbsp;src=&amp;quot;https://static.runoob.com/images/mix/img_fjords_wide.jpg&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;carousel-item&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;img&amp;nbsp;src=&amp;quot;https://static.runoob.com/images/mix/img_nature_wide.jpg&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;div&amp;nbsp;class=&amp;quot;carousel-item&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;img&amp;nbsp;src=&amp;quot;https://static.runoob.com/images/mix/img_mountains_wide.jpg&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/div&amp;gt;
&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;lt;!--&amp;nbsp;左右切换按钮&amp;nbsp;--&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;nbsp;class=&amp;quot;carousel-control-prev&amp;quot;&amp;nbsp;href=&amp;quot;#demo&amp;quot;&amp;nbsp;data-slide=&amp;quot;prev&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;carousel-control-prev-icon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/a&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;a&amp;nbsp;class=&amp;quot;carousel-control-next&amp;quot;&amp;nbsp;href=&amp;quot;#demo&amp;quot;&amp;nbsp;data-slide=&amp;quot;next&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;span&amp;nbsp;class=&amp;quot;carousel-control-next-icon&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;lt;/a&amp;gt;
&amp;nbsp;
&amp;lt;/div&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;&lt;p&gt;转载：https://www.runoob.com/try/try.php?filename=trybs4_carousel&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/52.aspx]]></link>
	<title><![CDATA[卓越his专用后台划价服务版]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/9/28 11:36:54</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/52.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;&lt;img src=&quot;/Common/ueditornew/net/upload/image/20201009/6373784127989028917417213.png&quot; title=&quot;28113914-QQ截图20200928113746.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/Common/ueditornew/net/upload/image/20201009/6373784127989028917417213.png&quot; title=&quot;28113914-QQ截图20200928113603.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;/Common/ueditornew/net/upload/image/20201009/6373784127989419537417213.png&quot; title=&quot;28113914-QQ图片20200928113456.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;后台划价服务版程序，需要。netframwork4.0。&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/50.aspx]]></link>
	<title><![CDATA[delphi 服务管理单元]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/8/9 18:51:15</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/50.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:delphi;toolbar:false&quot;&gt;unit&amp;nbsp;Unit_SvcMgr;

interface

uses
&amp;nbsp;&amp;nbsp;Windows,SysUtils,SvcMgr,Registry,ADODB,Classes,StrUtils,ActiveX,WinSvc,IniFiles;

type

&amp;nbsp;&amp;nbsp;TINIReader=class(TObject)
&amp;nbsp;&amp;nbsp;private
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FReader:TIniFile;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceName,FInstanceData,FInstanceLog:&amp;nbsp;string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FPort:&amp;nbsp;string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceApp:string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;GetLogName:string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;GetAppPath:&amp;nbsp;string;
&amp;nbsp;&amp;nbsp;public
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;constructor&amp;nbsp;Create(const&amp;nbsp;FileName:string);overload;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destructor&amp;nbsp;Destroy;override;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;AppPath:string&amp;nbsp;read&amp;nbsp;GetAppPath;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;InstanceName:string&amp;nbsp;read&amp;nbsp;FInstanceName;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;InstanceApp:string&amp;nbsp;read&amp;nbsp;FInstanceApp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;InstanceData:string&amp;nbsp;read&amp;nbsp;FInstanceData;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;InstanceLog:string&amp;nbsp;read&amp;nbsp;FInstanceLog;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;Port:string&amp;nbsp;read&amp;nbsp;FPort;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;property&amp;nbsp;LogName:string&amp;nbsp;read&amp;nbsp;GetLogName;
&amp;nbsp;&amp;nbsp;end;

&amp;nbsp;&amp;nbsp;TLsSvcCenter&amp;nbsp;=&amp;nbsp;class(TService)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure&amp;nbsp;ServiceStart(Sender:&amp;nbsp;TService;&amp;nbsp;var&amp;nbsp;Started:&amp;nbsp;Boolean);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure&amp;nbsp;ServiceStop(Sender:&amp;nbsp;TService;&amp;nbsp;var&amp;nbsp;Stopped:&amp;nbsp;Boolean);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;procedure&amp;nbsp;ServiceCreate(Sender:&amp;nbsp;TObject);
&amp;nbsp;&amp;nbsp;private
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FHProcess:THandle;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceName,FCommandLine:string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;Private&amp;nbsp;declarations&amp;nbsp;}
&amp;nbsp;&amp;nbsp;public
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;GetServiceController:&amp;nbsp;TServiceController;&amp;nbsp;override;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;Public&amp;nbsp;declarations&amp;nbsp;}
&amp;nbsp;&amp;nbsp;end;

const
&amp;nbsp;&amp;nbsp;_MDACVersion=&amp;#39;数据访问组件版本:&amp;#39;;
&amp;nbsp;&amp;nbsp;_InstanceName=&amp;#39;数据库当前实例名:&amp;#39;;
&amp;nbsp;&amp;nbsp;_ListenPort=&amp;#39;数据服务访问端口:&amp;#39;;
&amp;nbsp;&amp;nbsp;_ServiceCaption=&amp;#39;服务信息&amp;#39;;
&amp;nbsp;&amp;nbsp;_ServiceName=&amp;#39;LsSvcCenter&amp;#39;;
&amp;nbsp;&amp;nbsp;_ServiceDisplayName=&amp;#39;Ls&amp;nbsp;Service&amp;nbsp;Manager&amp;#39;;
&amp;nbsp;&amp;nbsp;_SectionName=&amp;#39;ServerCnfg&amp;#39;;
&amp;nbsp;&amp;nbsp;_DefaultLocalTestConnStr=&amp;#39;Provider=SQLOLEDB.1;Persist&amp;nbsp;Security&amp;nbsp;Info=True;User&amp;nbsp;ID=sa;Initial&amp;nbsp;Catalog=master;Data&amp;nbsp;Source=127.0.0.1,&amp;#39;;
&amp;nbsp;&amp;nbsp;
var
&amp;nbsp;&amp;nbsp;LsSvcCenter:&amp;nbsp;TLsSvcCenter;

implementation

{$R&amp;nbsp;*.DFM}

{&amp;nbsp;TINIReader&amp;nbsp;}

function&amp;nbsp;FileNameToLong(const&amp;nbsp;AFileName:&amp;nbsp;string):&amp;nbsp;string;
var
&amp;nbsp;&amp;nbsp;Buf:&amp;nbsp;PChar;
&amp;nbsp;&amp;nbsp;BufSize:&amp;nbsp;Integer;
begin
&amp;nbsp;&amp;nbsp;BufSize&amp;nbsp;:=&amp;nbsp;GetShortPathName(PChar(AFileName),&amp;nbsp;nil,&amp;nbsp;0)&amp;nbsp;+&amp;nbsp;1;
&amp;nbsp;&amp;nbsp;GetMem(Buf,&amp;nbsp;BufSize);
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetShortPathName(PChar(AFileName),&amp;nbsp;Buf,&amp;nbsp;BufSize);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result&amp;nbsp;:=&amp;nbsp;Buf;
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeMem(Buf);
&amp;nbsp;&amp;nbsp;end;
end;

constructor&amp;nbsp;TINIReader.Create(const&amp;nbsp;FileName:string);
begin
&amp;nbsp;&amp;nbsp;FReader:=TIniFile.Create(FileName);
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceApp:=FileNameToLong(AppPath+&amp;#39;BINN\&amp;#39;)+&amp;#39;sqlservr.exe&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceData:=FileNameToLong(AppPath+&amp;#39;DATA\&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceLog:=FileNameToLong(AppPath+&amp;#39;LOG\&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceName:=FReader.ReadString(_SectionName,&amp;#39;InstanceName&amp;#39;,&amp;#39;LSSOFT&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FPort:=FReader.ReadString(_SectionName,&amp;#39;Port&amp;#39;,&amp;#39;17717&amp;#39;);
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FReader);
&amp;nbsp;&amp;nbsp;end;
end;

destructor&amp;nbsp;TINIReader.Destroy;
begin
&amp;nbsp;&amp;nbsp;inherited;
end;

function&amp;nbsp;TINIReader.GetAppPath:&amp;nbsp;string;
begin
&amp;nbsp;&amp;nbsp;Result:=ExtractFilePath(ParamStr(0));
end;

function&amp;nbsp;TINIReader.GetLogName:&amp;nbsp;string;
begin
&amp;nbsp;&amp;nbsp;Result:=AppPath+&amp;#39;LOG\Log.TXT&amp;#39;;
end;

procedure&amp;nbsp;WriteLog(S:&amp;nbsp;string);
var
&amp;nbsp;&amp;nbsp;FHandle:&amp;nbsp;THandle;
&amp;nbsp;&amp;nbsp;i:&amp;nbsp;integer;
begin
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FHandle&amp;nbsp;:=&amp;nbsp;CreateFile(PChar(ExtractFilePath(ParamStr(0))+&amp;#39;Log.txt&amp;#39;),&amp;nbsp;GENERIC_WRITE,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;nil,&amp;nbsp;OPEN_EXISTING,&amp;nbsp;FILE_ATTRIBUTE_NORMAL,&amp;nbsp;0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(FHandle&amp;nbsp;=&amp;nbsp;0)&amp;nbsp;or&amp;nbsp;(FHandle&amp;nbsp;=&amp;nbsp;INVALID_HANDLE_VALUE)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FHandle&amp;nbsp;:=&amp;nbsp;CreateFile(PChar(ExtractFilePath(ParamStr(0))+&amp;#39;Log.txt&amp;#39;),&amp;nbsp;GENERIC_WRITE,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;nil,&amp;nbsp;CREATE_ALWAYS,&amp;nbsp;FILE_ATTRIBUTE_NORMAL,&amp;nbsp;0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(FHandle&amp;nbsp;=&amp;nbsp;0)&amp;nbsp;or&amp;nbsp;(FHandle&amp;nbsp;=&amp;nbsp;INVALID_HANDLE_VALUE)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetFilePointer(FHandle,&amp;nbsp;0,&amp;nbsp;nil,&amp;nbsp;FILE_END);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;s&amp;nbsp;:=&amp;nbsp;FormatDateTime(&amp;#39;yyyy-mm-dd&amp;nbsp;hh:nn:ss&amp;nbsp;&amp;#39;,&amp;nbsp;NOW)+s&amp;nbsp;+&amp;nbsp;#13#10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteFile(FHandle,&amp;nbsp;s[1],&amp;nbsp;Length(s),&amp;nbsp;LongWord(i),&amp;nbsp;nil);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseHandle(FHandle);
&amp;nbsp;&amp;nbsp;except
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;GetMDACVersion:&amp;nbsp;string;
var
&amp;nbsp;&amp;nbsp;RegReader:TRegistry;
begin
&amp;nbsp;&amp;nbsp;RegReader:=TRegistry.Create;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegReader.RootKey:=HKEY_LOCAL_MACHINE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegReader.OpenKey(&amp;#39;SOFTWARE\Microsoft\DataAccess&amp;#39;,False);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=RegReader.ReadString(&amp;#39;FullInstallVer&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RegReader.CloseKey;
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(RegReader);
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;InstallService(const&amp;nbsp;ServiceName,DisplayName:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Mgr,Svc:integer;
begin
&amp;nbsp;&amp;nbsp;Mgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;if&amp;nbsp;Mgr&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Svc:=WinExec(PChar(&amp;#39;sc&amp;nbsp;create&amp;nbsp;&amp;#39;+ServiceName+&amp;#39;&amp;nbsp;binpath=&amp;nbsp;&amp;quot;&amp;#39;+ExtractFilePath(ParamStr(0))+&amp;#39;LsServer.exe&amp;quot;&amp;#39;+&amp;#39;&amp;nbsp;start=&amp;nbsp;auto&amp;nbsp;DisplayName=&amp;nbsp;&amp;quot;&amp;#39;+DisplayName+&amp;#39;&amp;quot;&amp;#39;),SW_HIDE);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=Svc&amp;gt;31;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Mgr);
&amp;nbsp;&amp;nbsp;end&amp;nbsp;else&amp;nbsp;Result:=False;
end;

function&amp;nbsp;StopService(const&amp;nbsp;ServiceName:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Mgr,&amp;nbsp;Svc:&amp;nbsp;Integer;
&amp;nbsp;&amp;nbsp;SvcState:TServiceStatus;
begin
&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Mgr&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Svc&amp;nbsp;:=&amp;nbsp;OpenService(Mgr,&amp;nbsp;PChar(ServiceName),&amp;nbsp;SERVICE_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Svc&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;QueryServiceStatus(Svc,SvcState)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SvcState.dwCurrentState=SERVICE_RUNNING&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ControlService(Svc,SERVICE_CONTROL_STOP,SvcState);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Svc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Mgr);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;except&amp;nbsp;on&amp;nbsp;E:Exception&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLog(E.Message);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;_StartService(const&amp;nbsp;ServiceName:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Mgr,&amp;nbsp;Svc:&amp;nbsp;Integer;
&amp;nbsp;&amp;nbsp;SAV:PChar;
&amp;nbsp;&amp;nbsp;SvcState:TServiceStatus;
begin
&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Mgr&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Svc&amp;nbsp;:=&amp;nbsp;OpenService(Mgr,&amp;nbsp;PChar(ServiceName),&amp;nbsp;SERVICE_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Svc&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;QueryServiceStatus(Svc,SvcState)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SvcState.dwCurrentState=SERVICE_STOPPED&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartService(Svc,0,SAV);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Svc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//如果服务不存在一直安装服务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InstallService(_ServiceName,_ServiceDisplayName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Svc&amp;nbsp;:=&amp;nbsp;OpenService(Mgr,&amp;nbsp;PChar(ServiceName),&amp;nbsp;SERVICE_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Svc&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;QueryServiceStatus(Svc,SvcState)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SvcState.dwCurrentState=SERVICE_STOPPED&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartService(Svc,0,SAV);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Svc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(2000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Mgr);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;except&amp;nbsp;on&amp;nbsp;E:Exception&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLog(E.Message);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;UnInstallService(const&amp;nbsp;ServiceName:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Mgr,&amp;nbsp;Svc:&amp;nbsp;Integer;
&amp;nbsp;&amp;nbsp;SvcState:TServiceStatus;
begin
&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Mgr:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Mgr&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Svc&amp;nbsp;:=&amp;nbsp;OpenService(Mgr,&amp;nbsp;PChar(ServiceName),&amp;nbsp;SERVICE_ALL_ACCESS);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;Svc&amp;lt;&amp;gt;0&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;QueryServiceStatus(Svc,SvcState)&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SvcState.dwCurrentState=SERVICE_RUNNING&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ControlService(Svc,SERVICE_CONTROL_STOP,SvcState);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DeleteService(Svc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Svc);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CloseServiceHandle(Mgr);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;except&amp;nbsp;on&amp;nbsp;E:Exception&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLog(E.Message);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;StartMSSQL(const&amp;nbsp;CommandLine:string;var&amp;nbsp;HProcess:THandle):Boolean;
var
&amp;nbsp;&amp;nbsp;PROCESSINFORMATION:_PROCESS_INFORMATION;
&amp;nbsp;&amp;nbsp;STARTUPINFO:TStartupInfo;
begin
&amp;nbsp;&amp;nbsp;FillChar(STARTUPINFO,&amp;nbsp;SizeOf(STARTUPINFO),&amp;nbsp;0);
&amp;nbsp;&amp;nbsp;STARTUPINFO.cb&amp;nbsp;:=&amp;nbsp;SizeOf(STARTUPINFO);
&amp;nbsp;&amp;nbsp;Result:=CreateProcess(
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nil,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PChar(CommandLine),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nil,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nil,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;True,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CREATE_NO_WINDOW,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nil,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nil,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STARTUPINFO,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PROCESSINFORMATION);
&amp;nbsp;&amp;nbsp;if&amp;nbsp;Result&amp;nbsp;then&amp;nbsp;HProcess:=PROCESSINFORMATION.hProcess;
end;

function&amp;nbsp;SetupServiceDescription(const&amp;nbsp;SvcName,Description:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Reg:TRegistry;
begin
&amp;nbsp;&amp;nbsp;Reg:=TRegistry.Create;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.RootKey:=HKEY_LOCAL_MACHINE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SYSTEM\ControlSet001\Services\&amp;#39;+SvcName+&amp;#39;\&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteString(&amp;#39;Description&amp;#39;,Description);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(Reg);
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;RemoveServiceDescription(const&amp;nbsp;SvcName:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Reg:TRegistry;
begin
&amp;nbsp;&amp;nbsp;Reg:=TRegistry.Create;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.RootKey:=HKEY_LOCAL_MACHINE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SYSTEM\ControlSet001\Services\&amp;#39;+SvcName+&amp;#39;\&amp;#39;,False);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.DeleteValue(&amp;#39;Description&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.DeleteKey(SvcName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(Reg);
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;SetupRegistry(const&amp;nbsp;InstanceName,Port:string):Boolean;
var
&amp;nbsp;&amp;nbsp;Reg:TRegistry;
&amp;nbsp;&amp;nbsp;Buffer:array[0..162]&amp;nbsp;of&amp;nbsp;Char;&amp;nbsp;//ID
begin
&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;Buffer:=&amp;#39;8022c158ae7d4cd750da034b7dc20c80e66110850d0744b9e3148563a&amp;#39;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;6613a257dc2ee02c012f12d040bbad9060549ea11a714aec63d6452c5&amp;#39;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;5e27d82d71307227edf7f0cf15d88d1a1e3222949d7bea02&amp;#39;;
&amp;nbsp;&amp;nbsp;Reg:=TRegistry.Create;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.RootKey:=HKEY_LOCAL_MACHINE;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\MSSQLServer&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\Setup&amp;#39;,True);//不是必需要的,进程会读取该键值
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\MSSQLServer\CurrentVersion&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteBinaryData(&amp;#39;checksum&amp;#39;,Buffer,SizeOf(Buffer));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteString(&amp;#39;CurrentVersion&amp;#39;,&amp;#39;8.00.194&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\MSSQLServer\SuperSocketNetLib&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\MSSQLServer\SuperSocketNetLib\Np&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteString(&amp;#39;PipeName&amp;#39;,&amp;#39;\\.\pipe\MSSQL$&amp;#39;+InstanceName+&amp;#39;\sql\query&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.OpenKey(&amp;#39;SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+InstanceName+&amp;#39;\MSSQLServer\SuperSocketNetLib\Tcp&amp;#39;,True);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteString(&amp;#39;TcpDynamicPorts&amp;#39;,Port);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteInteger(&amp;#39;TcpHideFlag&amp;#39;,0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.WriteString(&amp;#39;TcpPort&amp;#39;,Port);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Reg.CloseKey;

&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(Reg);
&amp;nbsp;&amp;nbsp;end;
end;

function&amp;nbsp;LocalADOTest(const&amp;nbsp;ConnStr,LogName,ServerName:string):&amp;nbsp;Boolean;
var
&amp;nbsp;&amp;nbsp;FADOExec:TADOQuery;
&amp;nbsp;&amp;nbsp;FADOConnection:TADOConnection;
&amp;nbsp;&amp;nbsp;DBList:TStringList;
&amp;nbsp;&amp;nbsp;i,j:integer;
&amp;nbsp;&amp;nbsp;S:string;
&amp;nbsp;&amp;nbsp;function&amp;nbsp;ExtractDBName(S:string):string;
&amp;nbsp;&amp;nbsp;var
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pos:integer;
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pos:=LastDelimiter(&amp;#39;.&amp;#39;,S);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=MidBStr(S,0,Pos-1);
&amp;nbsp;&amp;nbsp;end;

&amp;nbsp;&amp;nbsp;function&amp;nbsp;IsFileUsing(const&amp;nbsp;AName:&amp;nbsp;string):&amp;nbsp;Boolean;
&amp;nbsp;&amp;nbsp;var
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HFileRes:&amp;nbsp;HFILE;
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result&amp;nbsp;:=&amp;nbsp;False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;FileExists(AName)&amp;nbsp;then&amp;nbsp;Exit;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HFileRes&amp;nbsp;:=&amp;nbsp;CreateFile(PCHAR(AName),&amp;nbsp;GENERIC_READ&amp;nbsp;or&amp;nbsp;GENERIC_WRITE,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0,&amp;nbsp;nil,&amp;nbsp;OPEN_EXISTING,&amp;nbsp;FILE_ATTRIBUTE_NORMAL,&amp;nbsp;0);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result&amp;nbsp;:=&amp;nbsp;(HFileRes&amp;nbsp;=&amp;nbsp;INVALID_HANDLE_VALUE);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;Result&amp;nbsp;then&amp;nbsp;CloseHandle(HFileRes);
&amp;nbsp;&amp;nbsp;end;

&amp;nbsp;&amp;nbsp;procedure&amp;nbsp;GetDBList(StringList:TStringList;FileMask:string);
&amp;nbsp;&amp;nbsp;var
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dir:string;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SearchRec:TSearchRec;
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dir:=ExtractFilePath(ParamStr(0))+&amp;#39;UDATA\&amp;#39;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FindFirst(Dir+FileMask,faAnyFile,SearchRec);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;SameText(SearchRec.Name,&amp;#39;&amp;#39;)&amp;nbsp;then&amp;nbsp;StringList.Add(SearchRec.Name);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;FindNext(SearchRec)=0&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringList.Add(SearchRec.Name);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;

begin
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;j:=0;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DBList:=TStringList.Create;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection:=TADOConnection.Create(nil);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec:=TADOQuery.Create(nil);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.LoginPrompt:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.ConnectionString:=ConnStr;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//如果连接失败尝试连接5次
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while&amp;nbsp;True&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Inc(j);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(FADOConnection.Connected)&amp;nbsp;or&amp;nbsp;(j&amp;gt;5)&amp;nbsp;then&amp;nbsp;Break;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(1000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.Open;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;IsFileUsing(LogName)&amp;nbsp;then&amp;nbsp;DeleteFile(LogName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DBList.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;GetDBList(DBList,&amp;#39;*.MDF&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;i:=0&amp;nbsp;to&amp;nbsp;DBList.Count-1&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S:=S+&amp;#39;INSERT&amp;nbsp;INTO&amp;nbsp;sysaltfiles(fileid,groupid,size,maxsize,growth,status,perf,dbid,name,filename)&amp;nbsp;VALUES(1,1,128,-1,10,32770,0,&amp;#39;+InTToStr(i+5)+&amp;#39;,&amp;#39;+QuotedStr(ExtractDBName(DBList[i]))+&amp;#39;,&amp;#39;+QuotedStr(&amp;#39;.\..\&amp;#39;+&amp;#39;UDATA\&amp;#39;+DBList[i])+&amp;#39;)&amp;#39;+#13#10#13#10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S:=S+&amp;#39;INSERT&amp;nbsp;INTO&amp;nbsp;sysaltfiles(fileid,groupid,size,maxsize,growth,status,perf,dbid,name,filename)&amp;nbsp;VALUES(2,0,128,-1,10,49218,0,&amp;#39;+InTToStr(i+5)+&amp;#39;,&amp;#39;+QuotedStr(ExtractDBName(DBList[i])+&amp;#39;_Log&amp;#39;)+&amp;#39;,&amp;#39;+QuotedStr(&amp;#39;.\..\&amp;#39;+&amp;#39;UDATA\&amp;#39;+ExtractDBName(DBList[i])+&amp;#39;_Log.LDF&amp;#39;)+&amp;#39;)&amp;#39;+#13#10#13#10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;S:=S+&amp;#39;INSERT&amp;nbsp;INTO&amp;nbsp;sysdatabases(name,dbid,mode,status,status2,crdate,reserved,category,cmptlevel,filename)&amp;nbsp;VALUES(&amp;#39;+QuotedStr(ExtractDBName(DBList[i]))+&amp;#39;,&amp;#39;+InTToStr(i+5)+&amp;#39;,0,1077936153,1090519040,GETDATE(),1900-1-1,0,80,&amp;#39;+QuotedStr(&amp;#39;.\..\&amp;#39;+&amp;#39;UDATA\&amp;#39;+DBList[i])+&amp;#39;)&amp;#39;+#13#10#13#10;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;USE&amp;nbsp;master&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;exec&amp;nbsp;sp_configure&amp;nbsp;&amp;#39;&amp;#39;allow&amp;nbsp;updates&amp;#39;&amp;#39;,1&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Connection:=FADOConnection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.ExecSQL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;RECONFIGURE&amp;nbsp;WITH&amp;nbsp;OVERRIDE&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Connection:=FADOConnection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.ExecSQL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.BeginTrans;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;DELETE&amp;nbsp;FROM&amp;nbsp;sysdatabases&amp;nbsp;WHERE&amp;nbsp;name&amp;nbsp;NOT&amp;nbsp;IN(&amp;#39;&amp;#39;master&amp;#39;&amp;#39;,&amp;#39;&amp;#39;model&amp;#39;&amp;#39;,&amp;#39;&amp;#39;msdb&amp;#39;&amp;#39;,&amp;#39;&amp;#39;tempdb&amp;#39;&amp;#39;)&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;DELETE&amp;nbsp;FROM&amp;nbsp;sysaltfiles&amp;nbsp;WHERE&amp;nbsp;dbid&amp;gt;=5&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;UPDATE&amp;nbsp;sysservers&amp;nbsp;SET&amp;nbsp;srvname=&amp;#39;+ServerName+&amp;#39;,datasource=&amp;#39;+ServerName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;not&amp;nbsp;SameText(S,&amp;#39;&amp;#39;)&amp;nbsp;then&amp;nbsp;FADOExec.SQL.Add(S);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Connection:=FADOConnection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.ExecSQL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.CommitTrans;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;except&amp;nbsp;on&amp;nbsp;E:Exception&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.RollbackTrans;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLog(E.Message);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;exec&amp;nbsp;sp_configure&amp;nbsp;&amp;#39;&amp;#39;allow&amp;nbsp;updates&amp;#39;&amp;#39;,0&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Connection:=FADOConnection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.ExecSQL;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(200);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Clear;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.SQL.Add(&amp;#39;RECONFIGURE&amp;nbsp;WITH&amp;nbsp;OVERRIDE&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Connection:=FADOConnection;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.ExecSQL;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=True;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOExec.Close;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FADOConnection.Close;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FADOExec);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FADOConnection);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(DBList);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;except&amp;nbsp;on&amp;nbsp;E:Exception&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WriteLog(E.Message);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Result:=False;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;
end;

procedure&amp;nbsp;ServiceController(CtrlCode:&amp;nbsp;DWord);&amp;nbsp;stdcall;
begin
&amp;nbsp;&amp;nbsp;LsSvcCenter.Controller(CtrlCode);
end;

function&amp;nbsp;TLsSvcCenter.GetServiceController:&amp;nbsp;TServiceController;
begin
&amp;nbsp;&amp;nbsp;Result&amp;nbsp;:=&amp;nbsp;ServiceController;
end;

procedure&amp;nbsp;TLsSvcCenter.ServiceStart(Sender:&amp;nbsp;TService;
&amp;nbsp;&amp;nbsp;var&amp;nbsp;Started:&amp;nbsp;Boolean);
var
&amp;nbsp;&amp;nbsp;FINIReader:TINIReader;
begin
&amp;nbsp;&amp;nbsp;FINIReader:=TINIReader.Create(ExtractFilePath(ParamStr(0))+&amp;#39;\Config.INI&amp;#39;);
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FInstanceName:=FINIReader.InstanceName;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;SetCurrentDir(ExtractFilePath(ParamStr(0))+&amp;#39;BINN\&amp;#39;)&amp;nbsp;then&amp;nbsp;//一定要设置当前路径
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetupRegistry(FINIReader.InstanceName,FINIReader.Port);&amp;nbsp;//安装注册表
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(1000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FCommandLine:=FINIReader.InstanceApp+&amp;#39;&amp;nbsp;-c&amp;nbsp;-d&amp;#39;+FINIReader.InstanceData+&amp;#39;master.mdf&amp;#39;+&amp;#39;&amp;nbsp;-l&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+FINIReader.InstanceData+&amp;#39;mastlog.ldf&amp;#39;+&amp;#39;&amp;nbsp;-e&amp;#39;+FINIReader.InstanceLog+&amp;#39;Log.txt&amp;#39;+&amp;#39;&amp;nbsp;-s&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+FINIReader.InstanceName+&amp;#39;&amp;nbsp;Port=&amp;#39;+FINIReader.Port;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StartMSSQL(FCommandLine,FHProcess);&amp;nbsp;//启动服务
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sleep(6000);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//重新启动数据库
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoInitialize(nil);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;LocalADOTest(_DefaultLocalTestConnStr+FINIReader.Port,FINIReader.LogName,QuotedStr(&amp;#39;127.0.0.1&amp;#39;+&amp;#39;,&amp;#39;+FINIReader.Port));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Started:=True;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;//释放对象
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FINIReader);
&amp;nbsp;&amp;nbsp;end;
end;

procedure&amp;nbsp;TLsSvcCenter.ServiceStop(Sender:&amp;nbsp;TService;
&amp;nbsp;&amp;nbsp;var&amp;nbsp;Stopped:&amp;nbsp;Boolean);
begin
&amp;nbsp;&amp;nbsp;//卸载注册表
&amp;nbsp;&amp;nbsp;WinExec(PChar(&amp;#39;REG&amp;nbsp;DELETE&amp;nbsp;&amp;#39;+&amp;#39;&amp;quot;HKLM\SOFTWARE\Microsoft\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\&amp;#39;+FInstanceName+&amp;#39;&amp;quot;&amp;nbsp;/f&amp;#39;),SW_HIDE);
&amp;nbsp;&amp;nbsp;//停止SQLServer服务器
&amp;nbsp;&amp;nbsp;TerminateProcess(FHProcess,1);
&amp;nbsp;&amp;nbsp;//
&amp;nbsp;&amp;nbsp;Stopped:=True;
end;

procedure&amp;nbsp;TLsSvcCenter.ServiceCreate(Sender:&amp;nbsp;TObject);
var
&amp;nbsp;&amp;nbsp;CmdLine:string;
&amp;nbsp;&amp;nbsp;FINIReader:TINIReader;
begin
&amp;nbsp;&amp;nbsp;CmdLine:=ParamStr(1);
&amp;nbsp;&amp;nbsp;if&amp;nbsp;CmdLine=&amp;#39;&amp;#39;&amp;nbsp;then&amp;nbsp;Exit;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;SameText(CmdLine,&amp;#39;/IS&amp;#39;)&amp;nbsp;then&amp;nbsp;&amp;nbsp;//安装服务
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InstallService(_ServiceName,_ServiceDisplayName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SetupServiceDescription(_ServiceName,&amp;#39;LsServer&amp;nbsp;Manager&amp;nbsp;Provider&amp;#39;);
&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;SameText(CmdLine,&amp;#39;/US&amp;#39;)&amp;nbsp;then&amp;nbsp;&amp;nbsp;//卸载服务
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;UnInstallService(_ServiceName);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RemoveServiceDescription(_ServiceName);
&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;SameText(CmdLine,&amp;#39;/SS&amp;#39;)&amp;nbsp;then&amp;nbsp;&amp;nbsp;//停止服务
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StopService(_ServiceName);
&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;SameText(CmdLine,&amp;#39;/LS&amp;#39;)&amp;nbsp;then&amp;nbsp;&amp;nbsp;//启动服务
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_StartService(_ServiceName);
&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;SameText(CmdLine,&amp;#39;/SI&amp;#39;)&amp;nbsp;then&amp;nbsp;&amp;nbsp;//服务信息
&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FINIReader:=TINIReader.Create(ExtractFilePath(ParamStr(0))+&amp;#39;\Config.INI&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox(0,PChar(_MDACVersion+GetMDACVersion+&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;+#13#10+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_InstanceName+FINIReader.InstanceName+&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;+#13#10+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_ListenPort+FINIReader.Port+&amp;#39;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;),_ServiceCaption,MB_OK+MB_ICONINFORMATION);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;FreeAndNil(FINIReader);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;end;
end;

end.&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/45.aspx]]></link>
	<title><![CDATA[sql数据库工具]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/2/14 20:51:26</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/45.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;&amp;nbsp;sql数据库管理工具。&lt;/p&gt;&lt;p&gt;附加、分离、备份、恢复，查询功能。&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/44.aspx]]></link>
	<title><![CDATA[c# 操作ppt]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2020/2/1 12:56:48</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/44.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;.在项目中添加引用&amp;nbsp;Microsoft&amp;nbsp;PowerPoint&amp;nbsp;14.0&amp;nbsp;Object&amp;nbsp;Library2.&amp;nbsp;using&amp;nbsp;Microsoft.Office.Interop.PowerPoint;
1.创建一个PPT，添加一个空白页

Microsoft.Office.Interop.PowerPoint.Application&amp;nbsp;PPT&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Microsoft.Office.Interop.PowerPoint.Application();//创建PPT应用
Microsoft.Office.Interop.PowerPoint.Presentation&amp;nbsp;MyPres&amp;nbsp;=&amp;nbsp;null;//PPT应用的实例
Microsoft.Office.Interop.PowerPoint.Slide&amp;nbsp;MySlide&amp;nbsp;=&amp;nbsp;null;//PPT中的幻灯片


MyPres&amp;nbsp;=&amp;nbsp;PPT.Presentations.Open(&amp;quot;文件路径&amp;quot;,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoTrue);//此处将一个PPT实例给了MyPres

MySlide&amp;nbsp;=&amp;nbsp;MyPres.Slides.Add(1,&amp;nbsp;Microsoft.Office.Interop.PowerPoint.PpSlideLayout.ppLayoutBlank);//像PPT实例中，添加一个空白页，位置是“第一页”

2.向PPT的幻灯片中添加元素

2.1文本框

Microsoft.Office.Interop.PowerPoint.TextRange&amp;nbsp;MyTextRng&amp;nbsp;=&amp;nbsp;null;

MySlide.Shapes.AddTextbox(MsoTextOrientation.msoTextOrientationHorizontal,&amp;nbsp;21.5F,&amp;nbsp;365F,&amp;nbsp;670F,&amp;nbsp;270F);

MyTextRng&amp;nbsp;=&amp;nbsp;MySlide.Shapes[1].TextFrame.TextRange;//请注意此处Shapes的索引，由于文本框是第一个添加的Shapes，所以此处索引是1。

MyTextRng.Font.NameFarEast&amp;nbsp;=&amp;nbsp;&amp;quot;微软雅黑&amp;quot;;//文本框中，中文的字体&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
MyTextRng.Font.NameAscii&amp;nbsp;=&amp;nbsp;&amp;quot;Calibri&amp;quot;;//文本框中，英文和数字的字体&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
MyTextRng.Text&amp;nbsp;=&amp;quot;C#生成PPT&amp;quot;;//显示的内容
MyTextRng.Font.Bold&amp;nbsp;=&amp;nbsp;MsoTriState.msoTrue;//是否加粗
MyTextRng.Font.Color.RGB&amp;nbsp;=&amp;nbsp;A+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;//字体颜色，其中ABC直接用自定义颜色中的数字代替即可。
MyTextRng.Characters(1,&amp;nbsp;10).Font.Size&amp;nbsp;=&amp;nbsp;24;//个性化设计。第1个字符开始，长度为10的字符，字体大小是24.
MyTextRng.ParagraphFormat.Alignment&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft;//文本对齐方式（水平方向）
MySlide.Shapes[1].TextFrame.VerticalAnchor&amp;nbsp;=&amp;nbsp;MsoVerticalAnchor.msoAnchorMiddle;&amp;nbsp;文本对齐方式（垂直方向）


心得：最重要的设置在Font属性中。其他设置，基本可以参考PPT中元素属性的设置方式来找到。比如我在写文本水平对齐方式时（左对齐，居中，右对齐），在PPT中，我们直接点击“段落”中的快捷键即可。所以我就找“段落”的英文，正好Alignment是对齐的意思，所以就找到了。


2.2&amp;nbsp;图形（矩形）

MySlide.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle,&amp;nbsp;8.5F,&amp;nbsp;6.5F,&amp;nbsp;705F,&amp;nbsp;525F);

MySlide.Shapes[1].Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;//改变线条颜色
MySlide.Shapes[1].Fill.Transparency&amp;nbsp;=&amp;nbsp;1;//控制填充色为透明
MySlide.Shapes[1].Line.Style&amp;nbsp;=&amp;nbsp;MsoLineStyle.msoLineSingle;//改变线型里的复合类型
MySlide.Shapes[1].Line.Weight&amp;nbsp;=&amp;nbsp;1F;//改变线粗细
MySlide.Shapes[1].Shadow.Style&amp;nbsp;=&amp;nbsp;MsoShadowStyle.msoShadowStyleOuterShadow;//控制阴影类型
MySlide.Shapes[1].Shadow.ForeColor.RGB&amp;nbsp;=&amp;nbsp;0;//控制阴影颜色
MySlide.Shapes[1].Shadow.Transparency&amp;nbsp;=&amp;nbsp;0.6F;//控制透明度
MySlide.Shapes[1].Shadow.Size&amp;nbsp;=&amp;nbsp;100F;//控制大小
MySlide.Shapes[1].Shadow.Blur&amp;nbsp;=&amp;nbsp;4F;//控制虚化
MySlide.Shapes[1].Shadow.OffsetX&amp;nbsp;=&amp;nbsp;2.1F;//控制距离；
MySlide.Shapes[1].Shadow.OffsetY&amp;nbsp;=&amp;nbsp;2.1F;//与offsetX共同决定角度

心得：基本的一些设置，通过英文就可以辨别。不过有些属性的设置是否与预期一致，需要等图形生成后再进一步确认。


2.3&amp;nbsp;图片

MySlide.Shapes.AddPicture(&amp;quot;文件路径&amp;quot;,&amp;nbsp;MsoTriState.msoFalse,&amp;nbsp;MsoTriState.msoTrue,&amp;nbsp;27F,&amp;nbsp;24F,&amp;nbsp;665F,&amp;nbsp;333F);


2.4&amp;nbsp;表格

Microsoft.Office.Interop.PowerPoint.Table&amp;nbsp;MyTable&amp;nbsp;=&amp;nbsp;null;

MyTable&amp;nbsp;=&amp;nbsp;MySlide.Shapes.AddTable(19,&amp;nbsp;5,&amp;nbsp;40F,&amp;nbsp;100F,&amp;nbsp;10F,&amp;nbsp;10F).Table;//创建时规定的宽和高，不是表格最终的大小。

MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Font.Size&amp;nbsp;=&amp;nbsp;10;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Font.Color.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Font.NameAscii&amp;nbsp;=&amp;nbsp;&amp;quot;Arial&amp;quot;;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Font.NameFarEast&amp;nbsp;=&amp;nbsp;&amp;quot;微软雅黑&amp;quot;;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Font.Bold&amp;nbsp;=&amp;nbsp;MsoTriState.msoTrue;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.ParagraphFormat.Alignment&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignCenter;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.VerticalAnchor&amp;nbsp;=&amp;nbsp;MsoVerticalAnchor.msoAnchorMiddle;
MyTable.Cell(k,&amp;nbsp;j).Shape.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;0;
MyTable.Cell(k,&amp;nbsp;j).Shape.TextFrame.TextRange.Text&amp;nbsp;=&amp;nbsp;&amp;quot;C#生成PPT&amp;quot;;

这里的设置，几乎和文本框的设置一样。只不过需要先选定Cell。一些个性化的设计，比如合并拆分单元格，边框颜色，按照一般的英文意思都能找到。


2.5&amp;nbsp;图表

Microsoft.Office.Interop.PowerPoint.Chart&amp;nbsp;MyChart&amp;nbsp;=&amp;nbsp;null;//图表
Microsoft.Office.Interop.PowerPoint.ChartData&amp;nbsp;MyChartData&amp;nbsp;=&amp;nbsp;null;//图表的数据源
Microsoft.Office.Interop.PowerPoint.Axis&amp;nbsp;MyYvalaxis&amp;nbsp;=&amp;nbsp;null;//图表的纵坐标
Microsoft.Office.Interop.PowerPoint.Axis&amp;nbsp;MyXvalaxis&amp;nbsp;=&amp;nbsp;null;//图表的横坐标
Microsoft.Office.Interop.PowerPoint.DataLabels&amp;nbsp;MyDataLabels&amp;nbsp;=&amp;nbsp;null;//图表的数据标签
Microsoft.Office.Interop.PowerPoint.Series&amp;nbsp;MySeries&amp;nbsp;=&amp;nbsp;null;//数据系列
Microsoft.Office.Interop.PowerPoint.ChartGroups&amp;nbsp;MyChartGroups&amp;nbsp;=&amp;nbsp;null;//数据系列-系列选项
Microsoft.Office.Interop.PowerPoint.Points&amp;nbsp;MyPoints&amp;nbsp;=&amp;nbsp;null;&amp;nbsp;//数据系列


MyChart&amp;nbsp;=&amp;nbsp;MySlide.Shapes.AddChart(Microsoft.Office.Core.XlChartType.xlColumnClustered,&amp;nbsp;35F,&amp;nbsp;205F,&amp;nbsp;642F,&amp;nbsp;227F).Chart;//添加柱形图

MyChartData&amp;nbsp;=&amp;nbsp;MyChart.ChartData;//实例化数据源

Microsoft.Office.Interop.Excel.Workbook&amp;nbsp;MyDataWorkbook_2&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.Excel.Workbook)MyChartData.Workbook;//由于PPT的数据源是EXCEL工作表，所以此处还要调用EXCEL。

MyDataWorkbook_2.Application.WindowState&amp;nbsp;=&amp;nbsp;XlWindowState.xlMinimized;//不想看那么多窗口，所以最小化了。

Microsoft.Office.Interop.Excel.Worksheet&amp;nbsp;MyDataWorksheet_2&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.Excel.Worksheet)MyDataWorkbook_2.Worksheets[1];//实例化工作表

Microsoft.Office.Interop.Excel.Range&amp;nbsp;tRange_2&amp;nbsp;=&amp;nbsp;MyDataWorksheet_2.Cells.get_Range(&amp;quot;A1&amp;quot;,&amp;nbsp;&amp;quot;C10&amp;quot;);//选定数据区域

Microsoft.Office.Interop.Excel.ListObject&amp;nbsp;tbl1_2&amp;nbsp;=&amp;nbsp;MyDataWorksheet_2.ListObjects[1];
tbl1_2.Resize(tRange_2);

//赋值&amp;nbsp;&amp;nbsp;
((Microsoft.Office.Interop.Excel.Range)(MyDataWorksheet_2.Cells.get_Range(&amp;quot;A2&amp;quot;))).FormulaR1C1&amp;nbsp;=&amp;nbsp;&amp;quot;全国得分&amp;quot;;
((Microsoft.Office.Interop.Excel.Range)(MyDataWorksheet_2.Cells.get_Range(&amp;quot;A3&amp;quot;))).FormulaR1C1&amp;nbsp;=&amp;nbsp;null;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
//图表标题
MyChart.ChartTitle.Delete();

//纵轴
MyYvalaxis&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.Axis)MyChart.Axes(Microsoft.Office.Interop.PowerPoint.XlAxisType.xlValue,&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlAxisGroup.xlPrimary);

MyYvalaxis.MajorGridlines.Delete();//删除主横网络线
MyYvalaxis.MajorUnit&amp;nbsp;=&amp;nbsp;0.5F;
MyYvalaxis.MinimumScale&amp;nbsp;=&amp;nbsp;0.0F;
MyYvalaxis.MaximumScale&amp;nbsp;=&amp;nbsp;1.5F;
MyYvalaxis.Format.Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;&amp;nbsp;;//坐标轴颜色
MyYvalaxis.Format.Line.Transparency&amp;nbsp;=&amp;nbsp;1F;//坐标轴是否透明；此句必须先指定颜色，否则无效&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
MyYvalaxis.TickLabels.Delete();//删除坐标标签

//横轴
MyXvalaxis&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.Axis)MyChart.Axes(Microsoft.Office.Interop.PowerPoint.XlAxisType.xlCategory,&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlAxisGroup.xlPrimary);

MyXvalaxis.MajorTickMark&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlTickMark.xlTickMarkOutside;//主要刻度线类型
MyXvalaxis.Format.Line.Weight&amp;nbsp;=&amp;nbsp;0.75F;//线型宽度
MyXvalaxis.Format.Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;//线条颜色
MyXvalaxis.TickLabelPosition&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlTickLabelPosition.xlTickLabelPositionNone;

//图例
MyChart.Legend.Delete();

//数据标签格式和系列
//系列1
MySeries&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.Series)MyChart.SeriesCollection(1);
MySeries.HasDataLabels&amp;nbsp;=&amp;nbsp;true;
MySeries.Format.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;
MySeries.Format.Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;
MySeries.Format.Line.Weight&amp;nbsp;=&amp;nbsp;1.5F;

MySeries.Format.Shadow.Style&amp;nbsp;=&amp;nbsp;MsoShadowStyle.msoShadowStyleOuterShadow;//控制阴影类型
MySeries.Format.Shadow.ForeColor.RGB&amp;nbsp;=&amp;nbsp;0;//控制阴影颜色
MySeries.Format.Shadow.Transparency&amp;nbsp;=&amp;nbsp;0.6F;//控制透明度
MySeries.Format.Shadow.Size&amp;nbsp;=&amp;nbsp;100F;//控制大小
MySeries.Format.Shadow.Blur&amp;nbsp;=&amp;nbsp;4F;//控制虚化
MySeries.Format.Shadow.OffsetX&amp;nbsp;=&amp;nbsp;2.1F;//控制距离；&amp;nbsp;
MySeries.Format.Shadow.OffsetY&amp;nbsp;=&amp;nbsp;2.1F;//与offsetX共同决定角度

//柱子颜色
MyPoints&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.Points)MySeries.Points();

MyPoints.Item(1).Format.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;//系列1中，第1个柱子的颜色

//柱子距离
MyChartGroups&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.ChartGroups)MyChart.ChartGroups();
MyChartGroups.Item(1).GapWidth&amp;nbsp;=&amp;nbsp;50;

//数据标签
MyDataLabels&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.DataLabels)MySeries.DataLabels();
MyDataLabels.Position&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlDataLabelPosition.xlLabelPositionOutsideEnd;
MyDataLabels.NumberFormat&amp;nbsp;=&amp;nbsp;&amp;quot;0.0%&amp;quot;;
MyDataLabels.Format.TextFrame2.TextRange.Font.Size&amp;nbsp;=&amp;nbsp;9F;
MyDataLabels.Format.TextFrame2.TextRange.Font.NameAscii&amp;nbsp;=&amp;nbsp;&amp;quot;Calibri&amp;quot;;
MyDataLabels.Format.TextFrame2.TextRange.Font.Bold&amp;nbsp;=&amp;nbsp;MsoTriState.msoTrue;

//系列2
MySeries&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.Series)MyChart.SeriesCollection(2);
MySeries.HasDataLabels&amp;nbsp;=&amp;nbsp;true;
MySeries.Format.Fill.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;
MySeries.Format.Line.ForeColor.RGB&amp;nbsp;=&amp;nbsp;A&amp;nbsp;+&amp;nbsp;B&amp;nbsp;*&amp;nbsp;256&amp;nbsp;+&amp;nbsp;C&amp;nbsp;*&amp;nbsp;256&amp;nbsp;*&amp;nbsp;256;
MySeries.Format.Line.Weight&amp;nbsp;=&amp;nbsp;1.5F;

MySeries.Format.Shadow.Style&amp;nbsp;=&amp;nbsp;MsoShadowStyle.msoShadowStyleOuterShadow;//控制阴影类型
MySeries.Format.Shadow.ForeColor.RGB&amp;nbsp;=&amp;nbsp;0;//控制阴影颜色
MySeries.Format.Shadow.Transparency&amp;nbsp;=&amp;nbsp;0.6F;//控制透明度
MySeries.Format.Shadow.Size&amp;nbsp;=&amp;nbsp;100F;//控制大小
MySeries.Format.Shadow.Blur&amp;nbsp;=&amp;nbsp;4F;//控制虚化
MySeries.Format.Shadow.OffsetX&amp;nbsp;=&amp;nbsp;2.1F;//控制距离
MySeries.Format.Shadow.OffsetY&amp;nbsp;=&amp;nbsp;2.1F;//与offsetX共同决定角度

//柱子距离
MyChartGroups&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.ChartGroups)MyChart.ChartGroups();
MyChartGroups.Item(1).GapWidth&amp;nbsp;=&amp;nbsp;50;

//数据标签
MyDataLabels&amp;nbsp;=&amp;nbsp;(Microsoft.Office.Interop.PowerPoint.DataLabels)MySeries.DataLabels();
MyDataLabels.Position&amp;nbsp;=&amp;nbsp;Microsoft.Office.Interop.PowerPoint.XlDataLabelPosition.xlLabelPositionOutsideEnd;
MyDataLabels.NumberFormat&amp;nbsp;=&amp;nbsp;&amp;quot;0.0%&amp;quot;;
MyDataLabels.Format.TextFrame2.TextRange.Font.Size&amp;nbsp;=&amp;nbsp;9F;
MyDataLabels.Format.TextFrame2.TextRange.Font.NameAscii&amp;nbsp;=&amp;nbsp;&amp;quot;Calibri&amp;quot;;
MyDataLabels.Format.TextFrame2.TextRange.Font.Italic&amp;nbsp;=&amp;nbsp;MsoTriState.msoTrue;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/42.aspx]]></link>
	<title><![CDATA[git for winxp]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/9/29 22:27:16</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/42.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;git for winxp&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/41.aspx]]></link>
	<title><![CDATA[SQL查询分析器]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/9/29 21:36:05</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/41.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;&amp;nbsp;SQL查询分析器&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/39.aspx]]></link>
	<title><![CDATA[cefsharp 使用范例！]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/9/18 22:19:18</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/39.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;using&amp;nbsp;System;
using&amp;nbsp;System.Collections.Generic;
using&amp;nbsp;System.ComponentModel;
using&amp;nbsp;System.Data;
using&amp;nbsp;System.Drawing;
using&amp;nbsp;System.Linq;
using&amp;nbsp;System.Text;
using&amp;nbsp;System.Windows.Forms;
using&amp;nbsp;CefSharp;
using&amp;nbsp;System.Security.Permissions;
using&amp;nbsp;System.Runtime.InteropServices;
using&amp;nbsp;System.Configuration;
using&amp;nbsp;System.IO;

namespace&amp;nbsp;WindowsFormsApplication1
{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//[PermissionSet(SecurityAction.Demand,&amp;nbsp;Name&amp;nbsp;=&amp;nbsp;&amp;quot;FullTrust&amp;quot;)]
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//[ComVisible(true)]//COM+组件可见
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;partial&amp;nbsp;class&amp;nbsp;FrmWebCef&amp;nbsp;:&amp;nbsp;Form
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;string&amp;nbsp;url=&amp;quot;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;FrmWebCef(string&amp;nbsp;_url)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;InitializeComponent();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;ConfigurationManager.AppSettings[&amp;quot;url&amp;quot;].ToString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&amp;nbsp;{&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;Form1_Load(object&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CefSettings&amp;nbsp;settings&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CefSettings();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.Locale&amp;nbsp;=&amp;nbsp;&amp;quot;zh-CN&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.CachePath&amp;nbsp;=&amp;nbsp;Directory.GetCurrentDirectory()&amp;nbsp;+&amp;nbsp;@&amp;quot;\Cache&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//settings.AcceptLanguageList=&amp;quot;zh-CN&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.CefCommandLineArgs.Add(&amp;quot;disable-application-cache&amp;quot;,&amp;nbsp;&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;settings.CefCommandLineArgs.Add(&amp;quot;disable-session-storage&amp;quot;,&amp;nbsp;&amp;quot;1&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(!Cef.IsInitialized)&amp;nbsp;Cef.Initialize(settings);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Cef.Initialize(settings);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CefSharp.WinForms.ChromiumWebBrowser&amp;nbsp;wb&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CefSharp.WinForms.ChromiumWebBrowser(url);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.Dock&amp;nbsp;=&amp;nbsp;DockStyle.Fill;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;CefSharp.CefSettings&amp;nbsp;settings&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CefSharp.CefSettings();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;////&amp;nbsp;settings.&amp;nbsp;=&amp;nbsp;&amp;quot;zh-CN&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;settings.Locale&amp;nbsp;=&amp;nbsp;&amp;quot;zh-CN&amp;quot;;
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta&amp;nbsp;http-equiv=&amp;quot;content-type&amp;quot;&amp;nbsp;content=&amp;quot;text/html;charset=GBK&amp;quot;&amp;gt;
////&amp;lt;/head&amp;gt;&amp;lt;body&amp;gt;&amp;lt;input&amp;nbsp;type=&amp;quot;text&amp;quot;&amp;nbsp;value=&amp;quot;send&amp;quot;&amp;nbsp;id=&amp;quot;input&amp;quot;&amp;gt;
////&amp;lt;input&amp;nbsp;type=&amp;quot;button&amp;quot;&amp;nbsp;value=&amp;quot;send&amp;quot;&amp;nbsp;id=&amp;quot;button&amp;quot;&amp;nbsp;onclick=&amp;quot;Cl();&amp;quot;&amp;gt;
////&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.getElementById(&amp;#39;button&amp;#39;).onclick&amp;nbsp;=&amp;nbsp;function&amp;nbsp;()&amp;nbsp;{
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugger;
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;#39;测试1&amp;#39;);
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;window.extend.Close(&amp;#39;测试&amp;#39;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.parent.postMessage(&amp;#39;this&amp;nbsp;is&amp;nbsp;test!index1&amp;#39;,&amp;nbsp;&amp;#39;*&amp;#39;);
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;};
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;function&amp;nbsp;Cl()&amp;nbsp;{
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;debugger;
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;alert(&amp;#39;测试&amp;#39;);
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;parent.postMessage(&amp;#39;this&amp;nbsp;is&amp;nbsp;test!index&amp;#39;,&amp;nbsp;&amp;#39;*&amp;#39;);
////&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
////&amp;lt;/script&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta&amp;nbsp;http-equiv=&amp;quot;x-ua-compatible&amp;quot;&amp;nbsp;content=&amp;quot;IE=10,chrome=1&amp;quot;&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;lt;/head&amp;gt;&amp;lt;body&amp;nbsp;&amp;nbsp;style=&amp;quot;margin:0;padding:0;overflow:hidden&amp;quot;&amp;nbsp;scroll=&amp;quot;no&amp;quot;&amp;gt;&amp;lt;iframe&amp;nbsp;width=&amp;quot;100%&amp;quot;&amp;nbsp;height=&amp;quot;100%&amp;quot;&amp;nbsp;marginwidth=&amp;quot;0&amp;quot;&amp;nbsp;marginheight=&amp;quot;0&amp;quot;&amp;nbsp;border=&amp;quot;0&amp;quot;&amp;nbsp;src=&amp;quot;http://zhenggc.cc/indext.html&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;nbsp;var&amp;nbsp;mess=&amp;#39;&amp;#39;;&amp;nbsp;&amp;nbsp;function&amp;nbsp;receiveMessage(e)&amp;nbsp;{&amp;nbsp;&amp;nbsp;alert(&amp;#39;csharp&amp;nbsp;_html:&amp;#39;&amp;nbsp;+e.data);mess=e.data;&amp;nbsp;&amp;nbsp;csh.CloseMe(e.data);}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.addEventListener(&amp;quot;message&amp;quot;,&amp;nbsp;receiveMessage,&amp;nbsp;false);function&amp;nbsp;go(){&amp;nbsp;&amp;nbsp;window.external.Close();&amp;nbsp;}&amp;nbsp;&amp;lt;/script&amp;gt;&amp;nbsp;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Cef.Initialize(settings);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;settings.l
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;CefSharpSettings.LegacyJavascriptBindingEnabled&amp;nbsp;=&amp;nbsp;true;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;html&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;meta&amp;nbsp;http-equiv=\&amp;quot;x-ua-compatible\&amp;quot;&amp;nbsp;content=\&amp;quot;IE=10,chrome=1\&amp;quot;&amp;gt;&amp;lt;/head&amp;gt;&amp;lt;body&amp;nbsp;style=\&amp;quot;margin:0;padding:0;overflow:hidden\&amp;quot;&amp;nbsp;scroll=\&amp;quot;no\&amp;quot;&amp;gt;&amp;lt;iframe&amp;nbsp;&amp;nbsp;width=\&amp;quot;100%\&amp;quot;&amp;nbsp;height=\&amp;quot;100%\&amp;quot;&amp;nbsp;marginwidth=\&amp;quot;0\&amp;quot;&amp;nbsp;marginheight=\&amp;quot;0\&amp;quot;&amp;nbsp;border=\&amp;quot;0\&amp;quot;&amp;nbsp;src=\&amp;quot;&amp;quot;&amp;nbsp;+&amp;nbsp;url&amp;nbsp;+&amp;nbsp;&amp;quot;\&amp;quot;&amp;gt;&amp;lt;/iframe&amp;gt;&amp;quot;&amp;nbsp;+
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;lt;script&amp;nbsp;&amp;nbsp;type=\&amp;quot;text/javascript\&amp;quot;&amp;gt;&amp;nbsp;var&amp;nbsp;mess=&amp;#39;&amp;#39;;&amp;nbsp;&amp;nbsp;function&amp;nbsp;receiveMessage(e)&amp;nbsp;{&amp;nbsp;&amp;nbsp;alert(&amp;#39;csharp_html:&amp;#39;&amp;nbsp;+e.data);mess=e.data;&amp;nbsp;&amp;nbsp;csh.CloseMe(e.data);}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.addEventListener(\&amp;quot;message\&amp;quot;,&amp;nbsp;receiveMessage,&amp;nbsp;false);&amp;nbsp;&amp;lt;/script&amp;gt;&amp;nbsp;&amp;nbsp;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.LoadHtml(html,&amp;nbsp;&amp;quot;http://zhenggc.cn/indext.html&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;wb.JsDialogHandler&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.RegisterJsObject(&amp;quot;csh&amp;quot;,&amp;nbsp;this,&amp;nbsp;false);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;wb.DownloadHandler&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CefSharpDownloadHandler();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Controls.Add(wb);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;void&amp;nbsp;CloseMe(string&amp;nbsp;mess)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;cSHarp&amp;quot;&amp;nbsp;+&amp;nbsp;mess);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(mess.Equals(&amp;quot;kclose&amp;quot;))
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;this.Close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/38.aspx]]></link>
	<title><![CDATA[vs2010sp1在线安装]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/9/17 22:52:05</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/38.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;vs2010sp1在线安装 下载&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/30.aspx]]></link>
	<title><![CDATA[slidingmenu]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/7/20 20:28:25</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/30.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;slidingmenu&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/23.aspx]]></link>
	<title><![CDATA[aspnetMvc4安装]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/7/10 21:29:01</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/23.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;aspnetMvc4安装 + web平台安装程序&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/19.aspx]]></link>
	<title><![CDATA[fastreport v6.4]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/7/9 17:50:06</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/19.aspx]]></guid>
	<description><![CDATA[&lt;p&gt;fast report vcl&lt;/p&gt;&lt;hr/&gt;&lt;p&gt;2020-4-10&amp;nbsp; 新增 FastReport 6.6.9&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/18.aspx]]></link>
	<title><![CDATA[代码段]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/7/3 18:55:10</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/18.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;using&amp;nbsp;System.IO;
using&amp;nbsp;System.Net;
using&amp;nbsp;System.Reflection;
using&amp;nbsp;System.CodeDom;
using&amp;nbsp;System.CodeDom.Compiler;
using&amp;nbsp;System.Web.Services;
using&amp;nbsp;System.Web.Services.Description;
using&amp;nbsp;System.Web.Services.Protocols;
using&amp;nbsp;System.Xml.Serialization;
using&amp;nbsp;System.Configuration;

namespace&amp;nbsp;webserviceImp
{
&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;public&amp;nbsp;&amp;nbsp;class&amp;nbsp;ImpWebSvr
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;1.&amp;nbsp;使用&amp;nbsp;WebClient&amp;nbsp;下载&amp;nbsp;WSDL&amp;nbsp;信息。
&amp;nbsp;static&amp;nbsp;&amp;nbsp;WebClient&amp;nbsp;web&amp;nbsp;=&amp;nbsp;new&amp;nbsp;WebClient();
&amp;nbsp;static&amp;nbsp;Stream&amp;nbsp;stream&amp;nbsp;=&amp;nbsp;web.OpenRead(Url());
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
//&amp;nbsp;2.&amp;nbsp;创建和格式化&amp;nbsp;WSDL&amp;nbsp;文档。
static&amp;nbsp;&amp;nbsp;ServiceDescription&amp;nbsp;description&amp;nbsp;=&amp;nbsp;ServiceDescription.Read(stream);

//&amp;nbsp;3.&amp;nbsp;创建客户端代理代理类。
static&amp;nbsp;ServiceDescriptionImporter&amp;nbsp;importer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;ServiceDescriptionImporter();



&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;void&amp;nbsp;GenCs(string&amp;nbsp;FileName&amp;nbsp;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;importer.ProtocolName&amp;nbsp;=&amp;nbsp;&amp;quot;Soap&amp;quot;;&amp;nbsp;//&amp;nbsp;指定访问协议。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;importer.Style&amp;nbsp;=&amp;nbsp;ServiceDescriptionImportStyle.Client;&amp;nbsp;//&amp;nbsp;生成客户端代理。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;importer.CodeGenerationOptions&amp;nbsp;=&amp;nbsp;CodeGenerationOptions.GenerateProperties&amp;nbsp;|&amp;nbsp;CodeGenerationOptions.GenerateNewAsync;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;importer.AddServiceDescription(description,&amp;nbsp;null,&amp;nbsp;null);&amp;nbsp;//&amp;nbsp;添加&amp;nbsp;WSDL&amp;nbsp;文档。

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;4.&amp;nbsp;使用&amp;nbsp;CodeDom&amp;nbsp;编译客户端代理类。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CodeNamespace&amp;nbsp;nmspace&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CodeNamespace();&amp;nbsp;//&amp;nbsp;为代理类添加命名空间，缺省为全局空间。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CodeCompileUnit&amp;nbsp;unit&amp;nbsp;=&amp;nbsp;new&amp;nbsp;CodeCompileUnit();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;unit.Namespaces.Add(nmspace);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ServiceDescriptionImportWarnings&amp;nbsp;warning&amp;nbsp;=&amp;nbsp;importer.Import(nmspace,&amp;nbsp;unit);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CodeDomProvider&amp;nbsp;provider&amp;nbsp;=&amp;nbsp;CodeDomProvider.CreateProvider(&amp;quot;CSharp&amp;quot;);

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;5.&amp;nbsp;保存源代码到文件。当然，你也可以直接保存到内存字符串中。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;TextWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;File.CreateText(FileName);&amp;nbsp;//&amp;nbsp;指定你所需的源代码文件名。
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;provider.GenerateCodeFromCompileUnit(unit,&amp;nbsp;writer,&amp;nbsp;null);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Flush();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public&amp;nbsp;static&amp;nbsp;string&amp;nbsp;Url()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;url&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;url&amp;nbsp;=&amp;nbsp;ConfigurationManager.AppSettings[&amp;quot;url&amp;quot;].ToString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(url&amp;nbsp;==&amp;nbsp;&amp;quot;&amp;quot;)&amp;nbsp;url&amp;nbsp;=&amp;nbsp;&amp;quot;http://htbhwsy.com:6666/tjweb.webservice/webservice.asmx?WSDL&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;url;

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;pre class=&quot;brush:delphi;toolbar:false&quot;&gt;uses
&amp;nbsp;&amp;nbsp;mshtml,activex;//除了这两个以外好像其他的都是系统在添加控件的时候自动加的
procedure&amp;nbsp;TForm1.analyClick(Sender:&amp;nbsp;TObject);&amp;nbsp;//代码写在analy这个button的Click事件里的
var
&amp;nbsp;&amp;nbsp;Doc:IHTMLDocument2;
&amp;nbsp;&amp;nbsp;tmp:ihtmlelement;
&amp;nbsp;&amp;nbsp;cont,result:widestring;
&amp;nbsp;&amp;nbsp;linkadd:string;
&amp;nbsp;&amp;nbsp;V:&amp;nbsp;OleVariant;
&amp;nbsp;&amp;nbsp;VNode:&amp;nbsp;IXMLNode;
&amp;nbsp;&amp;nbsp;vtitle:&amp;nbsp;OleVariant;
&amp;nbsp;&amp;nbsp;i,&amp;nbsp;NodeCount:&amp;nbsp;Integer;
begin
&amp;nbsp;&amp;nbsp;//vnode相当于一个父结点，所有的更新内容都是这个父结点的子结点
&amp;nbsp;&amp;nbsp;vnode:=xmldoc.DocumentElement.ChildNodes[&amp;#39;channel&amp;#39;];
&amp;nbsp;&amp;nbsp;//nodecount,channel父结点的子结点，这其中只有nodename为&amp;#39;item&amp;#39;的才是我们要的内容
&amp;nbsp;&amp;nbsp;Nodecount:=vnode.ChildNodes.Count-1;
&amp;nbsp;&amp;nbsp;for&amp;nbsp;i&amp;nbsp;:=&amp;nbsp;0&amp;nbsp;to&amp;nbsp;NodeCount&amp;nbsp;do
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;vnode.ChildNodes[i].NodeName=&amp;#39;item&amp;#39;&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//获取标题vtitle和文章链接地址linkadd
&amp;nbsp;&amp;nbsp;vtitle:=vnode.ChildNodes[i].ChildNodes[&amp;#39;title&amp;#39;].NodeValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;linkadd:=vnode.ChildNodes[i].ChildNodes[&amp;#39;link&amp;#39;].NodeValue;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&amp;nbsp;&amp;nbsp;//这里只做了一个节点的内容获取，主要是为了便于调试，实际代码中可相应调整
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;end;
&amp;nbsp;&amp;nbsp;//cont用于存放文章对应HTML文件的源代码，idHttp1是TIdHTTP控件
&amp;nbsp;&amp;nbsp;cont:=idHttp1.Get(linkadd);
&amp;nbsp;&amp;nbsp;//这下面是在做widestring向IHtmlDocument2的“转换”
&amp;nbsp;&amp;nbsp;result:=cont;
&amp;nbsp;&amp;nbsp;if&amp;nbsp;cont&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;&amp;nbsp;then&amp;nbsp;Exit;
&amp;nbsp;&amp;nbsp;CoInitialize(nil);
&amp;nbsp;&amp;nbsp;doc&amp;nbsp;:=&amp;nbsp;CoHTMLdocument_create&amp;nbsp;as&amp;nbsp;IHtmlDocument2;
&amp;nbsp;&amp;nbsp;try
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V&amp;nbsp;:=&amp;nbsp;VarArrayCreate([0,&amp;nbsp;0],&amp;nbsp;varVariant);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;V[0]&amp;nbsp;:=&amp;nbsp;result;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Doc.Write(PSafeArray(TVarData(v).VArray));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Doc.Close;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;tmp:=doc.all.item(&amp;#39;content&amp;#39;,varEmpty)&amp;nbsp;as&amp;nbsp;ihtmlelement;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;tmp&amp;lt;&amp;gt;nil&amp;nbsp;then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memo1.Text:=tmp.innerText;&amp;nbsp;&amp;nbsp;//这里的tmp.innerText就是文章的脚本了
&amp;nbsp;&amp;nbsp;finally
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Doc&amp;nbsp;:=&amp;nbsp;nil;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CoUninitialize;
&amp;nbsp;&amp;nbsp;end;
end;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/17.aspx]]></link>
	<title><![CDATA[代码段！]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/5/13 17:37:26</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/17.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:c#;toolbar:false&quot;&gt;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;excOut(string&amp;nbsp;filePath)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable&amp;nbsp;table&amp;nbsp;=&amp;nbsp;SqliteHelpers.ExecuteDataset(this.resZERO()).Tables[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(table&amp;nbsp;==&amp;nbsp;null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;请先进行盘点。&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(table.Rows.Count&amp;nbsp;==&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;请先进行盘点。&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StreamWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StreamWriter(filePath,&amp;nbsp;false,&amp;nbsp;Encoding.GetEncoding(&amp;quot;gb2312&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;&amp;quot;,&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.FG&amp;nbsp;==&amp;nbsp;&amp;quot;t&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;&amp;quot;\t&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;Program.FG;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;table.Rows.Count;&amp;nbsp;i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;str3&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;&amp;nbsp;table.Columns.Count;&amp;nbsp;j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(j&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;str3&amp;nbsp;=&amp;nbsp;str3&amp;nbsp;+&amp;nbsp;fG;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str3&amp;nbsp;=&amp;nbsp;str3&amp;nbsp;+&amp;nbsp;table.Rows[i][j].ToString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.WriteLine(str3);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;导出成功!&amp;quot;,&amp;nbsp;&amp;quot;系统提示&amp;quot;,&amp;nbsp;MessageBoxButtons.OK,&amp;nbsp;MessageBoxIcon.Asterisk,&amp;nbsp;MessageBoxDefaultButton.Button1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;void&amp;nbsp;excOut(string&amp;nbsp;sql,&amp;nbsp;string&amp;nbsp;filePath)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DataTable&amp;nbsp;table&amp;nbsp;=&amp;nbsp;SqliteHelpers.ExecuteDataset(sql).Tables[0];
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(table&amp;nbsp;==&amp;nbsp;null)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;请先进行盘点。&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(table.Rows.Count&amp;nbsp;==&amp;nbsp;0)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;请先进行盘点。&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;&amp;quot;,&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.FG&amp;nbsp;==&amp;nbsp;&amp;quot;t&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;&amp;quot;\t&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fG&amp;nbsp;=&amp;nbsp;Program.FG;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StreamWriter&amp;nbsp;writer&amp;nbsp;=&amp;nbsp;new&amp;nbsp;StreamWriter(filePath,&amp;nbsp;false,&amp;nbsp;Encoding.GetEncoding(&amp;quot;gb2312&amp;quot;));
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;table.Rows.Count;&amp;nbsp;i++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;for&amp;nbsp;(int&amp;nbsp;j&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;j&amp;nbsp;&amp;lt;&amp;nbsp;table.Columns.Count;&amp;nbsp;j++)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(j&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;fG;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;table.Rows[i][j].ToString();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.WriteLine(str2);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;writer.Close();
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;导出成功!&amp;quot;,&amp;nbsp;&amp;quot;系统提示&amp;quot;,&amp;nbsp;MessageBoxButtons.OK,&amp;nbsp;MessageBoxIcon.Asterisk,&amp;nbsp;MessageBoxDefaultButton.Button1);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;private&amp;nbsp;string&amp;nbsp;resZERO()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;str&amp;nbsp;=&amp;nbsp;&amp;quot;select&amp;nbsp;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;&amp;quot;&amp;nbsp;group&amp;nbsp;by&amp;nbsp;&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.BH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;Point&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;Point&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.HH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.BH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;,SubPoint&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;,SubPoint&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;SubPoint&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;SubPoint&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.TM&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.BH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;&amp;nbsp;||&amp;nbsp;Program.HH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;,proCode&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;,proCode&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;proCode&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str2&amp;nbsp;=&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;proCode&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.SL&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(Program.BH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;&amp;nbsp;||&amp;nbsp;Program.HH&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;&amp;nbsp;||&amp;nbsp;Program.TM&amp;nbsp;==&amp;nbsp;&amp;quot;Y&amp;quot;)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;,Sum(counts)&amp;nbsp;counts&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;str&amp;nbsp;=&amp;nbsp;str&amp;nbsp;+&amp;nbsp;&amp;quot;Sum(counts)&amp;nbsp;counts&amp;quot;;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;(str&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;nbsp;from&amp;nbsp;bs_scan&amp;nbsp;&amp;quot;&amp;nbsp;+&amp;nbsp;str2&amp;nbsp;+&amp;nbsp;&amp;quot;&amp;nbsp;Order&amp;nbsp;by&amp;nbsp;scanTime&amp;quot;);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/pre&gt;&lt;pre class=&quot;brush:delphi;toolbar:false&quot;&gt;get_py&amp;nbsp;函数&amp;nbsp;&amp;nbsp;get_wb
//根据输入的字符串返回拼音码
string&amp;nbsp;str_temp
string&amp;nbsp;str_out
int&amp;nbsp;i
str_out=&amp;#39;&amp;#39;
for&amp;nbsp;i=1&amp;nbsp;to&amp;nbsp;len(str_in)
	//返回字符串函数修改&amp;nbsp;&amp;nbsp;gf_mid&amp;nbsp;修改为&amp;nbsp;&amp;nbsp;mid&amp;nbsp;2019-5-13
	str_temp=mid(str_in,i,1)
	if&amp;nbsp;str_temp&amp;lt;&amp;gt;&amp;#39;&amp;nbsp;&amp;#39;&amp;nbsp;then
		select&amp;nbsp;n&amp;nbsp;into&amp;nbsp;:&amp;nbsp;str_temp&amp;nbsp;from&amp;nbsp;twzk&amp;nbsp;where&amp;nbsp;z=&amp;nbsp;:&amp;nbsp;str_temp&amp;nbsp;;
		str_out=str_out+upper(str_temp)
	end&amp;nbsp;if
	if&amp;nbsp;len(str_out)&amp;gt;8&amp;nbsp;then&amp;nbsp;return&amp;nbsp;str_out
next
return&amp;nbsp;str_out&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/11.aspx]]></link>
	<title><![CDATA[ggg]]></title>
	<author><![CDATA[zgc]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2019/2/3 22:17:34</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/11.aspx]]></guid>
	<description><![CDATA[&lt;pre class=&quot;brush:js;toolbar:false&quot;&gt;&amp;lt;script&amp;nbsp;type=&amp;quot;text/javascript&amp;quot;&amp;gt;
var&amp;nbsp;cnzz_protocol&amp;nbsp;=&amp;nbsp;((&amp;quot;https:&amp;quot;&amp;nbsp;==&amp;nbsp;document.location.protocol)&amp;nbsp;?&amp;nbsp;&amp;quot;https://&amp;quot;&amp;nbsp;:&amp;nbsp;&amp;quot;&amp;nbsp;
document.write(unescape(&amp;quot;%3Cspan&amp;nbsp;id=&amp;#39;cnzz_stat_icon_1276108372&amp;#39;%3E%3C/span%3E%3Cscript&amp;nbsp;src=&amp;#39;&amp;quot;&amp;nbsp;+&amp;nbsp;cnzz_protocol&amp;nbsp;
+&amp;nbsp;&amp;quot;s23.cnzz.com/z_stat.php%3Fid%3D1276108372%26online%3D1&amp;#39;&amp;nbsp;type=&amp;#39;text/javascript&amp;#39;%3E%3C/script%3E&amp;quot;));
&amp;lt;/script&amp;gt;&lt;/pre&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/7.aspx]]></link>
	<title><![CDATA[非官方]]></title>
	<author><![CDATA[老邱]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2018/2/16 12:01:40</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/7.aspx]]></guid>
	<description><![CDATA[d方式方法d发]]></description>
</item>
<item>
	<link><![CDATA[http://zhenggc.cc/article/个.aspx]]></link>
	<title><![CDATA[方法]]></title>
	<author><![CDATA[老邱]]></author>
	<category><![CDATA[个人作品]]></category>
	<pubDate>2018/2/15 16:04:16</pubDate>
	<guid><![CDATA[http://zhenggc.cc/article/个.aspx]]></guid>
	<description><![CDATA[<img src="http://localhost:49186/uploadfiles/2018-02/201802151605074600.bmp" width="216" height="93" />]]></description>
</item>
</channel>
</rss>