<?xml version="1.0" encoding="UTF-8"?>
<rss>
<channel>
<title>田草博客</title>
<link>http://www.tiancao.net</link>
<Description>田草博客</Description>
<language>zh-cn</language>
<copyright>Copyright 2003-2004 tiancao</copyright>
<webMaster>webmaster@tiancao.net</webMaster>
<image>
	<title>田草博客</title> 
	<url>http://www.tiancao.net/images/logos.gif</url> 
	<link>http://www.tiancao.net</link> 
	<description>田草博客</description> 
</image>
<item><link>http://www.tiancao.net/blogview.asp?logID=2599</link><title><![CDATA[My.Application.Info.DirectoryPath]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2026-03-29 20:43:20</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2599</guid><description><![CDATA[在.net&nbsp;10中：<br>dim&nbsp;appPath&nbsp;as&nbsp;string&nbsp;=&nbsp;Application.StartupPath<br>需要引用&nbsp;System.Windows.Forms&nbsp;或&nbsp;PresentationFramework。<br>dim&nbsp;appPath&nbsp;as&nbsp;string&nbsp;=&nbsp;AppContext.BaseDirectory]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2598</link><title><![CDATA[警告 MSB3277 发现无法解析的“WindowsBase”的不同版本之间存在冲突。]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2026-03-28 22:30:22</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2598</guid><description><![CDATA[<br><img src="attachments/month_2603/vsky_QQ20260328-222823.png" border="0"  style="display:block;width:100%;"  alt="按此在新窗口打开图片" onmouseover="this.style.cursor='hand';" onclick="window.open(this.src);" /><br><img src="attachments/month_2603/07yc_QQ20260328-222949.png" border="0"  style="display:block;width:100%;"  alt="按此在新窗口打开图片" onmouseover="this.style.cursor='hand';" onclick="window.open(this.src);" /><br><br>直接引用对应的版本<br><br>&nbsp;&nbsp;&lt;ItemGroup&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;Reference&nbsp;Include=&quot;WindowsBase&quot;&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;HintPath&gt;C:\Program&nbsp;Files\dotnet\shared\Microsoft.WindowsDesktop.App\10.0.5\WindowsBase.dll&lt;/HintPath&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;Private&gt;false&lt;/Private&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/Reference&gt;]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2592</link><title><![CDATA[if 和elseif 不要重复调用Function]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-11-12 19:42:20</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2592</guid><description><![CDATA[Public&nbsp;Class&nbsp;Form1<br>&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;N&nbsp;As&nbsp;Integer<br>&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Button1_Click(ByVal&nbsp;sender&nbsp;As&nbsp;System.Object,&nbsp;ByVal&nbsp;e&nbsp;As&nbsp;System.EventArgs)&nbsp;Handles&nbsp;Button1.Click<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;=&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;GetT(i)&nbsp;=&nbsp;0&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElseIf&nbsp;GetT(i)&nbsp;=&nbsp;1&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElseIf&nbsp;GetT(i)&nbsp;=&nbsp;3&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(N)<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Function&nbsp;GetT(ByVal&nbsp;i&nbsp;As&nbsp;Integer)&nbsp;As&nbsp;Integer<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;+=&nbsp;1<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Return&nbsp;i<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Function<br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Button2_Click(ByVal&nbsp;sender&nbsp;As&nbsp;System.Object,&nbsp;ByVal&nbsp;e&nbsp;As&nbsp;System.EventArgs)&nbsp;Handles&nbsp;Button2.Click<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;N&nbsp;=&nbsp;0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;For&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;T&nbsp;As&nbsp;Integer&nbsp;=&nbsp;GetT(i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;If&nbsp;T&nbsp;=&nbsp;0&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElseIf&nbsp;T&nbsp;=&nbsp;1&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ElseIf&nbsp;T&nbsp;=&nbsp;3&nbsp;Then<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;If<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Next<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(N)<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br>End&nbsp;Class]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2588</link><title><![CDATA[用 For Each 循环遍历 Dictionary]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-10-02 0:00:28</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2588</guid><description><![CDATA[在&nbsp;VB.NET&nbsp;中，用&nbsp;For&nbsp;Each&nbsp;循环遍历&nbsp;Dictionary&nbsp;是最常见的方式（不能用&nbsp;For&nbsp;i&nbsp;=&nbsp;0&nbsp;To&nbsp;Count&nbsp;-&nbsp;1，因为&nbsp;Dictionary&nbsp;不是按索引访问的）。<br>✅&nbsp;遍历所有键值对（KeyValuePair）<br>vb.net<br>复制<br>Dim&nbsp;dict&nbsp;As&nbsp;New&nbsp;Dictionary(Of&nbsp;String,&nbsp;Integer)()<br>&#39;&nbsp;假设已添加一些数据<br>dict.Add(&quot;apple&quot;,&nbsp;3)<br>dict.Add(&quot;banana&quot;,&nbsp;5)<br><br>For&nbsp;Each&nbsp;kvp&nbsp;As&nbsp;<font color="Red">KeyValuePair</font>(Of&nbsp;String,&nbsp;Integer)&nbsp;In&nbsp;dict<br>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine($&quot;Key:&nbsp;{kvp.Key},&nbsp;Value:&nbsp;{kvp.Value}&quot;)<br>Next<br>✅&nbsp;只遍历键（Keys）<br>vb.net<br>复制<br>For&nbsp;Each&nbsp;key&nbsp;As&nbsp;String&nbsp;In&nbsp;dict.Keys<br>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine($&quot;Key:&nbsp;{key}&quot;)<br>Next<br>✅&nbsp;只遍历值（Values）<br>vb.net<br>复制<br>For&nbsp;Each&nbsp;value&nbsp;As&nbsp;Integer&nbsp;In&nbsp;dict.Values<br>&nbsp;&nbsp;&nbsp;&nbsp;Console.WriteLine($&quot;Value:&nbsp;{value}&quot;)<br>Next]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2581</link><title><![CDATA[Tuple的定义：]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-05-29 20:58:22</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2581</guid><description><![CDATA[Dim&nbsp;rectList&nbsp;As&nbsp;New&nbsp;List(Of&nbsp;Tuple(Of&nbsp;Polyline,&nbsp;Point2d))&nbsp;<br><br>也可以<br>&nbsp;<br>&nbsp;&nbsp;Dim&nbsp;rectList&nbsp;As&nbsp;New&nbsp;List(Of&nbsp;(Polyline,&nbsp;Point2d))&nbsp;<br>]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2579</link><title><![CDATA[修改或添加CAD的注释比例]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-04-12 23:36:19</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2579</guid><description><![CDATA[<a target="_blank" href="https://adndevblog.typepad.com/autocad/2012/05/using-the-net-api-to-add-a-scale-to-a-drawing.html">https://adndevblog.typepad.com/autocad/2012/05/u ... add-a-scale-to-a-drawing.html</a>]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2578</link><title><![CDATA[在CAD中动态编译Deepseek生成的C#代码]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-04-10 21:00:55</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2578</guid><description><![CDATA[&lt;iframe&nbsp;src=&quot;//player.bilibili.com/player.html?isOutside=true&amp;aid=114313457044271&amp;bvid=BV1D5dVYKEjF&amp;cid=29338436321&amp;p=1&quot;&nbsp;scrolling=&quot;no&quot;&nbsp;border=&quot;0&quot;&nbsp;frameborder=&quot;no&quot;&nbsp;framespacing=&quot;0&quot;&nbsp;allowfullscreen=&quot;true&quot;&gt;&lt;/iframe&gt;]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2575</link><title><![CDATA[vb 下载文件]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-02-10 10:05:21</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2575</guid><description><![CDATA[<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="code_head"><tr><td>程序代码：</td></tr></table><pre><code class="VB.NET"><br>Imports&nbsp;System.IO<br>Imports&nbsp;System.Net<br><br>Public&nbsp;Class&nbsp;Form1<br>&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Form1_Load(sender&nbsp;As&nbsp;Object,&nbsp;e&nbsp;As&nbsp;EventArgs)&nbsp;Handles&nbsp;MyBase.Load<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DownloadFile()<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br>&nbsp;&nbsp;&nbsp;&nbsp;Sub&nbsp;DownloadFile()<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;destPath&nbsp;As&nbsp;String&nbsp;=&nbsp;&quot;C:\image36.png&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;url&nbsp;As&nbsp;String&nbsp;=&nbsp;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;request&nbsp;As&nbsp;HttpWebRequest&nbsp;=&nbsp;HttpWebRequest.Create(url)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.Method&nbsp;=&nbsp;&quot;GET&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;request.AutomaticDecompression&nbsp;=&nbsp;DecompressionMethods.GZip&nbsp;Or&nbsp;DecompressionMethods.Deflate<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;response&nbsp;As&nbsp;HttpWebResponse&nbsp;=&nbsp;request.GetResponse()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;stream&nbsp;As&nbsp;Stream&nbsp;=&nbsp;response.GetResponseStream()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Using&nbsp;fileStream&nbsp;As&nbsp;New&nbsp;FileStream(destPath,&nbsp;FileMode.Create)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;stream.CopyTo(fileStream)&nbsp;&#39;使用了&nbsp;CopyTo&nbsp;方法，这是在&nbsp;.NET&nbsp;Framework&nbsp;4.0&nbsp;及更高版本中引入的&nbsp;System.IO.Stream&nbsp;类的方法。如果你使用的是较早版本的&nbsp;.NET&nbsp;Framework，或者&nbsp;CopyTo&nbsp;方法未被识别，你可以手动实现流的复制功能。<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Using<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Using<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Using<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br>End&nbsp;Class<br></code></pre><br><br><br><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="code_head"><tr><td>程序代码：</td></tr></table><pre><code class="VB.NET"><br>Imports&nbsp;System.IO<br>Imports&nbsp;System.Net<br><br>Public&nbsp;Class&nbsp;Form1<br>&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;WithEvents&nbsp;webClient&nbsp;As&nbsp;New&nbsp;System.Net.WebClient<br>&nbsp;&nbsp;&nbsp;&nbsp;Private&nbsp;Sub&nbsp;Form1_Load(ByVal&nbsp;sender&nbsp;As&nbsp;System.Object,&nbsp;ByVal&nbsp;e&nbsp;As&nbsp;System.EventArgs)&nbsp;Handles&nbsp;MyBase.Load<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DownloadFile()<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br><br>&nbsp;&nbsp;&nbsp;&nbsp;Sub&nbsp;DownloadFile()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;destPath&nbsp;As&nbsp;String&nbsp;=&nbsp;&quot;C:\image3.png&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;url&nbsp;As&nbsp;String&nbsp;=&nbsp;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;imageData&nbsp;As&nbsp;Byte()&nbsp;=&nbsp;webClient.DownloadData(url)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;File.WriteAllBytes(destPath,&nbsp;imageData)<br>&nbsp;&nbsp;&nbsp;&nbsp;End&nbsp;Sub<br>End&nbsp;Class<br></code></pre><br><br><br><img src="attachments/month_2502/jg9m_QQ20250210-101948.jpg" border="0"  style="display:block;width:100%;"  alt="按此在新窗口打开图片" onmouseover="this.style.cursor='hand';" onclick="window.open(this.src);" />]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2572</link><title><![CDATA[比较两个double值是否相等时，应该采用相减的方式]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-01-09 19:51:41</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2572</guid><description><![CDATA[&#39;两个double，即使显示的字符串完全相等，通过等号来判断，也不一定准确，与double的精度有关，<br><br>比较两个double值是否相等时，应该采用相减的方式]]></description></item><item><link>http://www.tiancao.net/blogview.asp?logID=2571</link><title><![CDATA[遍历闭合PL线的每一条边]]></title><author>tiancao1001</author><category>VB/VB.NET</category><pubDate>2025-01-08 22:58:47</pubDate><guid>http://www.tiancao.net/blogview.asp?logID=2571</guid><description><![CDATA[Dim&nbsp;ncount&nbsp;As&nbsp;Integer&nbsp;=&nbsp;PL.NumberOfVertices<br>&nbsp;&nbsp;Dim&nbsp;i&nbsp;As&nbsp;Integer&nbsp;=&nbsp;0<br>&nbsp;&nbsp;While&nbsp;i&nbsp;&lt;&nbsp;ncount<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;p1&nbsp;As&nbsp;Point3d&nbsp;=&nbsp;PL.GetPoint3dAt(i)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dim&nbsp;p2&nbsp;As&nbsp;Point3d&nbsp;=&nbsp;PL.GetPoint3dAt((i&nbsp;+&nbsp;1)&nbsp;Mod&nbsp;ncount)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;MsgBox(i&nbsp;&amp;&nbsp;&quot;&nbsp;&nbsp;&quot;&nbsp;&amp;&nbsp;(i&nbsp;+&nbsp;1)&nbsp;Mod&nbsp;ncount)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i&nbsp;+=&nbsp;1<br>&nbsp;&nbsp;End&nbsp;While<br><br>&nbsp;Mod&nbsp;ncount&nbsp;用的好]]></description></item>
</channel>
</rss>