aspnetMvc4安装

<p>aspnetMvc4安装</p>
2019/7/10 21:29:01(zgc) 抢沙发(0) 个人作品
阅读全文

纯PB代码实现取MAC和IP(PB9)

<p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">1、定义一个名为s_wsadata的结构,如下:</span></p><pre class="brush:delphi;toolbar:false">&nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;version &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;highversion &nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;discription[257] &nbsp;&nbsp;character&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;systemstatus[129] &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxsockets &nbsp;&nbsp;unsignedinteger&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;maxupddg &nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vendorinfo</pre><p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);"></span><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">二、在Local&nbsp;External&nbsp;Funtions中作如下的声明:</span></p><pre class="brush:delphi;toolbar:false">function&nbsp;int&nbsp;WSAStartup(&nbsp;uint&nbsp;UIVersionRequested,&nbsp;ref&nbsp;s_WSAData&nbsp;lpWSAData&nbsp;)&nbsp;&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;WSACleanup()&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;WSAGetLastError&nbsp;(&nbsp;)&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;int&nbsp;gethostname&nbsp;(&nbsp;ref&nbsp;string&nbsp;name,&nbsp;int&nbsp;namelen&nbsp;)&nbsp;library&nbsp;&quot;wsock32.dll&quot; &nbsp;&nbsp;&nbsp;&nbsp;function&nbsp;string&nbsp;GetHost(string&nbsp;lpszhost,&nbsp;ref&nbsp;blob&nbsp;lpszaddress&nbsp;)&nbsp;library&nbsp;&quot;pbws32.dll&quot;</pre><p><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);"></span><span style="color: rgb(79, 79, 79); font-family: &quot;Microsoft YaHei&quot;, &quot;SF Pro Display&quot;, Roboto, Noto, Arial, &quot;PingFang SC&quot;, sans-serif; background-color: rgb(255, 255, 255);">三、使用方法:</span></p><pre class="brush:vb;toolbar:false;">s_wsadata &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_WSAData string ls_HostName&nbsp;=&nbsp;space(128)&nbsp;&nbsp;&nbsp; string ls_IpAddress int li_version&nbsp;=&nbsp;257 blob{4}&nbsp; lb_hostaddress&nbsp; IF&nbsp;wsastartup&nbsp;(&nbsp;li_version,&nbsp;l_WSAData&nbsp;)&nbsp;=&nbsp;0&nbsp;THEN IF&nbsp;gethostname&nbsp;(&nbsp;ls_HostName,&nbsp;len(ls_HostName)&nbsp;)&nbsp;&lt;&nbsp;0&nbsp;THEN messagebox(&quot;GetHostName&quot;,WSAGetLastError()) ELSE GetHost(ls_HostName,&nbsp;lb_HostAddress) ls_IpAddress&nbsp;=&nbsp;string(asc(string(blobmid(lb_HostAddress,1,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,2,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,3,1))),&quot;000&quot;)&nbsp;+&nbsp;&quot;.&quot; ls_IpAddress&nbsp;+=&nbsp;string(asc(string(blobmid(lb_HostAddress,4,1))),&quot;000&quot;) END&nbsp;IF WSACleanup() ELSE messagebox(&quot;GetHostName&quot;,WSAGetLastError()) END&nbsp;IF&nbsp; messagebox(&#39;ls_hostname:&nbsp;&#39;+ls_hostname,&#39;ls_ipaddress:&nbsp;&#39;+ls_ipaddress)</pre><pre class="brush:c#;toolbar:false">//函数名称:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_getip&nbsp; //调用方法:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f_getip(ip_name)&nbsp; //参数说明:&nbsp;&nbsp;&nbsp;ip_name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;&nbsp;&nbsp;类型:integer&nbsp;&nbsp;&nbsp;含义:确定返回的结果(1:机名和IP地址,2:机名,3:IP地址,4:mac地址)&nbsp; //返回结果:&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:由ip_name决定的反回结果&nbsp; //函数功能:&nbsp;&nbsp;&nbsp;得到本机的名和IP地址&nbsp; //设计者:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;时间:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //建立全局的结构s_wsadata&nbsp; //结构如下:&nbsp; //version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //highversion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //description[257]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp; //systemstatus[129]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;character&nbsp; //maxsockets&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //maxupddg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unsignedinteger&nbsp; //vendorinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp; //&nbsp;&nbsp;&nbsp;声明gloabe&nbsp;&nbsp;&nbsp;extern&nbsp;&nbsp;&nbsp;function&nbsp;&nbsp;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSAStartup(&nbsp;&nbsp;&nbsp;uint&nbsp;&nbsp;&nbsp;UIVersionRequested,&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;s_WSAData&nbsp;&nbsp;&nbsp;lpWSAData&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSACleanup()&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;WSAGetLastError&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;gethostname&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;name,&nbsp;&nbsp;&nbsp;int&nbsp;&nbsp;&nbsp;namelen&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;wsock32.dll&nbsp;&quot;&nbsp; //function&nbsp;&nbsp;&nbsp;string&nbsp;&nbsp;&nbsp;GetHost(string&nbsp;&nbsp;&nbsp;lpszhost,&nbsp;&nbsp;&nbsp;ref&nbsp;&nbsp;&nbsp;blob&nbsp;&nbsp;&nbsp;lpszaddress&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;library&nbsp;&nbsp;&nbsp;&quot;pbws32.dll&nbsp;&quot;&nbsp;&nbsp;&nbsp; //Function&nbsp;Long&nbsp;GetMACAddress(Long&nbsp;lana,Ref&nbsp;Long&nbsp;addr[6])&nbsp;Library&nbsp;&nbsp;&quot;GetMAC.dll&quot; //Function&nbsp;Long&nbsp;GetLanaID(Ref&nbsp;Long&nbsp;lana[254])&nbsp;Library&nbsp;&nbsp;&quot;GetMAC.dll&quot; s_wsadata&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;l_WSAData&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_HostName&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;space(128)&nbsp; string&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp; int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;li_version&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;257&nbsp; blob{4}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lb_hostaddress&nbsp;&nbsp;&nbsp; //建立一个消息,基本的&nbsp;&nbsp;&nbsp;winsock&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;版本&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;版本号分为两部分,主版本号从版本号&nbsp; IF&nbsp;&nbsp;&nbsp;wsastartup&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;li_version,&nbsp;&nbsp;&nbsp;l_WSAData&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;THEN&nbsp; //&nbsp;&nbsp;&nbsp;通过结构传递版本信息,类元素告诉我们版本信息。&nbsp; //messagebox(&nbsp;&quot;Winsock&nbsp;&nbsp;&nbsp;Version&nbsp;&quot;,&nbsp;&nbsp;&nbsp;l_WSAData.description&nbsp;&nbsp;&nbsp;)&nbsp; //获得当前主机的主机名称&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp;gethostname&nbsp;&nbsp;&nbsp;(&nbsp;&nbsp;&nbsp;ls_HostName,&nbsp;&nbsp;&nbsp;len(ls_HostName)&nbsp;&nbsp;&nbsp;)&nbsp;&nbsp;&nbsp;&lt;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;THEN&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagebox(&nbsp;&quot;GetHostName&nbsp;&quot;,WSAGetLastError())&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ELSE&nbsp; //通过主机名,调用dll函数取得ip_address的指针给pb&nbsp;&nbsp;&nbsp;blob&nbsp;&nbsp;&nbsp;变量,长度是4个字节。因为内部结构包括4个指&nbsp; //针,每一个指针指向ip_address的一部分,总共是4个字节&nbsp; //&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Messagebox(&nbsp;&quot;Hostname&nbsp;&quot;,&nbsp;&nbsp;&nbsp;ls_HostName)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GetHost(ls_HostName,&nbsp;&nbsp;&nbsp;lb_HostAddress)&nbsp; //改变指针的获得ip_address构造ip地址&nbsp;&nbsp;&nbsp;27pbws32.dll&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,1,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,2,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,3,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&quot;.&nbsp;&quot;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;+=&nbsp;&nbsp;&nbsp;string(asc(string(blobmid(lb_HostAddress,4,1))),&nbsp;&quot;000&nbsp;&quot;)&nbsp; //Messagebox(&nbsp;&quot;Ip&nbsp;&nbsp;&nbsp;Address&nbsp;&quot;,&nbsp;&nbsp;&nbsp;ls_IpAddress&nbsp;&nbsp;&nbsp;)&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;&nbsp;&nbsp;IF&nbsp; //清除所建创的信息&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WSACleanup()&nbsp; ELSE&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;messagebox(&nbsp;&quot;GetHostName&nbsp;&quot;,WSAGetLastError())&nbsp; END&nbsp;&nbsp;&nbsp;IF&nbsp;&nbsp;&nbsp; long&nbsp;&nbsp;&nbsp;ll_mac[6]&nbsp; long&nbsp;&nbsp;&nbsp;ll_lana[254],ll_lananum&nbsp; integer&nbsp;&nbsp;&nbsp;ll_nub&nbsp; string&nbsp;&nbsp;&nbsp;ls_mac&nbsp; long&nbsp;&nbsp;&nbsp;ll_numb&nbsp; ll_lananum&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;GetLanaID(ll_lana)&nbsp; for&nbsp;&nbsp;&nbsp;ll_nub=1&nbsp;&nbsp;&nbsp;to&nbsp;&nbsp;&nbsp;ll_lananum&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;&nbsp;&nbsp;GetMacAddress(ll_lana[ll_nub],ll_mac)&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;then&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ls_mac=string(string(f_change_jz(ll_mac[1],16))+&nbsp;&#39;-&nbsp;&#39;+&amp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox(&nbsp;&quot;LANA&nbsp;&nbsp;&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;string(ll_lana[ll_nub]),&amp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[1])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[2])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[3])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[4])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[5])+&nbsp;&quot;,&nbsp;&quot;&nbsp;&nbsp;&nbsp;+&nbsp;&nbsp;&nbsp;&amp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string(ll_mac[6]))&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end&nbsp;&nbsp;&nbsp;if&nbsp; next&nbsp; choose&nbsp;&nbsp;&nbsp;case&nbsp;&nbsp;&nbsp;ip_name&nbsp; case&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;&nbsp;&nbsp;&quot;本机名&nbsp;&quot;+&nbsp;&nbsp;&nbsp;ls_hostname+&nbsp;&quot;&nbsp;&nbsp;&nbsp;IP&nbsp;&nbsp;&nbsp;&quot;+ls_ipaddress+&nbsp;&quot;&nbsp;&nbsp;&nbsp;mac&nbsp;&nbsp;&nbsp;&quot;+ls_mac&nbsp; case&nbsp;&nbsp;&nbsp;2&nbsp; return&nbsp;&nbsp;&nbsp;&quot;本机名:&nbsp;&quot;+ls_hostname&nbsp; case&nbsp;&nbsp;&nbsp;3&nbsp; return&nbsp;&nbsp;&nbsp;&quot;IP地址:&nbsp;&quot;+ls_ipaddress&nbsp; case&nbsp;&nbsp;&nbsp;4&nbsp; return&nbsp;&nbsp;&nbsp;&quot;MAC地址:&nbsp;&quot;+ls_mac&nbsp; end&nbsp;&nbsp;&nbsp;choose</pre><p><br/></p>
2019/7/10 18:39:44(zgc) 抢沙发(0) powerbuilder
阅读全文

fastreport v6.4

<p>fast report vcl</p>
2019/7/9 17:50:06(zgc) 抢沙发(0) 个人作品
阅读全文

代码段

<pre class="brush:c#;toolbar:false">using&nbsp;System.IO; using&nbsp;System.Net; using&nbsp;System.Reflection; using&nbsp;System.CodeDom; using&nbsp;System.CodeDom.Compiler; using&nbsp;System.Web.Services; using&nbsp;System.Web.Services.Description; using&nbsp;System.Web.Services.Protocols; using&nbsp;System.Xml.Serialization; using&nbsp;System.Configuration; namespace&nbsp;webserviceImp { &nbsp;&nbsp; &nbsp;&nbsp;public&nbsp;&nbsp;class&nbsp;ImpWebSvr &nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;//&nbsp;1.&nbsp;使用&nbsp;WebClient&nbsp;下载&nbsp;WSDL&nbsp;信息。 &nbsp;static&nbsp;&nbsp;WebClient&nbsp;web&nbsp;=&nbsp;new&nbsp;WebClient(); &nbsp;static&nbsp;Stream&nbsp;stream&nbsp;=&nbsp;web.OpenRead(Url()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //&nbsp;2.&nbsp;创建和格式化&nbsp;WSDL&nbsp;文档。 static&nbsp;&nbsp;ServiceDescription&nbsp;description&nbsp;=&nbsp;ServiceDescription.Read(stream); //&nbsp;3.&nbsp;创建客户端代理代理类。 static&nbsp;ServiceDescriptionImporter&nbsp;importer&nbsp;=&nbsp;new&nbsp;ServiceDescriptionImporter(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;void&nbsp;GenCs(string&nbsp;FileName&nbsp;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;importer.ProtocolName&nbsp;=&nbsp;&quot;Soap&quot;;&nbsp;//&nbsp;指定访问协议。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;importer.Style&nbsp;=&nbsp;ServiceDescriptionImportStyle.Client;&nbsp;//&nbsp;生成客户端代理。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;importer.CodeGenerationOptions&nbsp;=&nbsp;CodeGenerationOptions.GenerateProperties&nbsp;|&nbsp;CodeGenerationOptions.GenerateNewAsync; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;importer.AddServiceDescription(description,&nbsp;null,&nbsp;null);&nbsp;//&nbsp;添加&nbsp;WSDL&nbsp;文档。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;4.&nbsp;使用&nbsp;CodeDom&nbsp;编译客户端代理类。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CodeNamespace&nbsp;nmspace&nbsp;=&nbsp;new&nbsp;CodeNamespace();&nbsp;//&nbsp;为代理类添加命名空间,缺省为全局空间。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CodeCompileUnit&nbsp;unit&nbsp;=&nbsp;new&nbsp;CodeCompileUnit(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;unit.Namespaces.Add(nmspace); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ServiceDescriptionImportWarnings&nbsp;warning&nbsp;=&nbsp;importer.Import(nmspace,&nbsp;unit); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CodeDomProvider&nbsp;provider&nbsp;=&nbsp;CodeDomProvider.CreateProvider(&quot;CSharp&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;5.&nbsp;保存源代码到文件。当然,你也可以直接保存到内存字符串中。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TextWriter&nbsp;writer&nbsp;=&nbsp;File.CreateText(FileName);&nbsp;//&nbsp;指定你所需的源代码文件名。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;provider.GenerateCodeFromCompileUnit(unit,&nbsp;writer,&nbsp;null); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.Flush(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.Close(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;public&nbsp;static&nbsp;string&nbsp;Url() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;url&nbsp;=&nbsp;&quot;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;try &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;url&nbsp;=&nbsp;ConfigurationManager.AppSettings[&quot;url&quot;].ToString(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;catch&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(url&nbsp;==&nbsp;&quot;&quot;)&nbsp;url&nbsp;=&nbsp;&quot;http://htbhwsy.com:6666/tjweb.webservice/webservice.asmx?WSDL&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;url; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;} }</pre><pre class="brush:delphi;toolbar:false">uses &nbsp;&nbsp;mshtml,activex;//除了这两个以外好像其他的都是系统在添加控件的时候自动加的 procedure&nbsp;TForm1.analyClick(Sender:&nbsp;TObject);&nbsp;//代码写在analy这个button的Click事件里的 var &nbsp;&nbsp;Doc:IHTMLDocument2; &nbsp;&nbsp;tmp:ihtmlelement; &nbsp;&nbsp;cont,result:widestring; &nbsp;&nbsp;linkadd:string; &nbsp;&nbsp;V:&nbsp;OleVariant; &nbsp;&nbsp;VNode:&nbsp;IXMLNode; &nbsp;&nbsp;vtitle:&nbsp;OleVariant; &nbsp;&nbsp;i,&nbsp;NodeCount:&nbsp;Integer; begin &nbsp;&nbsp;//vnode相当于一个父结点,所有的更新内容都是这个父结点的子结点 &nbsp;&nbsp;vnode:=xmldoc.DocumentElement.ChildNodes[&#39;channel&#39;]; &nbsp;&nbsp;//nodecount,channel父结点的子结点,这其中只有nodename为&#39;item&#39;的才是我们要的内容 &nbsp;&nbsp;Nodecount:=vnode.ChildNodes.Count-1; &nbsp;&nbsp;for&nbsp;i&nbsp;:=&nbsp;0&nbsp;to&nbsp;NodeCount&nbsp;do &nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;vnode.ChildNodes[i].NodeName=&#39;item&#39;&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//获取标题vtitle和文章链接地址linkadd &nbsp;&nbsp;vtitle:=vnode.ChildNodes[i].ChildNodes[&#39;title&#39;].NodeValue; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;linkadd:=vnode.ChildNodes[i].ChildNodes[&#39;link&#39;].NodeValue; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;//这里只做了一个节点的内容获取,主要是为了便于调试,实际代码中可相应调整 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end; &nbsp;&nbsp;&nbsp;&nbsp;end; &nbsp;&nbsp;//cont用于存放文章对应HTML文件的源代码,idHttp1是TIdHTTP控件 &nbsp;&nbsp;cont:=idHttp1.Get(linkadd); &nbsp;&nbsp;//这下面是在做widestring向IHtmlDocument2的“转换” &nbsp;&nbsp;result:=cont; &nbsp;&nbsp;if&nbsp;cont&nbsp;=&nbsp;&#39;&#39;&nbsp;then&nbsp;Exit; &nbsp;&nbsp;CoInitialize(nil); &nbsp;&nbsp;doc&nbsp;:=&nbsp;CoHTMLdocument_create&nbsp;as&nbsp;IHtmlDocument2; &nbsp;&nbsp;try &nbsp;&nbsp;&nbsp;&nbsp;V&nbsp;:=&nbsp;VarArrayCreate([0,&nbsp;0],&nbsp;varVariant); &nbsp;&nbsp;&nbsp;&nbsp;V[0]&nbsp;:=&nbsp;result; &nbsp;&nbsp;&nbsp;&nbsp;Doc.Write(PSafeArray(TVarData(v).VArray)); &nbsp;&nbsp;&nbsp;&nbsp;Doc.Close; &nbsp;&nbsp;&nbsp;&nbsp;tmp:=doc.all.item(&#39;content&#39;,varEmpty)&nbsp;as&nbsp;ihtmlelement; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;tmp&lt;&gt;nil&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;memo1.Text:=tmp.innerText;&nbsp;&nbsp;//这里的tmp.innerText就是文章的脚本了 &nbsp;&nbsp;finally &nbsp;&nbsp;&nbsp;&nbsp;Doc&nbsp;:=&nbsp;nil; &nbsp;&nbsp;&nbsp;&nbsp;CoUninitialize; &nbsp;&nbsp;end; end;</pre><p><br/></p>
2019/7/3 18:55:10(zgc) 抢沙发(0) 个人作品
阅读全文

代码段!

<pre class="brush:c#;toolbar:false">&nbsp;&nbsp;private&nbsp;void&nbsp;excOut(string&nbsp;filePath) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;table&nbsp;=&nbsp;SqliteHelpers.ExecuteDataset(this.resZERO()).Tables[0]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(table&nbsp;==&nbsp;null) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;请先进行盘点。&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(table.Rows.Count&nbsp;==&nbsp;0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;请先进行盘点。&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamWriter&nbsp;writer&nbsp;=&nbsp;new&nbsp;StreamWriter(filePath,&nbsp;false,&nbsp;Encoding.GetEncoding(&quot;gb2312&quot;)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;fG&nbsp;=&nbsp;&quot;,&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.FG&nbsp;==&nbsp;&quot;t&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fG&nbsp;=&nbsp;&quot;\t&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fG&nbsp;=&nbsp;Program.FG; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;table.Rows.Count;&nbsp;i++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;str3&nbsp;=&nbsp;&quot;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;table.Columns.Count;&nbsp;j++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(j&nbsp;&gt;&nbsp;0)&nbsp;str3&nbsp;=&nbsp;str3&nbsp;+&nbsp;fG; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str3&nbsp;=&nbsp;str3&nbsp;+&nbsp;table.Rows[i][j].ToString(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.WriteLine(str3); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.Close(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;导出成功!&quot;,&nbsp;&quot;系统提示&quot;,&nbsp;MessageBoxButtons.OK,&nbsp;MessageBoxIcon.Asterisk,&nbsp;MessageBoxDefaultButton.Button1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;void&nbsp;excOut(string&nbsp;sql,&nbsp;string&nbsp;filePath) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DataTable&nbsp;table&nbsp;=&nbsp;SqliteHelpers.ExecuteDataset(sql).Tables[0]; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(table&nbsp;==&nbsp;null) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;请先进行盘点。&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else&nbsp;if&nbsp;(table.Rows.Count&nbsp;==&nbsp;0) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;请先进行盘点。&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;fG&nbsp;=&nbsp;&quot;,&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.FG&nbsp;==&nbsp;&quot;t&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fG&nbsp;=&nbsp;&quot;\t&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fG&nbsp;=&nbsp;Program.FG; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StreamWriter&nbsp;writer&nbsp;=&nbsp;new&nbsp;StreamWriter(filePath,&nbsp;false,&nbsp;Encoding.GetEncoding(&quot;gb2312&quot;)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;0;&nbsp;i&nbsp;&lt;&nbsp;table.Rows.Count;&nbsp;i++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;str2&nbsp;=&nbsp;&quot;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;j&nbsp;=&nbsp;0;&nbsp;j&nbsp;&lt;&nbsp;table.Columns.Count;&nbsp;j++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(j&nbsp;&gt;&nbsp;0)&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;fG; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;table.Rows[i][j].ToString(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.WriteLine(str2); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;writer.Close(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MessageBox.Show(&quot;导出成功!&quot;,&nbsp;&quot;系统提示&quot;,&nbsp;MessageBoxButtons.OK,&nbsp;MessageBoxIcon.Asterisk,&nbsp;MessageBoxDefaultButton.Button1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;private&nbsp;string&nbsp;resZERO() &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;str&nbsp;=&nbsp;&quot;select&nbsp;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;str2&nbsp;=&nbsp;&quot;&nbsp;group&nbsp;by&nbsp;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.BH&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;Point&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;&quot;Point&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.HH&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.BH&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;,SubPoint&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;&quot;,SubPoint&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;SubPoint&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;&quot;SubPoint&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.TM&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.BH&nbsp;==&nbsp;&quot;Y&quot;&nbsp;||&nbsp;Program.HH&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;,proCode&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;&quot;,proCode&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;proCode&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str2&nbsp;=&nbsp;str2&nbsp;+&nbsp;&quot;proCode&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.SL&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Program.BH&nbsp;==&nbsp;&quot;Y&quot;&nbsp;||&nbsp;Program.HH&nbsp;==&nbsp;&quot;Y&quot;&nbsp;||&nbsp;Program.TM&nbsp;==&nbsp;&quot;Y&quot;) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;,Sum(counts)&nbsp;counts&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;=&nbsp;str&nbsp;+&nbsp;&quot;Sum(counts)&nbsp;counts&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;(str&nbsp;+&nbsp;&quot;&nbsp;from&nbsp;bs_scan&nbsp;&quot;&nbsp;+&nbsp;str2&nbsp;+&nbsp;&quot;&nbsp;Order&nbsp;by&nbsp;scanTime&quot;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</pre><pre class="brush:delphi;toolbar:false">get_py&nbsp;函数&nbsp;&nbsp;get_wb //根据输入的字符串返回拼音码 string&nbsp;str_temp string&nbsp;str_out int&nbsp;i str_out=&#39;&#39; for&nbsp;i=1&nbsp;to&nbsp;len(str_in) //返回字符串函数修改&nbsp;&nbsp;gf_mid&nbsp;修改为&nbsp;&nbsp;mid&nbsp;2019-5-13 str_temp=mid(str_in,i,1) if&nbsp;str_temp&lt;&gt;&#39;&nbsp;&#39;&nbsp;then select&nbsp;n&nbsp;into&nbsp;:&nbsp;str_temp&nbsp;from&nbsp;twzk&nbsp;where&nbsp;z=&nbsp;:&nbsp;str_temp&nbsp;; str_out=str_out+upper(str_temp) end&nbsp;if if&nbsp;len(str_out)&gt;8&nbsp;then&nbsp;return&nbsp;str_out next return&nbsp;str_out</pre><p><br/></p>
2019/5/13 17:37:26(zgc) 抢沙发(0) 个人作品
阅读全文

C# 汉语生成拼音(微软官方方案)

<p>&nbsp;</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">项目开发中用户的登录名是管理员在后台输入汉字姓名后自动生成的拼音。例如输入:张三,则登录名自动生成ZHANGSAN。</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">我在网上查阅了很多方法:</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">如:<a style="padding: 0px; color: rgb(0, 0, 0);" href="http://blog.csdn.net/nengzhong/article/details/4210039" target="_blank">http://blog.csdn.net/nengzhong/article/details/4210039</a>&nbsp;等一些方法,但是在转换过程中,有些中文它是无法识别的。</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">于是,又东奔西走,终于在为微软的官方找到了最佳解决方案:</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">微软提供了一个Microsoft Visual Studio International Pack 类库软件包,vsintlpack1.zip</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">其中有一个类库:Simplified Chinese&nbsp;Pin-Yin Conversion Library 支持获取简体中文字符的常用属性</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">具体操作:</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;"><strong style="padding: 0px;">1、vsintlpack1.zip 下载地址为:</strong></p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">&nbsp; &nbsp;&nbsp;<a style="padding: 0px; color: rgb(0, 0, 0);" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn">http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&amp;DisplayLang=zh-cn</a>&nbsp;</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;"><br/><strong style="padding: 0px;">2、下载vsintlpack1.zip后</strong>,解压安装其中的CHSPinYinConv.msi,如安装到C:\Program Files\Microsoft Visual Studio International Pack\Simplified Chinese Pin-Yin Conversion Library ,可以看到以下文件。</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">&nbsp; &nbsp;&nbsp;<img alt="" src="https://images0.cnblogs.com/blog/60103/201411/100954089911747.jpg"/></p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;"><strong style="padding: 0px;">3、在项目中添加引用</strong>,在步骤2安装目录下添加引用ChnCharInfo.dll。</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">&nbsp; &nbsp; &nbsp;引用成功后如图:</p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;">&nbsp;<img alt="" src="https://images0.cnblogs.com/blog/60103/201411/100954416782095.jpg"/></p><p style="margin: 10px auto; padding: 0px; text-indent: 0px;"><strong style="padding: 0px;">4 、测试方法如下</strong>:</p><pre class="brush:c#;toolbar:false">private&nbsp;string&nbsp;ConvertToPinYin(string&nbsp;str) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;PYstr&nbsp;=&nbsp;&quot;&quot;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach&nbsp;(char&nbsp;item&nbsp;in&nbsp;str.ToCharArray()) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item)) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Microsoft.International.Converters.PinYinConverter.ChineseChar&nbsp;cc&nbsp;=&nbsp;new&nbsp;Microsoft.International.Converters.PinYinConverter.ChineseChar(item); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//PYstr&nbsp;+=&nbsp;string.Join(&quot;&quot;,&nbsp;cc.Pinyins.ToArray()); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PYstr&nbsp;+=&nbsp;cc.Pinyins[0].Substring(0,&nbsp;cc.Pinyins[0].Length&nbsp;-&nbsp;1); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//PYstr&nbsp;+=&nbsp;cc.Pinyins[0].Substring(0,&nbsp;cc.Pinyins[0].Length&nbsp;-&nbsp;1).Substring(0,&nbsp;1).ToLower(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PYstr&nbsp;+=&nbsp;item.ToString(); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;PYstr; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</pre><p>&nbsp;</p><p>当你的才华还撑不起你的野心时,那你就应该静下心来学习;当你的能力还驾驭不了你的目标时,那就应该沉下心来历练!</p><p>转自:<a href="https://www.cnblogs.com/guangang/articles/5577044.html">https://www.cnblogs.com/guangang/articles/5577044.html</a></p><p></p>
2019/4/24 18:03:06(zgc) 抢沙发(0) Net技术
阅读全文

innosetup 安装前、卸载前判断是否有进程正在运行<转>

<pre class="brush:delphi;toolbar:false">[Code] //安装前判断是否有进程正在运行,istask.dll文件与打包的exe文件一起 function&nbsp;RunTask(FileName:&nbsp;string;&nbsp;bFullpath:&nbsp;Boolean):&nbsp;Boolean; external&nbsp;&#39;RunTask@files:ISTask.dll&nbsp;stdcall&nbsp;delayload&#39;; function&nbsp;KillTask(ExeFileName:&nbsp;string):&nbsp;Integer; external&nbsp;&#39;KillTask@files:ISTask.dll&nbsp;stdcall&nbsp;delayload&#39;; function&nbsp;InitializeSetup():&nbsp;Boolean; begin &nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;if&nbsp;RunTask(&#39;{#MyAppExeName}&#39;,&nbsp;false)&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;MsgBox(&#39;安装程序检测到&nbsp;{#MyAppName}&nbsp;正在运行!&#39;#13&#39;&#39;#13&#39;单击“是”按钮关闭程序并继续安装;&#39;#13&#39;&#39;#13&#39;单击“否”按钮退出安装!&#39;,&nbsp;mbConfirmation,&nbsp;MB_YESNO)&nbsp;=&nbsp;IDYES&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KillTask(&#39;{#MyAppExeName}&#39;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;else&nbsp;Result:=&nbsp;true; end; &nbsp; //&nbsp;卸载前判断进程是否在运行 function&nbsp;RunTaskU(FileName:&nbsp;string;&nbsp;bFullpath:&nbsp;Boolean):&nbsp;Boolean; &nbsp;&nbsp;external&nbsp;&#39;RunTask@{app}/ISTask.dll&nbsp;stdcall&nbsp;delayload&nbsp;uninstallonly&#39;; function&nbsp;KillTaskU(ExeFileName:&nbsp;string):&nbsp;Integer; &nbsp;&nbsp;external&nbsp;&#39;KillTask@{app}/ISTask.dll&nbsp;stdcall&nbsp;delayload&nbsp;uninstallonly&#39;; function&nbsp;InitializeUninstall():&nbsp;Boolean; &nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;RunTaskU(&#39;{#MyAppExeName}&#39;,&nbsp;false)&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;MsgBox(&#39;卸载程序检测到&nbsp;{#MyAppName}&nbsp;正在运行!&#39;#13&#39;&#39;#13&#39;单击“是”按钮关闭程序并继续卸载;&#39;#13&#39;&#39;#13&#39;单击“否”按钮退出卸载!&#39;,&nbsp;mbConfirmation,&nbsp;MB_YESNO)&nbsp;=&nbsp;IDYES&nbsp;then &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;begin &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;KillTaskU(&#39;{#MyAppExeName}&#39;); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;false; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end &nbsp;&nbsp;&nbsp;&nbsp;else &nbsp;&nbsp;&nbsp;&nbsp;Result:=&nbsp;true; &nbsp;&nbsp;&nbsp;&nbsp;UnloadDll(ExpandConstant(&#39;{app}/ISTask.dll&#39;)); &nbsp;&nbsp;end;</pre><p style="box-sizing: border-box; margin: 10px auto;">转:https://blog.csdn.net/dsp_daiyujie/article/details/11945871</p><p><br/></p>
2019/4/16 19:10:02(zgc) 抢沙发(0) innoSetup
阅读全文

inno 添加按钮和链接

<pre class="brush:delphi;toolbar:false">;先定义 #define&nbsp;appUrl&nbsp; procedure&nbsp;URLLabelOnClick(Sender:&nbsp;TObject); var &nbsp;&nbsp;ErrorCode:&nbsp;Integer; begin &nbsp;&nbsp;ShellExec(&#39;open&#39;,&nbsp;&#39;{#appurl}&#39;,&nbsp;&#39;&#39;,&nbsp;&#39;&#39;,&nbsp;SW_SHOWNORMAL,&nbsp;ewNoWait,&nbsp;ErrorCode); end; procedure&nbsp;AboutButtonOnClick(Sender:&nbsp;TObject); begin &nbsp;&nbsp;MsgBox(&#39;Èí¼þ¿ª·¢&nbsp;zhenggc^&#39;#13#10&nbsp;&#39;{#appurl}&#39;&nbsp;&nbsp;&nbsp;,&nbsp;mbInformation,&nbsp;MB_OK); //这是关于按钮里面的内容&nbsp;#13#10是换行的意思 end; procedure&nbsp;InitializeWizard(); var f:string; &nbsp;ErrorCode:&nbsp;Integer; begin &nbsp;&nbsp;RedesignWizardForm; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.PAGENAMELABEL.Font.Color:=&nbsp;clred; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.PAGEDESCRIPTIONLABEL.Font.Color:=&nbsp;clBlue; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.WelcomeLabel1.Font.Color:=&nbsp;clNavy; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WizardForm.WelcomeLabel2.Font.Color:=&nbsp;clTeal; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CancelButton&nbsp;:=&nbsp;WizardForm.CancelButton; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton&nbsp;:=&nbsp;TButton.Create(WizardForm); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Left&nbsp;:=&nbsp;WizardForm.ClientWidth&nbsp;-&nbsp;CancelButton.Left&nbsp;-&nbsp;CancelButton.Width; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Top&nbsp;:=&nbsp;CancelButton.Top; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Width&nbsp;:=&nbsp;CancelButton.Width; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Height&nbsp;:=&nbsp;CancelButton.Height; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Caption&nbsp;:=&nbsp;&#39;关于&#39;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.OnClick&nbsp;:=&nbsp;@AboutButtonOnClick; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AboutButton.Parent&nbsp;:=&nbsp;WizardForm; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel&nbsp;:=&nbsp;TNewStaticText.Create(WizardForm); &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Caption&nbsp;:=&nbsp;&#39;作者&#39;; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Cursor&nbsp;:=&nbsp;crHand; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.OnClick&nbsp;:=&nbsp;@URLLabelOnClick; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Parent&nbsp;:=&nbsp;WizardForm; &nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;Alter&nbsp;Font&nbsp;*after*&nbsp;setting&nbsp;Parent&nbsp;so&nbsp;the&nbsp;correct&nbsp;defaults&nbsp;are&nbsp;inherited&nbsp;first&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Font.Style&nbsp;:=&nbsp;URLLabel.Font.Style&nbsp;+&nbsp;[fsUnderline]; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Font.Color&nbsp;:=&nbsp;clBlue; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Top&nbsp;:=&nbsp;AboutButton.Top&nbsp;+&nbsp;AboutButton.Height&nbsp;-&nbsp;URLLabel.Height&nbsp;-&nbsp;2; &nbsp;&nbsp;&nbsp;&nbsp;URLLabel.Left&nbsp;:=&nbsp;AboutButton.Left&nbsp;+&nbsp;AboutButton.Width&nbsp;+&nbsp;ScaleX(20); &nbsp;&nbsp;&nbsp;&nbsp;urllabel.showhint&nbsp;:=true; &nbsp;&nbsp;&nbsp;&nbsp;urllabel.hint&nbsp;:=&#39;点击访问作者网站&#39;; end;</pre><p>&nbsp;</p>
2019/4/16 11:40:11(zgc) 抢沙发(0) innoSetup
阅读全文
2/3, 23«123»
系统公告

<p>近日服务器切换,将暂时造成.com域名无法访问,.cc域名能够正常访问!预计能正常访问时间在中秋节期间。</p>

搜索
最新评论
站点数据
栏目总数: 7 个
页面数量: 33 篇
评论数量: 1 条
标签数量: 5 个
合作伙伴: 7 位
附件数量: 36 个
执行时间 0.1142 秒(s), 7 个查询