如何编写代码实现从外部输入块,并插入到当前文件中

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何编写代码实现从外部输入块,并插入到当前文件中相关的知识,希望对你有一定的参考价值。

参考技术A /// <summary>
/// 使用一个新建的database从另外一个不打开的文件引入块记录
/// ImportBlock_DB里的ReadDwgFile方法在编译调试环境下会出错,错误为:尝试读取或写入受保护的内存
/// 但在正常AutoCAD启动装载程序情况下可用
/// Version : 2008.11.11 Sieben
/// </summary>
/// <param name="fileName">另外一个文件的文件名</param>
/// <param name="blockName">引入的一个块记录名,若为空字符串"",将引入文件里面的全部图块</param>
/// <returns>成功返回true,否则返回false</returns>
static public StringCollection ImportBlock_DB(string fileName, string blockName)

if (!File.Exists(fileName)) return null;
Database sourceDb = new Database(false, true);
try

//下面的ReadDwgFile方法在编译调试环境下会出错,错误为:尝试读取或写入受保护的内存
//但在正常AutoCAD启动装载程序情况下可用.
sourceDb.ReadDwgFile(fileName, System.IO.FileShare.Read, false, "");
Database destDb = aApp.DocumentManager.MdiActiveDocument.Database;
ObjectIdCollection blockIds = new ObjectIdCollection();
StringCollection reValue = new StringCollection();
using (Transaction ctrans = sourceDb.TransactionManager.StartTransaction())

BlockTable cbt = (BlockTable)ctrans.GetObject(sourceDb.BlockTableId, OpenMode.ForRead, false);
if (blockName == "")

foreach (ObjectId btrId in cbt)

BlockTableRecord cbtr = (BlockTableRecord)ctrans.GetObject(btrId, OpenMode.ForRead, false);
if (!cbtr.IsAnonymous && !cbtr.IsLayout)

blockIds.Add(btrId);
reValue.Add(cbtr.Name);

cbtr.Dispose();


else if (cbt.Has(blockName))

blockIds.Add(cbt[blockName]);

cbt.Dispose();

if (blockIds.Count == 0)

return null;

else

IdMapping mapping = new IdMapping();
sourceDb.WblockCloneObjects(blockIds, destDb.BlockTableId, new IdMapping(), DuplicateRecordCloning.Replace, false);
return reValue;


catch (System.Exception ex)

se.WriteMessage(ex);
return null;

finally sourceDb.Dispose();
本回答被提问者和网友采纳

打开vim后怎样编写c/c++/java文件即编译运行 编写完后如何保存 保存路径在哪 路径是不是可更改

1、用vim编写文件代码,一般需要按i、a、o、O、A、I这六个字母键进入插入模式,输入完成后,按ESC键退出插入模式。


2、可以直接在vim中执行,vim通过"!"来执行外部命令。下图是在vim中通过”!“号执行gcc编译hello.c的文件,生成可执行文件hello后,同时执行当前文件目录下的hello。g++、java操作类似。

3、保存文件可以通过vim的w命令来进行。如果用vim编辑的文件已经建立,则直接输入w命令按回车键即可保存到已建立文件,如果没有建立的文件,可以在w命令后面接要保存的文件名。

按回车执行,就会提示已写入hello.c文件名中。

也可以保存到其它目录中,在w命令后面接具体路径及文件名即可。如下图所示就是将代码保存为用户家目录下的hello.c。(在linux中~表示当前登录用户的家目录)。

参考技术A 1.vim XXXX.c
2 .按o编辑
3.编辑完毕
4.按esc,切换状态
5.按:
6.输入wq(保存退出)
7.gcc -o XXXX XXXX.c
8.运行输入 ./XXXX(注意是点(.)杠(/)XXXX)本回答被提问者采纳
参考技术B vim即是vi,见vi教程

参考资料:http://baike.baidu.com/view/27682.htm

以上是关于如何编写代码实现从外部输入块,并插入到当前文件中的主要内容,如果未能解决你的问题,请参考以下文章

Cocos2D:编写文本并从文本字段获取输入

在MyEclipse中如何用查看引用的jar包中的class文件的java源代码

打开vim后怎样编写c/c++/java文件即编译运行 编写完后如何保存 保存路径在哪 路径是不是可更改

在JTextArea中插入字(文本),从存储的现有文本中,同时输入

如何更改当前系统时间日期并插入到文本文档中

六周第二次课