<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[阿杰软件工作室]]></title>
<link>http://www.jiesoft.net/</link>
<description><![CDATA[杰软工作室欢迎您光临]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog3 v2.8]]></copyright>
<webMaster><![CDATA[ntchjie@126.com(阿杰)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>阿杰软件工作室</title>
	<url>http://www.jiesoft.net/images/logos.gif</url>
	<link>http://www.jiesoft.net/</link>
	<description>阿杰软件工作室</description>
</image>

			<item>
			<link>http://www.jiesoft.net/article.asp?id=142</link>
			<title><![CDATA[CAD的一些不常见问题的解决方法]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[其它]]></category>
			<pubDate>Wed,12 Nov 2008 17:08:25 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=142</guid>
		<description><![CDATA[1.【CTrl+N无效时之解决办法】<br/>众所周知CTRL+N是新建命令<br/>但有时候CTRL+N则出现选择面板<br/><br/>这时只需到OP选项里调下设置<br/><br/>操作：<br/>OP（选项）------系统-------右侧有一个启动（A显示启动对话框B不显示启动对话框）<br/><br/>选择A则新建命令有效，反则无效 <br/><br/>2.【Ctrl键无效之解决办法】<br/>有时我们会碰到这样的问题<br/>比如CTRL+C（复制），，CTRL+V（粘贴）CTRL+A（全选）等一系列和CTRL键有关的命令都会失效<br/><br/>这时你只需到OP选项里调一下<br/>操作：OP（选项）-----用户系统配置------WINDOWS标准加速键（打上勾）<br/><br/>WINDOWS 标准加速键打上勾后，和CTRL键有关的命令则有效，反之失灵 <br/><br/>3.【填充无效时之解决办法】<br/>有的时候填充时会填充不出来<br/>除了系统变量需要考虑外<br/><br/>还需要去OP选项里检查一下<br/><br/>OP---------显示-----------应用实体填充（打上勾）<br/><br/>4.【加选无效时之解决办法】<br/>AD正确的设置应该是可以连续选择多个物体<br/><br/>但有的时候，连续选择物体会失效，只能选择最后一次所选中的物体<br/><br/>这时可以如下解决<br/><br/>进入OP（选项）---------选择-----------SHIFT键添加到选择集（把勾去掉）<br/><br/>用SHIFT键添加到选择集“去掉勾”后则加选有效<br/>反之加选无效 <br/>★命令：PICKADD 值 ：0/1<br/><br/>5.【CAD命令三键还原】 <br/>如果CAD里的系统变量被人无意更改<br/>或一些参数被人有意调整了怎么办<br/><br/>这时不需重装，也不需要一个一个的改<br/><br/>操作：<br/>OP选项-----配置-----重置<br/><br/>即可恢复 <br/><br/>但恢复后，有些选项还需要一些调整，例如十字光标的大小等~ <br/><br/>5.【鼠标中键不好用怎么办呀】<br/>正常情况下<br/>CAD的滚轮可用来放大和缩小，，，还有就是平移（按住）<br/><br/>但有的时候，按住滚轮时，不是平移，而是出下一个菜单，很烦人<br/><br/>这时只需调下系统变量mbuttonpan即可<br/>初始值： 1 <br/><br/>0 支持菜单 (.mnu) 文件定义的动作 <br/><br/>1 当按住并拖动按钮或滑轮时，支持平移操 <br/><br/>6.【命令行中的模型，布局不见是的解决办法】[/color]<br/>op----选项------显示---------显示布局和模型选项卡（打上勾即可） <br/><br/>[color=purple]7.【CAD技巧】<br/>还在为你做图慢而烦恼吗<br/>还是为你的手指短而够不着回车键而烦脑吗<br/>哦~~~，让我们忘了这一切吧<br/><br/>众所周知，确定键有两个，一个是“回车”另一个则是“空格”<br/><br/>但现在就让我们用右键来代替他们吧<br/>OP选项-----用户系统配置-------绘图区域中使用快捷菜单（打上勾）自定义右键<br/>单击进去------把所有的重复上一个命令打上勾<br/><br/>试下，右键是不是有确定的攻效了<br/><br/>首推：希望大家能养成右键确定这个习惯<br/>其次：空格键次之<br/>烦感：千万不要用回车键确定 <br/><br/>8.【图形里的圆不圆了咋办呀】<br/><br/>经常做图的人都会有这样的体会<br/>所画的圆都不圆了，<br/>当然，学过素描的人都知道，圆是有很多折线组合而成<br/>这里就不多说了<br/><br/>一个命令搞定它<br/><br/>命令：RE~即可 <br/><br/>9.【图形窗口中显示滚动条】<br/><br/>也许有人还用无滚轮的鼠标，那么这时滚动条也许还有点作用（如果平移不太会用）<br/>op----显示------图形窗口中显示滚动条即可 <br/><br/>10.【保存的格式】<br/><br/>OP----打开和保存----另存为2000格式<br/><br/>为什么要存2000格式呢<br/>因为CAD版本只向下兼容<br/>这样用2002 2004 2006都可以打开了<br/>方便操作<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=141</link>
			<title><![CDATA[一个图片备份工具]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[工程小软件]]></category>
			<pubDate>Wed,12 Nov 2008 13:52:18 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=141</guid>
		<description><![CDATA[早上有个项目要归档，可惜CAD图参照了很多个目录里的很多个图片，根本理不清，是哪里哪里。于是写了个程序来搞定。<br/><img src="http://www.jiesoft.net/attachments/month_0811/z20081112135138.JPG" border="0" alt=""/><br/><br/>程序的主要功能是读出所有的图片参照，然后备份到一个指定的文件夹中。<br/>程序操作步骤如下：<br/>1、运行主程序IMGBAK.exe<br/>2、用CAD打开欲备份的CAD文件<br/>3、点击“获取目录”，则自动读入当前打开的CAD图形中的所有的图片参照<br/>4、点击“指定路径”，指定备份的文件夹<br/>5、点击“备份”备份到指定的文件夹。<br/>程序没有怎么测试，能达到我的要求就行。呵呵，给大家用用。<br/><br/><img src="http://www.jiesoft.net/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.jiesoft.net/login.asp">登录</a> | <a href="http://www.jiesoft.net/register.asp">注册</a><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=140</link>
			<title><![CDATA[模仿DICAD写的数据编辑器]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[工程小软件]]></category>
			<pubDate>Tue,04 Nov 2008 09:04:27 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=140</guid>
		<description><![CDATA[完全是模仿dicadpro编写的数据编辑器。呵呵，感觉还差不多。<br/>当然细节的地方还没有调节好，目前只是一个雏形。哈哈。<br/><img src="http://www.jiesoft.net/attachments/month_0811/n20081149425.gif" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=139</link>
			<title><![CDATA[vbnet序列化（续）关于集合的存储]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[程序开发]]></category>
			<pubDate>Tue,21 Oct 2008 14:24:02 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=139</guid>
		<description><![CDATA[关于集合的存储<br/><br/>集合的存储对于二进制数据文件的存储，至关重要。因为道路的数据文件是虽然千变万化，但却基本是有规律的数组。如果能用简单的方式保存数组，对于简化文件是很至关重要的。<br/><br/>大多数程序处理对象集合而不是单个的对象。对于集合数据，首先创建一个数组（或者是其他类型的集合，比如ArrayList或HashTable），用对象填充，然后一个Serialize方法就可以序列化真个集合，是不是很简单？下面的例子，首先创建一个有两个Person对象的ArrayList，然后序列化本身：<br/><br/>Dim FS As New System.IO.FileStream (&#34;c:\test.txt&#34;, IO.FileMode.Cr&#101;ate)<br/><br/>Dim BinFormatter As New Binary.BinaryFormatter()<br/><br/>Dim P As New Person()<br/><br/>Dim Persons As New ArrayList<br/><br/>P = New Person()<br/><br/>P.Name = &#34;Person 1&#34;<br/><br/>P.Age = 35<br/><br/>P.Income = 32000<br/><br/>Persons.Add(P)<br/><br/>P = New Person()<br/><br/>P.Name = &#34;Person 2&#34;<br/><br/>P.Age = 50<br/><br/>P.Income = 72000<br/><br/>Persons.Add(P)<br/><br/>BinFormatter.Serialize(FS, Persons)<br/><br/>以存储序列化数据的文件为参数，调用一个BinaryFormatter实例的Deserialize方法，就会返回一个对象，然后把它转化为合适的类型。下面的代码反序列化文件中的所有对象，然后处理所有的Person对象：<br/><br/>FS = New System.IO.FileStream (&#34;c:\test.txt&#34;, IO.FileMode.OpenOrCr&#101;ate)<br/><br/>Dim obj As Object<br/><br/>Dim P As Person(), R As Rectangle()<br/><br/>Do<br/><br/>obj = BinFormatter.Deserialize(FS)<br/><br/>If obj.GetType Is GetType(Person) Then<br/><br/>P = CType(obj, Person)<br/><br/>&#39; Process the P objext<br/><br/>End If<br/><br/>Loop While FS.Position &lt; FS.Length - 1<br/><br/>FS.Close()<br/><br/>下面的例子调用Deserialize方法反序列化真个集合，然后把返回值转换为合适的类型（Person）：<br/><br/>FS = New System.IO.FileStream(&#34;c:\test.txt&#34;, IO.FileMode.OpenOrCr&#101;ate)<br/><br/>Dim obj As Object<br/><br/>Dim Persons As New ArrayList<br/><br/>obj = CType(BinFormatter.Deserialize(FS), ArrayList)<br/><br/>FS.Close()<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=138</link>
			<title><![CDATA[EICAD层查看器（.net版本）]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[EICAD二次开发]]></category>
			<pubDate>Wed,03 Sep 2008 09:56:08 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=138</guid>
		<description><![CDATA[<img src="http://www.jiesoft.net/attachments/month_0809/g2008939544.gif" border="0" alt=""/><br/><br/>原来版本的eicad层查看器，是基于vb6基础上开发的，最近在学习vb.net，把这个层查看器移植到.net的大旗下，明显的感觉到速度快了许多，以前有些一直没有解决的bug现在也基本都解决了。<br/>唯一遗憾的是，有些局部的模块还不是完全用.net完成的，少数的模块是用com完成的。<br/><br/>界面还是基本参考了原来程序的界面，基本没有变化，功能上也没有变化。呵呵。。<br/>最大的不同是，代码精简了很多，原来用vb写的时候，vb代码还是不很熟，现在基本比较熟了，代码精练多了。<br/>数了下，vbnet代码共50行，而vb代码要到靠近百行。]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=137</link>
			<title><![CDATA[BIDroad文件转Hard文件]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[工程小软件]]></category>
			<pubDate>Thu,28 Aug 2008 09:26:16 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=137</guid>
		<description><![CDATA[<img src="http://www.jiesoft.net/attachments/month_0808/e20088289263.JPG" border="0" alt=""/><br/><br/>应一个朋友的要求，写了这个程序，把bidroad的文件转成Hard的文件<br/>程序功能：<br/>选择bid生成的5个原始数据文件 程序计算后能得到hard的6个数据文件<br/>&nbsp;&nbsp; congo-sgt-95-120_P_DMX.txt&nbsp;&nbsp;转换成dmg dmx<br/>&nbsp;&nbsp;&nbsp;&nbsp;congo-sgt-95-120_P_LJ.xls&nbsp;&nbsp;转换成hdm<br/>&nbsp;&nbsp;&nbsp;&nbsp;congo-sgt-95-120_P_pm.xls 转换成pm<br/>&nbsp;&nbsp;&nbsp;&nbsp;congo-sgt-95-120_P_ZDM.txt 转换成zdm<br/>&nbsp;&nbsp;&nbsp;&nbsp;congo-sgt-95-120_P_路基超高加宽表.xls&nbsp;&nbsp;转换成cg<br/>为了方便，程序在文件读入的时候，统一采用了excel的形式。<br/>步骤如下：<br/>1、首先将五个文件统一读入到一个excel文件中，分别位于不同的工作表，注意需要按逗号分隔读入；<br/>2、运行程序，程序自动读入当前的工作表列表；<br/>3、选择文件对应的工作表；<br/>4、点击“指定文件夹”，指定转换后文件放置的路径；<br/>5、点击“转化”。<br/><br/>如果桩号比较多，则转化的时候比较耗时间。<br/>提示下：<br/>1、程序仅适用于某些特殊的人群，因此加了点小限制。呵呵，没有帮助的就不要下了。<br/>2、下载的是注册版，请留下注册信息，我将发注册号。<br/><br/><br/><img src="http://www.jiesoft.net/images/download.gif" alt="只允许会员下载" style="margin:0px 2px -4px 0px"/> 该文件只允许会员下载! <a href="http://www.jiesoft.net/login.asp">登录</a> | <a href="http://www.jiesoft.net/register.asp">注册</a><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=136</link>
			<title><![CDATA[vbnet序列化读写文件]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[程序开发]]></category>
			<pubDate>Tue,26 Aug 2008 14:50:59 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=136</guid>
		<description><![CDATA[序列化读取文件，是个很有意思的东西，以前一直没有搞懂这个。最近承蒙一高手指点，稍微懂了一点。<br/>序列化的基本方式：将对象送给Formatter，Formatter将其序列化之后会形成一个流。这个流可以是文件流，或者其他的。 <br/>在这里，我们将一个随机生成的数组（转化成字符）进行二进制序列化，并保存到文件；然后把它从文件当中取出，进行反序列化重新得到这个数组。 <br/>首先是定义数组： <br/>Dim nums(10) As Integer <br/><br/>然后是生成数组内容： <br/>Dim i As Integer <br/>For i = 0 To 10 <br/>nums(i) = cstr()Int(Rnd() * 500) + 100 <br/>Next <br/><br/>序列化是通过Formatter对象来实现的。我们要新建一个Formatter对象： <br/>Dim sfFormatter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter <br/>BinaryFormatter是进行二进制序列化的。其它的序列化方式你可以在Runtime.Serialization.Formatters中找到。 <br/><br/>我们还要有一个流来作为序列化的输出： <br/>Dim fStream As New FileStream(“1.dat”, FileMode.Cr&#101;ate) <br/><br/>准备工作完了，现在可以调用Formatter的Serialize方法来进行序列化了：<br/>这里，我们分别保存一个数组，一个字符串形、和一个双精度型变量 <br/>sfFormatter.Serialize(fStream, nums)<br/>sfFormatter.Serialize(fStream, &#34;abcdefg&#34;)<br/>sfFormatter.Serialize(fStream, 3.1415926)<br/><br/>最后不要忘了关闭流： <br/>fStream.Close() <br/><br/>反序列化的方式大同小异，只不过调用的是Formatter的Deserialize方法。代码是这样的： <br/>Private Sub Deserialize() <br/>Dim fStream As New FileStream(“1.dat”, FileMode.Open) <br/>Dim sfFormatter As New System.Runtime.Serialization.Formatters.Binary.BinaryFormatter <br/>下面按顺序分别读出来<br/>Dim nums As Object = sfFormatter.Deserialize(fStream)<br/>Dim prj As String = sfFormatter.Deserialize(fStream)<br/>Dim kk As Double = sfFormatter.Deserialize(fStream)<br/>关闭文件流<br/>fStream.Close() <br/>End Sub <br/><br/>序列化就这么简单。这里只是序列化整数数组。如果你要对自定义类的对象进行序列化，你需要在类的定义前面加上： <br/>&lt;Serializable()&gt; <br/>比如，你要定义一个person的自定义类型，可以按如下定义：<br/>&nbsp;&nbsp;&lt;Serializable()&gt; Public Structure Person<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Name As String<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Age As Integer<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dim Income As Decimal<br/>&nbsp;&nbsp; End Structure<br/>这样你再代码里就可以直接实用自定义的person存储了。<br/><br/>呵呵，原来编程这么简单 <img src="http://www.jiesoft.net/images/smilies/Face_02.gif" border="0" style="margin:0px 0px -2px 0px" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=135</link>
			<title><![CDATA[巨强，.NET下的ARX开发]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[程序开发]]></category>
			<pubDate>Wed,16 Jul 2008 23:11:29 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=135</guid>
		<description><![CDATA[晚上没有事情，下定决心用VS2005搞个ARX的动态，感觉十分的强大，而且速度很不赖。<br/>一个字，爽！两个字，很爽！！<br/><img src="http://www.jiesoft.net/attachments/month_0807/12008716231050.gif" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=134</link>
			<title><![CDATA[平台升级]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[懒人涵洞]]></category>
			<pubDate>Sat,17 May 2008 08:14:12 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=134</guid>
		<description><![CDATA[一直没有完成这个程序，呵呵，很懒。。。。。<br/>最近在学习VBNET，把平台升级下，升级到CAD下面，这样看起来爽的很，最关键的一点：比VB做的在绘图方面速度快了不是一点点，快很多。<br/>先发个截图。<br/><img src="http://www.jiesoft.net/attachments/month_0805/u200851781324.gif" border="0" alt=""/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.jiesoft.net/article.asp?id=133</link>
			<title><![CDATA[vb操作excel的一些代码]]></title>
			<author>ntchjie@126.com(jiesoft)</author>
			<category><![CDATA[程序开发]]></category>
			<pubDate>Fri,09 May 2008 17:20:51 +0800</pubDate>
			<guid>http://www.jiesoft.net/default.asp?id=133</guid>
		<description><![CDATA[许久没有更新博客，因为最近比较忙，没有时间来写程序。<br/>前两天老婆给了我一个excel文件，里面有四万多个文本框，导致该文件达数十兆，打开非常的缓慢。<br/>因此我写了个程序，把里面的文本框都删除了。<br/>界面如下：<br/><img src="http://www.jiesoft.net/attachments/month_0805/2200859172040.jpg" border="0" alt=""/><br/><br/><br/>代码如下：<br/>Private Sub Command1_Click()<br/>Dim myexcel As Object<br/>Dim atext As Object<br/>Dim no&nbsp;&nbsp;As Long<br/><br/>Set myexcel = GetObject(, &#34;excel.Application&#34;)<br/>no = -1<br/>myexcel.ScreenUpdating = False<br/>MsgBox (myexcel.Activesheet.Shapes.Count)<br/>For Each atext In myexcel.Activesheet.Shapes<br/>&nbsp;&nbsp;&nbsp;&nbsp;no = no + 1<br/>&nbsp;&nbsp;&nbsp;&nbsp;atext.Sel&#101;ct<br/>&nbsp;&nbsp;&nbsp;&nbsp;Me.Caption = &#34;删除第&#34; &amp; no &amp; &#34;个&#34;<br/>&nbsp;&nbsp;&nbsp;&nbsp;atext.Del&#101;te<br/>Next atext<br/>myexcel.ScreenUpdating = True<br/><br/>End Sub<br/><br/>Private Sub Command2_Click()<br/>End<br/>End Sub<br/><br/>程序的主要技巧：在开始执行前锁定excel，执行完毕后在打开，这样可以保持较快的运行速度。<br/>呵呵，写程序花了五分钟，运行程序花了半天，晕的很。 <img src="http://www.jiesoft.net/images/smilies/Face_02.gif" border="0" style="margin:0px 0px -2px 0px" alt=""/>]]></description>
		</item>
		
</channel>
</rss>
