[转]推荐net开发cad入门阅读代码片段

2024-06-10 11:32

本文主要是介绍[转]推荐net开发cad入门阅读代码片段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原文:http://www.cnblogs.com/cadlife/articles/2668158.html

using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.EditorInput ;
using Autodesk.AutoCAD.Runtime ;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices ;
namespace CH02
{public class Class1{//--------------------------------------------------------------// 功能:获取用户输入// 作者: // 日期:2007-7-20// 说明://   //----------------------------------------------------------------[CommandMethod("GetData")]public void GetData(){//获取Editor对象Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;//获取整型数据PromptIntegerOptions intOp = new PromptIntegerOptions("请输入多边形的边数:");PromptIntegerResult intRes;intRes = ed.GetInteger(intOp);//判断用户输入if (intRes.Status == PromptStatus.OK){int nSides = intRes.Value;ed.WriteMessage("多边形的边数为:" + nSides);} if (intRes.Status == PromptStatus.Cancel){ed.WriteMessage("用户按了取消ESC键/n" );}}//--------------------------------------------------------------// 功能:要求用户输入点// 作者: // 日期:2007-7-20// 说明://   //----------------------------------------------------------------[CommandMethod("PickPoint")]static public void PickPoint() {//获取Editor对象Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;PromptPointOptions promptPtOp = new PromptPointOptions("选择一个点:");//指定的基点,如果指定了该点,则在选择的时候绘制一条橡皮线。promptPtOp.BasePoint = new Autodesk.AutoCAD.Geometry.Point3d(0, 0, 0);PromptPointResult resPt; resPt = ed.GetPoint(promptPtOp); if (resPt.Status == PromptStatus.OK) {ed.WriteMessage("选择的点为:" + resPt.Value.ToString());} }//--------------------------------------------------------------// 功能:获取选择集// 作者: // 日期:2007-7-20// 说明://   //----------------------------------------------------------------[CommandMethod("SelectEnt")]static public void SelectEnt() {//获取Editor对象Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;PromptSelectionOptions selectionOp = new PromptSelectionOptions();PromptSelectionResult ssRes = ed.GetSelection(selectionOp);if (ssRes.Status == PromptStatus.OK){SelectionSet SS = ssRes.Value;int nCount = SS.Count;ed.WriteMessage("选择了{0}个实体"  , nCount);}      }//--------------------------------------------------------------// 功能:获取选择集(带过滤)// 作者: // 日期:2007-7-20// 说明://   //----------------------------------------------------------------[CommandMethod("SelectEnt2")]static public void SelectEnt2() {//获取Editor对象Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;// 定义选择集选项PromptSelectionOptions selectionOp = new PromptSelectionOptions();//创建选择集过滤器,只选择块对象TypedValue[] filList = new TypedValue[1];filList[0] = new TypedValue((int)DxfCode.Start, "INSERT");SelectionFilter filter = new SelectionFilter(filList);PromptSelectionResult ssRes = ed.GetSelection(selectionOp, filter);if (ssRes.Status == PromptStatus.OK){SelectionSet SS = ssRes.Value;int nCount = SS.Count;ed.WriteMessage("选择了{0}个块"  , nCount);}     }}}


using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
namespace CH03
{public class Class1{//--------------------------------------------------------------// 功能:创建一个新层// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("CreateLayer")]public void CreateLayer(){ObjectId layerId;Database db = HostApplicationServices.WorkingDatabase;//开始一个事务Transaction trans = db.TransactionManager.StartTransaction();try{//首先取得层表LayerTable lt = (LayerTable)trans.GetObject(db.LayerTableId, OpenMode.ForWrite);//检查MyLayer层是否存在if (lt.Has("MyLayer")){layerId = lt["MyLayer"];}else{//如果MyLayer层不存在,就创建它LayerTableRecord ltr = new LayerTableRecord();ltr.Name = "MyLayer"; //设置层的名字layerId = lt.Add(ltr);trans.AddNewlyCreatedDBObject(ltr, true);}//提交事务trans.Commit();}catch (Autodesk.AutoCAD.Runtime.Exception e){//放弃事务trans.Abort();}finally{// 显式地释放trans.Dispose();}}//--------------------------------------------------------------// 功能:创建一个圆// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("CreateCircle")]public void  CreateCircle(){Database db = HostApplicationServices.WorkingDatabase;// 使用 "using" ,结束是自动调用事务的 "Dispose" using (Transaction trans = db.TransactionManager.StartTransaction()){//获取块表和模型空间BlockTable bt = (BlockTable)(trans.GetObject(db.BlockTableId, OpenMode.ForRead));BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);//创建一个圆并添加到块表记录(模型空间)Point3d center = new Point3d(10, 10, 0);Circle circle = new Circle(center, Vector3d.ZAxis, 10.0);circle.ColorIndex = 1;btr.AppendEntity(circle);trans.AddNewlyCreatedDBObject(circle, true);trans.Commit();}}//--------------------------------------------------------------// 功能:创建一个块定义(块表记录)// 作者: // 日期:2007-7-20// 说明://   //----------------------------------------------------------------public ObjectId CreateBlkDef(){//定义函数的返回值ObjectIdObjectId blkObjId = new ObjectId(); Database db = HostApplicationServices.WorkingDatabase;// 使用 "using"关键字指定事务的边界using (Transaction trans = db.TransactionManager.StartTransaction()){//获取块表BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForWrite);//通过块名myBlkName判断块表中是否包含块表记录if ((bt.Has("myBlkName"))){blkObjId = bt["myBlkName"];//如果已经存在,通过块名获取块对应的ObjectId}else{//创建一个圆Point3d center = new Point3d(10, 10, 0); Circle circle = new Circle(center, Vector3d.ZAxis, 2);circle.ColorIndex = 1;      //创建文本Text:MText text = new MText();text.Contents = " ";text.Location = center;text.ColorIndex = 2;//创建新的块表记录 myBlkNameBlockTableRecord newBtr = new BlockTableRecord();newBtr.Name = "myBlkName";newBtr.Origin = center;//保存块表记录到块表blkObjId = bt.Add(newBtr); // 返回块对应的ObjectIdtrans.AddNewlyCreatedDBObject(newBtr, true); //Let the transaction know about any object/entity you add to the database!//保存新创建的实体到块表记录newBtr.AppendEntity(circle); newBtr.AppendEntity(text);// 通知事务新创建了对象trans.AddNewlyCreatedDBObject(circle, true);trans.AddNewlyCreatedDBObject(text, true);}trans.Commit(); //提交事务}return blkObjId;}//--------------------------------------------------------------// 功能:创建一个块引用// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("CreateBlk")]public void CreateBlkRef(){//获取块的插入点Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;PromptPointOptions ptOps = new PromptPointOptions("选择块的插入点");PromptPointResult ptRes;ptRes = ed.GetPoint(ptOps);Point3d ptInsert;if (ptRes.Status == PromptStatus.OK){ptInsert = ptRes.Value ;}else{ptInsert = new Point3d(0, 0, 0);}Database db = HostApplicationServices.WorkingDatabase;// 使用 "using"关键字指定事务的边界using (Transaction trans = db.TransactionManager.StartTransaction()){//获取块表和模型空间BlockTable bt = (BlockTable)(trans.GetObject(db.BlockTableId, OpenMode.ForWrite));BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);//创建块引用BlockReference blkRef = new BlockReference(ptInsert,CreateBlkDef());// 指定插入点和所引用的块表记录blkRef.Rotation = 1.57;//指定旋转角,按弧度//保存新创建的块引用到模型空间    btr.AppendEntity(blkRef); trans.AddNewlyCreatedDBObject(blkRef, true);    // 通知事务新创建了对象trans.Commit(); //提交事务}}//--------------------------------------------------------------// 功能:读取对象的属性// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("OpenEnt")]public void OpenEnt(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;PromptEntityOptions entOps = new PromptEntityOptions("选择要打开的对象");PromptEntityResult entRes;entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}ObjectId objId = entRes.ObjectId;Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = (Entity)trans.GetObject(objId, OpenMode.ForWrite);ent.ColorIndex = 1;trans.Commit();}}}
}

using System;
using System.Collections.Generic;
using System.Text;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
namespace CH04
{public class Class1{//--------------------------------------------------------------// 功能:通过ObjectId打开对象// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("OpenEnt")]public void OpenEnt(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("通过ObjectId打开对象\n");PromptEntityOptions entOps = new PromptEntityOptions("选择要打开的对象\n");PromptEntityResult entRes;entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}ObjectId objId = entRes.ObjectId;Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = trans.GetObject(objId, OpenMode.ForWrite) as Entity ;ent.ColorIndex = 1;trans.Commit();}}//--------------------------------------------------------------// 功能:类型识别和转换// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("GetType")]public void GetType(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("数据库对象的类型识别和转换\n");PromptEntityOptions entOps = new PromptEntityOptions("选择要打开的对象");PromptEntityResult entRes;entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}ObjectId objId = entRes.ObjectId;Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = trans.GetObject(objId, OpenMode.ForWrite) as Entity;ed.WriteMessage("ent.GetRXClass().Name :" + ent.GetRXClass().Name + "\n");if (ent is Line){Line aLine = ent as Line;aLine.ColorIndex = 1;}else if (ent.GetType() == typeof(Circle)){Circle cir = (Circle)ent;cir.ColorIndex = 2;}trans.Commit();}}//--------------------------------------------------------------// 功能:实体对象的属性// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("EntPro")]public void EntPro(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("实体对象的属性\n");PromptEntityOptions entOps = new PromptEntityOptions("选择要打开的对象\n");PromptEntityResult entRes;entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出\n");return;}ObjectId objId = entRes.ObjectId;Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = trans.GetObject(objId, OpenMode.ForWrite) as Entity;ed.WriteMessage("获取或设置实体的线型\n");ed.WriteMessage("实体的原先的线型为 :" + ent.Linetype + "\n");// 获取线型表记录LinetypeTable lineTypeTbl = trans.GetObject(db.LinetypeTableId, OpenMode.ForRead) as LinetypeTable;// 确保DOT线型名已经加载到当前数据库LinetypeTableRecord lineTypeTblRec = trans.GetObject(lineTypeTbl["DOT"], OpenMode.ForRead) as LinetypeTableRecord;// 设置实体的线型ent.LinetypeId = lineTypeTblRec.ObjectId;// 设置实体的线型比例ed.WriteMessage("设置实体的线型比例为2.0\n");ent.LinetypeScale = 2.0;//设置实体的可见性ent.Visible = true;//设置实体所在的层ed.WriteMessage("实体的原先所在的层为 :" + ent.Layer + "\n");ent.Layer = "layer0";trans.Commit();}}}
}

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
namespace CH05
{public class Class1{//--------------------------------------------------------------// 功能:添加扩展数据XDATA// 作者: // 日期:2007-7-20// 说明:////----------------------------------------------------------------[CommandMethod("AddXData")]public void AddXData(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("添加扩充数据XDATA\n");PromptEntityOptions entOps = new PromptEntityOptions("选择要打开的对象\n");PromptEntityResult entRes;entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}ObjectId objId = entRes.ObjectId;Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = trans.GetObject(objId, OpenMode.ForWrite) as Entity ;ent.ColorIndex = 1;RegAppTable appTbl = trans.GetObject(db.RegAppTableId, OpenMode.ForWrite) as RegAppTable ;if (!appTbl.Has("MyAppName")){RegAppTableRecord appTblRcd = new RegAppTableRecord();appTblRcd.Name = "MyAppName";appTbl.Add(appTblRcd);trans.AddNewlyCreatedDBObject(appTblRcd, true);}ResultBuffer resBuf = new ResultBuffer();//new TypedValue(1001, "MyAppName"), new TypedValue(1000, "开发部门"));resBuf.Add(new TypedValue(1001, "MyAppName"));//注册程序名称resBuf.Add(new TypedValue(1000 , " 张三"));//姓名resBuf.Add(new TypedValue(1000 , " 工程部"));//部门resBuf.Add(new TypedValue(1040, 2000.0));//薪水ent.XData =  resBuf;trans.Commit();}}//--------------------------------------------------------------// 功能:获取扩展数据XDATA// 作者: // 日期:2007-7-20// 说明:////------------------------------------------------------------[CommandMethod("GETXDATA")]public void GETXDATA(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("获取扩充数据XDATA\n");PromptEntityOptions entOps = new PromptEntityOptions("选择带扩展数据的对象");PromptEntityResult entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;using (Transaction trans = db.TransactionManager.StartTransaction()){Entity ent = (Entity)trans.GetObject(entRes.ObjectId, OpenMode.ForRead);ResultBuffer resBuf = ent.XData;if (resBuf != null){//IEnumerator iter = resBuf.GetEnumerator();while (iter.MoveNext()){TypedValue tmpVal = (TypedValue)iter.Current;ed.WriteMessage(tmpVal.TypeCode.ToString() + ":");ed.WriteMessage(tmpVal.Value.ToString() + "\n");}}}}//--------------------------------------------------------------// 功能:在命名对象词典中添加数据// 作者: // 日期:2007-7-20// 说明:////------------------------------------------------------------[CommandMethod("AddInNOD")]public void AddInNOD(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("在命名对象词典中添加数据\n");Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){//获取命名对象词典(NOD)DBDictionary NOD =trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForWrite) as DBDictionary ;// 声明一个新的词典DBDictionary copyrightDict;// 判断是否存在COPYRIGHT词典,没有则创建try{// 获取COPYRIGHT词典copyrightDict = (DBDictionary)trans.GetObject(NOD.GetAt("COPYRIGHT"), OpenMode.ForRead);}catch{//在NOD下创建COPYRIGHT词典copyrightDict = new DBDictionary();NOD.SetAt("COPYRIGHT", copyrightDict);trans.AddNewlyCreatedDBObject(copyrightDict, true);}// 在copyrightDict中,获取或创建 "author" 词典DBDictionary authorDict;try{authorDict = (DBDictionary)trans.GetObject(copyrightDict.GetAt("Author"), OpenMode.ForWrite);}catch{authorDict = new DBDictionary();//"author" doesn't exist, create onecopyrightDict.UpgradeOpen();copyrightDict.SetAt("Author", authorDict);trans.AddNewlyCreatedDBObject(authorDict, true);}// 通过Xrecord和ResultBuffer添加扩展数据Xrecord authorRec;try{authorRec = (Xrecord)trans.GetObject(authorDict.GetAt("AuthorInfo"), OpenMode.ForWrite);}catch{authorRec = new Xrecord();authorRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.Text, "张三"));authorDict.SetAt("AuthorInfo", authorRec);trans.AddNewlyCreatedDBObject(authorRec, true);}trans.Commit();}}//--------------------------------------------------------------// 功能:获取命名对象词典中的数据// 作者: // 日期:2007-7-20// 说明:////------------------------------------------------------------[CommandMethod("GetInNOD")]public void GetInNod(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("获取命名对象词典中数据\n");Database db = HostApplicationServices.WorkingDatabase;using (Transaction trans = db.TransactionManager.StartTransaction()){// 获取NOD DBDictionary NOD = (DBDictionary)trans.GetObject(db.NamedObjectsDictionaryId, OpenMode.ForRead, false);// 获取COPYRIGHT词典DBDictionary copyrightDict = (DBDictionary)trans.GetObject(NOD.GetAt("COPYRIGHT"), OpenMode.ForRead);// 获取Author词典DBDictionary AuthorDict = (DBDictionary)trans.GetObject(copyrightDict.GetAt("Author"), OpenMode.ForRead);// 获取AuthorInfo扩展记录XrecordXrecord authorXRec = (Xrecord)trans.GetObject(AuthorDict.GetAt("AuthorInfo"), OpenMode.ForRead);ResultBuffer resBuf = authorXRec.Data;TypedValue val = resBuf.AsArray()[0];ed.WriteMessage("该图纸由{0}设计\n", val.Value);}}//--------------------------------------------------------------// 功能:添加数据到数据库对象的扩展词典中// 作者: // 日期:2007-7-20// 说明:////------------------------------------------------------------[CommandMethod("AddExtDict")]public void AddExtDict(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("创建对象扩展词典\n");PromptEntityOptions entOps = new PromptEntityOptions("选择要添加扩展数据的块\n");PromptEntityResult entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;using (Transaction trans = db.TransactionManager.StartTransaction()){DBObject obj = trans.GetObject(entRes.ObjectId, OpenMode.ForWrite) as DBObject;BlockReference blkRef;if (obj is BlockReference){blkRef = obj as BlockReference;}else{return;}// 创建对象的扩展词典blkRef.CreateExtensionDictionary();DBDictionary extensionDict = (DBDictionary)trans.GetObject(blkRef.ExtensionDictionary, OpenMode.ForWrite, false);// 通过Xrecord准备附加属性数据Xrecord xRec = new Xrecord();xRec.Data = new ResultBuffer(new TypedValue((int)DxfCode.Text, "张三"),// 姓名new TypedValue((int)DxfCode.Real, 1200.0),//薪水new TypedValue((int)DxfCode.Text, "技术部"));// 部门         // 在扩展词典中添加扩展记录extensionDict.SetAt("EmployeeInfomation", xRec); trans.AddNewlyCreatedDBObject(xRec, true);trans.Commit();}}//--------------------------------------------------------------// 功能:获取数据库对象的扩展词典中的数据// 作者: // 日期:2007-7-20// 说明:////------------------------------------------------------------[CommandMethod("GetExtDict")]public void GetExtDict(){Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;ed.WriteMessage("获取对象扩展词典信息\n");PromptEntityOptions entOps = new PromptEntityOptions("选择添加了扩展数据的块\n");PromptEntityResult entRes = ed.GetEntity(entOps);if (entRes.Status != PromptStatus.OK){ed.WriteMessage("选择对象失败,退出");return;}Database db = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Database;using (Transaction trans = db.TransactionManager.StartTransaction()){DBObject obj = trans.GetObject(entRes.ObjectId, OpenMode.ForWrite) as DBObject;BlockReference blkRef;if (obj is BlockReference){blkRef = obj as BlockReference;}else{ed.WriteMessage("选择对象不是块,退出\n");return;}// 创建对象的扩展词典DBDictionary extensionDict = (DBDictionary)trans.GetObject(blkRef.ExtensionDictionary, OpenMode.ForWrite, false);// 获取AuthorInfo扩展记录XrecordXrecord EmpXRec = (Xrecord)trans.GetObject(extensionDict.GetAt("EmployeeInfomation"), OpenMode.ForRead);ResultBuffer resBuf = EmpXRec.Data;TypedValue val = resBuf.AsArray()[0];ed.WriteMessage("是员工姓名:{0}\n", val.Value);val = resBuf.AsArray()[1];ed.WriteMessage("该员工的薪水:{0}\n", val.Value);val = resBuf.AsArray()[2];ed.WriteMessage("该员工属于:{0}\n", val.Value);trans.Commit();}}}
}


这篇关于[转]推荐net开发cad入门阅读代码片段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048040

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

C++必修:模版的入门到实践

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:C++学习 贝蒂的主页:Betty’s blog 1. 泛型编程 首先让我们来思考一个问题,如何实现一个交换函数? void swap(int& x, int& y){int tmp = x;x = y;y = tmp;} 相信大家很快就能写出上面这段代码,但是如果要求这个交换函数支持字符型

零基础STM32单片机编程入门(一)初识STM32单片机

文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间,擦写次数7.I/O高低电平电压表格8.外设接口

公共筛选组件(二次封装antd)支持代码提示

如果项目是基于antd组件库为基础搭建,可使用此公共筛选组件 使用到的库 npm i antdnpm i lodash-esnpm i @types/lodash-es -D /components/CommonSearch index.tsx import React from 'react';import { Button, Card, Form } from 'antd'

17.用300行代码手写初体验Spring V1.0版本

1.1.课程目标 1、了解看源码最有效的方式,先猜测后验证,不要一开始就去调试代码。 2、浓缩就是精华,用 300行最简洁的代码 提炼Spring的基本设计思想。 3、掌握Spring框架的基本脉络。 1.2.内容定位 1、 具有1年以上的SpringMVC使用经验。 2、 希望深入了解Spring源码的人群,对 Spring有一个整体的宏观感受。 3、 全程手写实现SpringM

ps基础入门

1.基础      1.1新建文件      1.2创建指定形状      1.4移动工具          1.41移动画布中的任意元素          1.42移动画布          1.43修改画布大小          1.44修改图像大小      1.5框选工具      1.6矩形工具      1.7图层          1.71图层颜色修改          1

C++入门01

1、.h和.cpp 源文件 (.cpp)源文件是C++程序的实际实现代码文件,其中包含了具体的函数和类的定义、实现以及其他相关的代码。主要特点如下:实现代码: 源文件中包含了函数、类的具体实现代码,用于实现程序的功能。编译单元: 源文件通常是一个编译单元,即单独编译的基本单位。每个源文件都会经过编译器的处理,生成对应的目标文件。包含头文件: 源文件可以通过#include指令引入头文件,以使

代码随想录算法训练营:12/60

非科班学习算法day12 | LeetCode150:逆波兰表达式 ,Leetcode239: 滑动窗口最大值  目录 介绍 一、基础概念补充: 1.c++字符串转为数字 1. std::stoi, std::stol, std::stoll, std::stoul, std::stoull(最常用) 2. std::stringstream 3. std::atoi, std

Eclipse+ADT与Android Studio开发的区别

下文的EA指Eclipse+ADT,AS就是指Android Studio。 就编写界面布局来说AS可以边开发边预览(所见即所得,以及多个屏幕预览),这个优势比较大。AS运行时占的内存比EA的要小。AS创建项目时要创建gradle项目框架,so,创建项目时AS比较慢。android studio基于gradle构建项目,你无法同时集中管理和维护多个项目的源码,而eclipse ADT可以同时打开

记录AS混淆代码模板

开启混淆得先在build.gradle文件中把 minifyEnabled false改成true,以及shrinkResources true//去除无用的resource文件 这些是写在proguard-rules.pro文件内的 指定代码的压缩级别 -optimizationpasses 5 包明不混合大小写 -dontusemixedcaseclassnames 不去忽略非公共