




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要摘要主控台软件是雷达信号环境模拟器的重要组成部分,主控台软件设计编写的优劣直接影响到设备的工作性能。在借鉴其他模拟器主控软件设计的基础上,针对主控软件的功能要求,本文提出了一种主控台软件的总体设计方法。分别就软件中用户界面,雷达场景文件设置,雷达信号数据库维护,场景文件传输等部分的设计和实现进行了详细的介绍,并对各部分的设计编写要注意的难点问题进行了重点讨论。该软件真实的模拟实际辐射源环境,并且能够灵活的改变个参数。关键字:用户界面 ,场景文件,数据库维护,场景文件传输。69AbstractABSTRACTMaster control software is the important part of radar signal environment simulator.The performance of the software will make a strong impact on equipments capability.According to the master control softwares missions,a design method for the software is introduced in the paper by using other simulators master control software as reference.The four parts of the software-UI,the File settings of radar scene,the database maintenance of radar signal,the transmission of scene file-are explained respectively,and the problems to which attention should be paid in she software design and writing are discussed in detail.The software successfully simulates the real actual radiation source environment and can change the parameter flexibilitily.Key Words: UI, the file of radar scene, database maintenanece, the transmission of scene file目录目 录第1章引言11.1 选题背景11.2 研究现状11.3 研究重点难点1第2章编程工具简介22.1 VB6.0简介22.2 SQL2000简介3第3章数据库设计53.1 创建数据库53.2 创建新表53.3 配置ODBC数据源与数据库6第4章数据库维护设计104.1 软件流程图104.2 具体设计114.2.1 控件选择114.2.2 数据库显示114.2.3 数据添加删除154.2.4 数据库操作方法174.2.5 代码程序:18第5章场景文件设置215.1 软件流程图215.2 具体实现225.2.1 数据库显示225.2.2 信号选择225.2.3 选择信号显示235.2.4 选择信号保存245.2.5 清空场景29第6章试验控制设置316.1 软件流程图316.2 场景文件显示326.3 场景文件打印336.3.1 常见Excel对象介绍336.3.2 打印设定346.4 场景文件控制356.4.1 串口概述356.4.2 计算机的串口356.4.3 串行通信控件MSComm376.4.4 具体实现43第7章设计心得与不足457.1 设计心得457.2 软件不足45参考文献46致谢47外文资料原文48外文资料译文60第1章 引言第1章 引言1.1 选题背景在雷达技术的飞速飞速发展的今天,雷达信号环境已经变得十分复杂。在新一代雷达对抗设备的研发、试验和鉴定过程中,已经不可能靠布置大量真实电子设备提供所需要的电磁场信号环境1。因此,采用雷达信号环境仿真技术提供复杂、逼真、动态的电磁信号环境,评估雷达信号设备的性能,优化系统设计,具有非常重要的现实意义。1.2 研究现状目前,雷达信号环境模拟器发展迅速。大致可以分为射频,视频等类类型。不过其主控台软件的设计是类似的。有的模拟器主控台向下位传输的是场景描述,信号描述数据的生成由下位机完成,通常利用SP微处理器编程,将程序固化。这种方法的优点是传输和运算难以增加新的模拟雷达体制2。另一种是模拟器主控台向下位机直接传输信号描述数据,数据的生成由主控台软件完成。这种方法的优点是功能易扩展,不足是运算速度和传输速度相对较慢,但在计算机技术和网络技术不断进步的今天,这方面问题已不会对设备性能造成明显影响。本课题主要研究的是后面一种。1.3 研究重点难点本课题主要是利用VB语言,开发一套雷达信号模拟器主控台软件,实现用户能够方便的在界面上输入所需模拟的辐射源的参数。并以表格的形式将参数储存,并传输给下一系统。主要难点包括用户界面设置,数据库管理,辐射源参数储存等等。第3章 数据库设计第2章 编程工具简介2.1 VB6.0简介本课题选取VB6.0作为编程工具。VB6.0全称为VisualBasic 6.0,是微软公司于1998年推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具之一。其结构简单,编写程序对系统的资源占有极低。VB6.0是一款简单易学、功能强大的编程工具。它不但在一般程序设计方面比传统的程序设计语言具有明显的优势,而且可作为多媒体创作工具,支持程序的跳转,即从静态目标跳转到音乐、声音、动画、图形等目标;同时具有脱机播放动画的能力,能较好地控制动画的清晰度、运动速度和方向,并采用了动画过渡技术(如淡入淡出、渐隐渐现)等3。VB6.0的几大优点:1可视化程序设计用传统的程序设计语言设计程序时,必须通过大量的代码去描述界面元素的外观和位置,而且在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。一个成功的界面需经反复多次编程编译修改才能完成,这种编程方式会大大影响编程效率。VB提供了可视化的设计工具,把Windows下的界面设计的复杂性“封装”起来。开发人员只需根据界面的设计要求,在Windows下建立一个“窗体”,并直接在窗体上画出各种“图形对象”,通过设置这些“图形对象”的“属性”来调整其在窗体界面中的位置、大小和样式,从而避免了为界面编写大量的程序代码工作,大大提高了程序设计的效率。2面向对象程序设计在VB中,用来构成用户图形界面的可视化窗体及控件(如按钮、文本框、标签等)都是一个个对象。编程时用户可直接引用这些对象,并可以直接使用系统和为对象封装好的各种功能,用户不必重新编写建立和描述每个对象的程序代码,只需根据实际需要及每个对象所提供的功能编写程序即可。3事件驱动的程序设计传统的编程是面向过程、按规定顺序进行的。应用程序执行时,从第一个语句开始执行,直到最后一个语句结束,这种程序结构完全由编程人员控制程序的执行。而Windows下的应用程序,必须能让用户自由操纵程序的执行,需要采用事件驱动的程序设计方式完成。与Windows下的其他开发工具一样,VB也采用事件驱动的编程机制,应用程序的执行是通过事件来完成的。一个对象可能会产生第2章 编程工具简介多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个常用的对象,当用户用鼠标在它上面单击一下时,便会在该对象上产生一个鼠标单击事件(Click),VB会自动调用执行命令按钮上的Click事件过程,实现指定的操作。在用VB设计应用程序时,没有明显的主程序概念,程序员所要做的工作是针对不同的对象分别填写它们相关的事件过程代码。因此,整个应用程序是由若干个这样的过程程序组成的,从而降低了编程的难度和工作量,提高了程序的开发效率。4强大的数据库编程能力利用VB的数据控件和数据库管理器等工具,可直接建立或处理Microsoft Access格式的数据库,还能直接编辑和访问其他外部数据库,如Dbase、Foxpro、Paradox等。同时VB还提供开放式数据库访问(ODBC)功能,可通过直接访问或者建立连接的方式使用并操作远程服务器上的关系型数据库,如SQL Server、Oracle等。使用结构化查询语言SQL,轻松访问并操纵远程服务器上的关系型数据库,运用应用程序向导,迅速创建标准的数据库应用程序。2.2 SQL2000简介本课题选取的数据库为SQL2000。SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的一个版本。它具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows xp 的大型多处理器的服务器等多种平台使用。SQL2000具有以下几个特点:Internet 集成。SQL Server 2000 数据库引擎提供完整的XML 支持。它还具有构成最大的Web 站点的数据存储组件所需的可伸缩性、可用性和安全功能。SQL Server 2000 程序设计模型与 Windows DNA 构架集成,用以开发 Web 应用程序,并且SQL Server 2000 支持 English Query 和 Microsoft 搜索服务等功能,在Web 应用程序中包含了用户友好的查询和强大的搜索功能。可伸缩性和可用性。同一个数据库引擎可以在不同的平台上使用,从运行Microsoft Windows® 98 的便携式电脑,到运行 Microsoft Windows 2000 数据中心版的大型多处理器服务器。SQL Server 2000 企业版支持联合服务器、索引视图和大型内存支持等功能,使其得以升级到最大 Web 站点所需的性能级别。企业级数据库功能。SQL Server 2000 关系数据库引擎支持当今苛刻的数据处理环境所需的功能。数据库引擎充分保护数据完整性,同时将管理上千个并发修改数据库的用户的开销减到最小。SQL Server 2000 分布式查询使您得以引用来自不同数据源的数据,就好象这些数据是 SQL Server 2000 数据库的一部分,同时分布式事务支持充分保护任何分布式数据更新的完整性。复制同样使您得以维护多个数据复本,同时确保单独的数据复本保持同步。可将一组数据复制到多个移动的脱接用户,使这些用户自主地工作,然后将他们所做的修改合并回发布服务器。SQL Server 2000 中包括一系列管理和开发工具,这些工具可改进在多个站点上安装、部署、管理和使用 SQL Server 的过程。SQL Server 2000 还支持基于标准的、与 Windows DNA 集成的程序设计模型,使 SQL Server 数据库和数据仓库的使用成为生成强大的可伸缩系统的无缝部分。这些功能使您得以快速交付 SQL Server 应用程序,使客户只需最少的安装和管理开销即可实现这些应用程序。第3章 数据库设计第3章 数据库设计3.1 创建数据库首先打开SQL Server2000企业管理器,展开服务器组,然后展开服务器,单机“数据库”/“新建数据库”命令,在弹出的“数据库属性”对话框中,输入数据库的名称。我们这里取数据库名称为“毕设雷达信号“。图3.1数据库界面3.2 创建新表数据库创建完成以后,在SQL Server2000的企业管理器中展开“毕设雷达信号”,选中“表”选项,单机鼠标右键,在出现的快捷菜单中选择“新建表”选项。在表设计器中,有如下操作步骤:1.输入字段名。在“列名”列表项中输入字段名。这里要注意在SQL Server中,字段名是不允许重复的。2.选择适当的数据类型。我们这里长度用的是默认值。3.在“允许空”列表中,我们这里都是选取的不允许空。每个参数对于雷达信号都是很重要的。4.完成这些操作以后,单机保存图标,修改表名。一张表就成功的设计了。图3.2 数据库表格参数注:此图为常规脉冲信号的表格设计。本软件一共建立了4张表格如下图:图3.3数据库表格3.3 配置ODBC数据源与数据库本软件采用Microsoft OLE DB Provider for ODBC作为数据源提供者。在使用Microsoft OLE DB Provider for ODBC 提供者之前应首先配置ODBC数据源,下面介绍ODBC数据源的配置。单击“控制面板”/“管理工具”/“数据源(ODBC)”,打开“ODBC数据源管理器”,单击添加按钮。如下图:图3.4然后,系统将准备添加一个用户数据源。这时会弹出”创建新数据源“对话框。我们这里选择了SQL Server类驱动程序。如下图:图3.5单击完成按钮 ,就进入“创建到SQL Server的新数据源”对话框:图3-6我们在名称文本框中输入数据源名,这里输入“uestc“作为新的数据源名称。描述文本内输入是对数据源的描述,也可以为空。这里没有输入,在服务器列表框中选择需要连接的服务器。这里选择local。单击下一步按钮进入到如下图:图3-7在”创建到SQL Server的数据源“对话框中,选定“使用用户输入登陆ID和密码的SQL Server验证”单选按钮。在登陆ID一栏输入 “sa“ 在”密码“一栏中输入空内容。单击下一步::图3-8这里数据库选择“毕设雷达信号“ 点击下一步。在下图对话框单击完成就成功完成了新数据源的配置:第4章 CD电信营业厅排队问题的原因分析第4章 数据库维护设计4.1 软件流程图由于4个个信号方法类似,在流程图里面只写出了一种。数据库维护主界面常规脉冲信 号重频参差脉冲信号重频抖动信号捷变频信号数据库显示增加种类种类删除信号条件满足条件不满足条件种类不存在种类存在图4.1数据库维护流程图第4章 数据库维护设计4.2 具体设计所谓数据库维护模块就是对前面所建立的数据库中的4个表格内容进行操作。完成对4种雷达信号的删除,增加,修改等功能。由于每种雷达信号的编写方式类似。这里主要介绍常规脉冲信号模块的编程方法。4.2.1 控件选择控件清单:Command控件 4个,frame控件2个,text控件2个(一个是text数组),adodc控件一个,DataGrid控件一个。4.2.2 数据库显示这里数据显示过程是用Datagride表格显示数据库中的常规脉冲信号。我们这里用的连接数据库的控件是ADO Data.ADO Data控件属于ActiveX控件,使用以前必须将其添加到工具箱中4。添加方法如下:单击“工程“/“部件”菜单项,弹出“部件”对话框。在“部件”对话框中选择“microsoft ADO Data Conctrol 6.0(OLE DB)”列表项,单击确定按钮,即可将ADO Data控件添加到工具箱中。将鼠标移到工具箱中,将显示该控件的名称“Adodc”双击工具箱中的ADO Data控件图标或单击ADO Data控件后在窗体上拖拽鼠标,即可将ADO Data控件加到窗体中。然后再设置ADO Data控件连接Access数据库:1.在窗体上面添加一个ADO Data控件以后,单击该控件,在右侧的属性列表中找到ConnectionString属性,单击【】按钮,将弹出下图对话框。图4.22.在属性页对话框中选择“使用连接字符串“连接数据库3.单击生成按钮,选择“Microsoft OLE DB Provider for ODBC Drivers“图4.34.单击下一步注意数据源名称选择uestc,登陆服务器用户名sa 密码空白。图4.45.测试连接。弹出连接成功对话框说明完成连接配置。如下图:图4.5我们这里要连接的是数据库中的常规脉冲信号表格。所以还要在RecordSourse中设置一下如下图:图4.6这样就成功的连接上数据库了。要将数据库表的内容显示出来只要把Datagride中的DataSourse输入Adodc1即可。4.2.3 数据添加删除雷达信号的数据的添加,删除主要是通过工具栏的ButtonClick事件过程来实现的。添加数据如下图:图4.7当输入数据符合要求的时候雷达编号自动加1,界面显示添加成功。当添加数据不满足信号要求的时候如下图:图4.8删除信号如下图:图4.9当要删除的信号不存在时如下图:图4.104.2.4 数据库操作方法本课题对数据库操作主要是使用的ADO Data控件的提供的方法来实现的。4.2.4.1ADO Data控件的AddNew方法向表中增加一条记录功能:为可更新的Recordset对象创建新记录。语法:recordest.Addnew FieldList, Values参数说明:Fieldlist 可选。新记录中字段的单个或一组字段名称或者序列位置。Values 可选。新记录中字段的单个或一组值。如果Fields是数组,那么Values也必须是有相同成员数的数组,否则将发生错误。字段名称的次序必须与每个数组中的字段值得次序想匹配。4.2.4.2ADO Data控件的RecordSource属性查询记录功能:RecordSource属性用来返回或者设置语句或返回一个记录集的查询.语法:obiect.RecordSourse=value参数说明:Object 一个对象表达式,其值为“应用于”列表中的一个对象Value 一个字符串表达式,他指定了一个记录源4.2.4.3ADO Data控件的Delete方法删除一条记录功能:删除当前记录或者记录组语法:recordset.Delete AffectRecords参数说明:AffectRecords AffectEnum值,确定Delete方法所影响的记录数目。4.2.4.4ADO Data控件的Updata方法修改记录。功能:保存对Recordset对象的当前记录所做的所有更改.语法:recordset.Update Fields, Value参数说明:Fields 可选。变体型,代表单个名称;或者变体型数组,代表需要修改的字段(单个或者多个)名称或序号位置。Values 可选。变体型,代表单个值;或者变体型数组,代表新记录中字段(单个或多个)值。修改记录应该分为4步:1.通过一个唯一的字段查询要修改的记录。2.将该记录中要修改的数据显示在文本框中,给用户修改。3按.照1步中的字段,查询表中的记录。4.如记录存在,修改该记录,将文本框中的值赋给对应的字段。4.2.5 代码程序:常规脉冲信号增加代码:Private Sub Command2_Click()Dim i As IntegerAdodc1.RecordSource = select * from 常规脉冲信号i = Adodc1.Recordset.RecordCounti = i + 1If Text2(0).Text 2 And Text2(0).Text 20 And Text2(1).Text 500 And Text2(2).Text 5 And Text2(3).Text 60 And Text2(5).Text 2 And Text2(6).Text 0 ThenAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(0) = iAdodc1.Recordset.Fields(1) = Text2(0).TextAdodc1.Recordset.Fields(2) = Text2(1).TextAdodc1.Recordset.Fields(3) = Text2(2).TextAdodc1.Recordset.Fields(4) = Text2(3).TextAdodc1.Recordset.Fields(5) = Text2(4).TextAdodc1.Recordset.Fields(6) = Text2(5).TextAdodc1.Recordset.Fields(7) = Combo1.TextAdodc1.Recordset.Fields(8) = Text2(6).TextAdodc1.Recordset.UpdateMsgBox 添加成功ElseMsgBox 输入有误End IfEnd Sub2.常规脉冲删除代码:Private Sub Command1_Click()Dim j As IntegerDim i As IntegerDim k As Integerj = Text1.TextAdodc1.RecordSource = select * from 常规脉冲信号i = Adodc1.Recordset.RecordCountAdodc1.RecordSource = select * from 常规脉冲信号 where 雷达编号= + Text1.Text + Adodc1.RefreshIf Adodc1.Recordset.RecordCount 0 ThenAdodc1.Recordset.DeleteAdodc1.Recordset.UpdateFor k = j + 1 To iAdodc1.RecordSource = select * from 常规脉冲信号 where 雷达编号= & k & Adodc1.RefreshAdodc1.Recordset.Fields(0) = Adodc1.Recordset.Fields(0) - 1Adodc1.Recordset.UpdateNext kMsgBox 删除成功ElseMsgBox 该记录不存在End IfAdodc1.RecordSource = select * from 常规脉冲信号Adodc1.RefreshEnd Sub到这里基本上实现了对数据库维护的工作。其他几种雷达信号操作基本类似。这里不做过多说明了第5章 场景文件设置第5章 场景文件设置5.1 软件流程图由于4个信号的场景设置是一样的,这里只写出了一种信号的场景设置流程图场景设置界面常规脉冲信号设置重频参差脉冲信号设置重频抖动信号设置捷变频雷达信号设置数据库信号显示信号选择(主/被)(主?信号存在信号不存在选择信号显示提示错误用户选择保存设置清空选择图5.1场景设置流程图第5章 基于需求管理的CD电信营业厅排队优化措施5.2 具体实现场景文件的选择是本次设计的重点之一,关系到信号模拟参数。在本课题设计中起着承上启下的作用。5.2.1 数据库显示这里我们还是利用控件Adodc连接数据库,DataGrid显示数据库表格信息。图5.2具体设置前面介绍过了,这里不做过多介绍。5.2.2 信号选择这里通过雷达编号对雷达进行选择。当选择了存在的雷达信号的时候如下图:图5.3第5章 场景文件设置如果选择的雷达信号数据库中不存在如下图:图5.45.2.3 选择信号显示这里选用了一个显示表格数据的控件MSFlexGrid控件,并通过赋值语句实现其功能。5.2.3.1 MSFlexGrid控件简介MSFlexGrid控件显示和操作表格数据。其对包含字符串和图片的表格提供了灵活的排序、插入数据和格式编排功能。当与Data控件绑定时,MSFlexGrid控件只显示只读数据。 你可以在MSFlexGrid中的任何单元放置文本、图片或这二者。Row和Col属性指定MSFlexGrid控件的当前单元。你可以在代码中指定当前单元,也可以在运行时使用鼠标或键盘改变当前单元。Text属性引用了当前单元中的文本。 如果单元中的文本太长以致不能在单元中一行显示,将WordWrap属性置为True将在单元中分多行显示文本。要在单元中显示多行文本,你需要增大单元的宽度(ColWidth属性)或行高度(RowHeight属性)。 使用Cols和Rows属性确定MSFlexGrid控件中的行数和列数5。5.2.3.2 MSFlexGrid赋值方法方法其实比较简单吧,就是通过循环和赋值语句即可实现其全部的赋值:If Adodc1.Recordset.RecordCount 0 Theni = i + 1MSFlexGrid1.TextMatrix(i, 1) = Adodc1.Recordset.Fields(0)MSFlexGrid1.TextMatrix(i, 2) = Adodc1.Recordset.Fields(1)MSFlexGrid1.TextMatrix(i, 3) = Adodc1.Recordset.Fields(2)MSFlexGrid1.TextMatrix(i, 4) = Adodc1.Recordset.Fields(3)MSFlexGrid1.TextMatrix(i, 5) = Adodc1.Recordset.Fields(4)MSFlexGrid1.TextMatrix(i, 6) = Adodc1.Recordset.Fields(5)MSFlexGrid1.TextMatrix(i, 7) = Adodc1.Recordset.Fields(6)MSFlexGrid1.TextMatrix(i, 8) = Adodc1.Recordset.Fields(7)MSFlexGrid1.TextMatrix(i, 9) = Adodc1.Recordset.Fields(8)End If如下图显示:图5.55.2.4 选择信号保存这里我们将选择的雷达信号保存在一个表格里面。用到VB与Excel表格之间的操作。5.2.4.1 VB与ExcelVB是常用的应用软件开发工具之一,由于VB的报表功能有限,而且一但报表格式发生变化,就得相应修改程序,给应用软件的维护工作带来极大的不便。因此有很多程序员现在已经充分利用EXECL的强大报表功来实现报表功能。但由于VB与EXCEL由于分别属于不同的应用系统,如何把它们有机地结合在一起,是一个值得我们研究的课题。一、 VB读写EXCEL表:VB本身提自动化功能可以读写EXCEL表,其方法如下:1、在工程中引用Microsoft Excel类型库:从工程菜单中选择引用栏;选择Microsoft Excel 9.0 Object Library(EXCEL2000),然后选择确定。表示在工程中要引用EXCEL类型库。2、在通用对象的声明过程中定义EXCEL对象: Dim xlApp As Excel.Application Dim xlBook As Excel.WorkBook Dim xlSheet As Excel.Worksheet3、在程序中操作EXCEL表常用命令:Set xlApp = CreateObject(Excel.Application) 创建EXCEL对象Set xlBook = xlApp.Workbooks.Open(文件名) 打开已经存在的EXCEL工件簿文件xlApp.Visible = True 设置EXCEL对象可见(或不可见)Set xlSheet = xlBook.Worksheets(表名) 设置活动工作表xlSheet.Cells(row, col) =值 给单元格(row,col)赋值xlSheet.PrintOut 打印工作表xlBook.Close (True) 关闭工作簿xlApp.Quit 结束EXCEL对象Set xlApp = Nothing 释放xlApp对象xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL启动宏xlBook.RunAutoMacros (xlAutoClose) 运行EXCEL关闭宏4、在运用以上VB命令操作EXCEL表时,除非设置EXCEL对象不可见,否则VB程序可继续执行其它操作,也能够关闭EXCEL,同时也可对EXCEL进行操作。但在EXCEL操作过程中关闭EXCEL对象时,VB程序无法知道,如果此时使用EXCEL对象,则VB程序会产生自动化错误。形成VB程序无法完全控制EXCEL的状况,使得VB与EXCEL脱节。二、 EXCEL的宏功能:EXCEL提供一个Visual Basic编辑器,打开Visual Basic编辑器,其中有一工程属性窗口,点击右键菜单的插入模块,则增加一个模块1,在此模块中可以运用Visual Basic语言编写函数和过程并称之为宏。其中,EXCEL有两个自动宏:一个是启动宏(Sub Auto_Open()),另一个是关闭宏(Sub Auto_Close())。它们的特性是:当用EXCEL打含有启动宏的工簿时,就会自动运行启动宏,同理,当关闭含有关闭宏的工作簿时就会自动运行关闭宏。但是通过VB的自动化功能来调用EXCEL工作表时,启动宏和关闭宏不会自动运行,而需要在VB中通过命令xlBook.RunAutoMacros (xlAutoOpen)和xlBook.RunAutoMacros (xlAutoClose) 来运行启动宏和关闭宏。三、 VB与EXCEL的相互勾通:充分利用EXCEL的启动宏和关闭宏,可以实现VB与EXCEL的相互勾通,其方法如下:在EXCEL的启动宏中加入一段程序,其功能是在磁盘中写入一个标志文件,同时在关闭宏中加入一段删除此标志文件的程序。VB程序在执行时通过判断此标志文件存在与否来判断EXCEL是否打开,如果此标志文件存在,表明EXCEL对象正在运行,应该禁止其它程序的运行。如果此标志文件不存在,表明EXCEL对象已被用户关闭,此时如果要使用EXCEL对象运行,必须重新创建EXCEL对象。5.2.4.2具体操作事先建立好2张表格,一个背景路雷达,一个主路雷达如下图:图5.6然后我们通过赋值语句即可事先表格的存取了图5.7具体实现如下:Private Sub Command3_Click()Dim l As IntegerDim VBExcel As Excel.ApplicationDim xlbook As Excel.WorkbookDim xlsheet As Excel.WorksheetSet VBExcel = CreateObject(excel.application)VBExcel.Visible = FalseIf Combo1.Text = 主路雷达 ThenSet xlbook = VBExcel.Workbooks.Open(E:vb主路雷达.xls)Set xlsheet = xlbook.Worksheets(sheet1)xlsheet.Activatexlsheet.Cells(1, 1).Value = 常规脉冲信号xlsheet.Cells(1, 2).Value = 雷达编号xlsheet.Cells(1, 3).Value = 载频xlsheet.Cells(1, 4).Value = 脉宽xlsheet.Cells(1, 5).Value = PRIxlsheet.Cells(1, 6).Value = 脉冲幅度xlsheet.Cells(1, 7).Value = 到达时间xlsheet.Cells(1, 8).Value = 方向角xlsheet.Cells(1, 9).Value = 工作方式xlsheet.Cells(1, 10).Value = 天线扫描周期 For l = 1 To ixlsheet.Cells(l + 1, 2).Value = MSFlexGrid1.TextMatrix(l, 1)xlsheet.Cells(l + 1, 3).Value = MSFlexGrid1.TextMatrix(l, 2)xlsheet.Cells(l + 1, 4).Value = MSFlexGrid1.TextMatrix(l, 3)xlsheet.Cells(l + 1, 5).Value = MSFlexGrid1.TextMatrix(l, 4)xlsheet.Cells(l + 1, 6).Value = MSFlexGrid1.TextMatrix(l, 5)xlsheet.Cells(l + 1, 7).Value = MSFlexGrid1.TextMatrix(l, 6)xlsheet.Cells(l + 1, 8).Value = MSFlexGrid1.TextMatrix(l, 7)xlsheet.Cells(l + 1, 9).Value = MSFlexGrid1.TextMatrix(l, 8)xlsheet.Cells(l + 1, 10).Value = MSFlexGrid1.TextMatrix(l, 9)Nextxlbook.Savexlbook.CloseVBExcel.QuitSet xlsheet = NothingSet xlbook = NothingSet VBEecel = NothingElseIf Combo1.Text = 背景路雷达 ThenSet xlbook = VBExcel.Workbooks.Open(E:vb背景路雷达.xls)Set xlsheet = xlbook.Worksheets(sheet1)xlsheet.Activatexlsheet.Cells(1, 1).Value = 常规脉冲信号xlsheet.Cells(1, 2).Value = 雷达编号xlsheet.Cells(1, 3).Value = 载频xlsheet.Cells(1, 4).Value = 脉宽xlsheet.Cells(1, 5).Value = PRIxlsheet.Cells(1, 6).Value = 脉冲幅度xlsheet.Cells(1, 7).Value = 到达时间xlsheet.Cells(1, 8).Value = 方向角xlsheet.Cells(1, 9).Value = 工作方式xlsheet.Cells(1, 10).Value = 天线扫描周期For l = 1 To ixlsheet.Cells(l + 1, 2).Value = MSFlexGrid1.TextMatrix(l, 1)xlsheet.Cells(l + 1, 3).Value = MSFlexGrid1.TextMatrix(l, 2)xlsheet.Cells(l + 1, 4).Value = MSFlexGrid1.TextMatrix(l, 3)xlsheet.Cells(l + 1, 5).Value = MSFlexGrid1.TextMatrix(l, 4)xlsheet.Cells(l + 1, 6).Value = MSFlexGrid1.TextMatrix(l, 5)xlsheet.Cells(l + 1, 7).Value = MSFlexGrid1.TextMatrix(l, 6)xlsheet.Cells(l + 1, 8).Value = MSFlexGrid1.TextMatrix(l, 7)xlsheet.Cells(l + 1, 9).Value = MSFlexGrid1.TextMatrix(l, 8)xlsheet.Cells(l + 1, 10).Value = MSFlexGrid1.TextMatrix(l, 9)Nextxlbook.Savexlbook.CloseVBExcel.QuitSet xlsheet = NothingSet xlbook = NothingSet VBEecel = NothingElseMsgBox 请选择主路或者背景路信号End IfEnd Sub5.2.5 清空场景当用户要选择新的场景的时候可以用这个功能去清空前面的设置,以方便重新选择。具体实现如下:Dim i As IntegerDim j As IntegerDim VBExcel As Excel.ApplicationDim xlbook As Excel.WorkbookDim xlsheet As Excel.WorksheetSet VBExcel = CreateObject(excel.application)VBExcel.Visible = FalseSet xlbook = VBExcel.Workbooks.Open(E:vb主路雷达.xls)Set xlsheet = xlbook.Worksheets(sheet1)xlsheet.ActivateFor i = 1 To 60For j = 1 To 15xlsheet.Cells(i, j).Value = Next jNext ixlbook.Savexlbook.CloseVBExcel.QuitSet xlsheet = NothingSet xlbook = NothingSet VBEecel = NothingSet xlbook = VBExcel.Workbooks.Open(E:vb背景路雷达.xls)Set xlsheet = xlbook.Worksheets(sheet1)xlsheet.ActivateFor i = 1 To 60For j = 1 To 15xlsheet.Cells(i, j).Value = Next jNext ixlbook.Savexlbook.CloseVBExcel.QuitSet xlsheet = NothingSet xlbook = NothingSet VBEecel = Nothing)第6章 试验控制设置第6章 试验控制设置6.1 软件流程图试验控制界面场景文件显示主路雷达背景路雷达显示显示场景文件打印主路背景打印打印试验控制试验时间设置测试连接连接成功数据传输连接失败继续等待图6.1试验控制流程图6.2 场景文件显示所谓场景文件显示就是把存在Excel表格中的场景文件在用户界面上面显示出来。这里我们还是选用Vb的一个表格控件:MSFlexGrid控件。这个控件在工具栏是找不到的。需要在部件中添加。在部件中选择Microsoft FlexGrid Control 6.0即可。对于场景文件的显示,其实就是几个简单的赋值语句就搞定了。界面图如下:图6.2具体实现用VB操作Excel在赋值即可:定义Excel对象:Dim VBExcel As Excel.ApplicationDim xlbook As Excel.WorkbookDim xlsheet As Excel.Worksheet创建Excel对象:Set VBExcel = CreateObject(excel.application)这里表格不显示出来:VBExcel.Visible = False打开表格:Set xlbook = VBExcel.Workbooks.Open(E:vb主路雷达.xls)设置工作表:Set xlsheet = xlbook.Worksheets(sheet1)激活表格:xlsheet.Activate然后我们就可以通过赋值语句将表格里面的数据赋值给MSFlexGrid,在用户界面上面显示出来。由于要赋值的量比较大,这里我用一个循环来实现:For i = 1 To 40If xlsheet.Cells(i, 2).Value ThenFor k = 1 To 15MSFlexGrid1.TextMatrix(j, k - 1) = xlsheet.Cells(i, k).ValueNext kj = j + 1End
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版广东土地估价师协会职业培训服务合同
- 2025版数字媒体广告资源包租赁合同模板
- 二零二五年度信息技术培训与咨询服务协议
- 二零二五版房产收购项目合作续约合同样本
- 二零二五年度商业地产项目场地转租及投资回报协议
- 二零二五版建筑信息模型(BIM)技术应用合同意向书
- 2025版环保材料消费贷款担保合同
- 2025版城市综合体房地产评估报告合同
- 二零二五版德汉翻译及国际文化交流项目合同
- 二零二五家政洗衣店市场拓展合作协议
- 2025年山东威海城投集团子公司招聘工作人员19人自考难、易点模拟试卷(共500题附带答案详解)
- 野外作业安全知识培训
- 全国卫生健康系统职业技能竞赛(传染病防治监督)参考试题库(含答案)
- 劳务合作协议书范本 二人
- 2025年烘干香菇项目可行性研究报告
- 宜宾2024年四川宜宾市社会福利院招聘编外聘用人员15人笔试历年典型考点(频考版试卷)附带答案详解
- 风电吊装劳务分包合同
- 2.石化厂15万吨常减压及30万吨催化装置拆除
- 2025重庆市建筑安全员《B证》考试题库及答案
- 2025年江苏省盐城公证处招聘公证人员5人历年高频重点提升(共500题)附带答案详解
- 检察院书记员笔试试题
评论
0/150
提交评论