[转]推荐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

相关文章

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

MySQL 缓存机制与架构解析(最新推荐)

《MySQL缓存机制与架构解析(最新推荐)》本文详细介绍了MySQL的缓存机制和整体架构,包括一级缓存(InnoDBBufferPool)和二级缓存(QueryCache),文章还探讨了SQL... 目录一、mysql缓存机制概述二、MySQL整体架构三、SQL查询执行全流程四、MySQL 8.0为何移除查

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.