如何在按钮中调用bas文件中的程序,比方说一个sub

Amphibian 2003-08-30 12:39:27
如题
...全文
41 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
canyqf 2003-08-30
  • 打赏
  • 举报
回复
声明为public直接调用
5.1 用户需求 普通V带传动是工程使用比较广泛的一种机械传动,主要用于两轴之间距离较远的动力传递。普通V带传动的参数化设计程序涉及到参数选择、 设计计算以及数表和线图处理等问题。 通过本章的学习,一方面, 可提高机械设计数表与线图的处理能力; 另一方面,对计算机辅助机械设计软件的开发全过程也可有初步的了解。 普通V带为无头环形橡胶带,由伸张层(顶胶)、强力层(抗拉体)、 压缩层(底胶)和包布层(胶帆布)组成。 计算机辅助机械设计V带轮设计全文共147页,当前为第1页。 普通V带是标准件,按截面尺寸从小到大分为Y、Z、A、 B、 C、D、E七种型号。需要用户提供的原始数据一般为:传动用途、传递功率、主动轮转速、从动轮转速或传动比、原动机种类、工作机载荷性质、传动位置要求、外廓尺寸等。 用户的需求一般包括:确定普通V带型号,带的基准长度、 根数,传动心距,带轮材料、基准直径、结构型式及尺寸, 计算带的初拉力、 初拉力增量、 作用在轴上的压力,张紧装置, 绘制带轮零件工作图等。 通常,用户提供的原始数据是计算机程序的主要输入参数, 用户的需求是计算机程序的主要输出参数。普通V带传动参数化设计程序的主要输入/输出参数见表5-1。 计算机辅助机械设计V带轮设计全文共147页,当前为第2页。 5.2 系统结构设计 5.2.1 普通V带传动的手工设计过程 1. 普通V带传动的手工设计过程 普通V带传动的手工设计过程一般如图5-1所示。 计算机辅助机械设计V带轮设计全文共147页,当前为第3页。 图5-1 普通V带传动的手工设计过程 计算机辅助机械设计V带轮设计全文共147页,当前为第4页。 2. 普通V带传动手工设计方法与步骤 机械设计软件的最基本功能之一是代替手工设计。因此, 手工设计步骤与设计依据或公式,是软件功能结构与算法设计的基本依据, 计算机求解问题的过程基本是仿照手工设计的步骤与方法进行的。很难想象,软件开发人员在不了解手工设计方法与步骤的情况下,能够独立开发出一套有实用价值的软件。 因此,回顾手工设计的方法与步骤是软件设计之初必须进行的一项基础工作。下面列出普通V带传动手工设计的方法与步骤(见表5-2),以便于读者回顾机械设计的方法与步骤,也有助于阅读理解本章附录列出的普通V带传动设计源程序,有利于机械设计软件开发思路的逐步形成。 计算机辅助机械设计V带轮设计全文共147页,当前为第5页。 【例5-1】 设计由电动机驱动的旋转式水泵所用的普通V带传动。 电动机型号为Y160M-4,其额定功率P=11 kW,转速n1=1460 r/min,水泵轴转速n2=400 r/min,轴间距约为1500 mm,每天工作8小时。 设计过程见表5-3。 计算机辅助机械设计V带轮设计全文共147页,当前为第6页。 5.2.2 软件结构设计 软件结构指软件的各功能模块及其相互间的调用关系。 所谓功能模块,就是实现一定功能的若干语句或函数序列。 比如,VB 6.0应用软件, sub过程(包括事件sub和一般sub过程)、function函数、 独立的bas模块、form窗体都是一个功能模块。bas模块和form模块一般可以包括多个sub和function模块, 是多个sub和function模块的集合。同样,在VF 6.0, procedure、 function都是功能模块。 在VL一个用户自定义函数就是一个功能模块。 计算机辅助机械设计V带轮设计全文共147页,当前为第7页。 开发机械设计软件时,为了处理问题方便,通常把处理某一个数表、 某一个图形的语句或函数序列放在一个模块,而接受用户输入的语句、 输出设计结果的语句或函数等,常放在对象的事件过程。 各种语言都有各自的模块调用方法。比如VB 6.0,用call语句实现sub过程之间的相互调用。但值得注意的是,在可视化语言, 用户只能激发对象, 引发对象的事件过程,比如鼠标单击命令按钮, 引发该命令按钮的click事件过程。 设计软件结构,就是划分程序的功能模块,确定相互之间的调用关系。 如同写文章要先列文章的提纲一样,设计软件要先设计软件的结构。 计算机辅助机械设计V带轮设计全文共147页,当前为第8页。 普通V带传动程序可设置以下功能模块: (1) 原始参数输入主模块(主窗体frmbelt.frm): 它包括主要参数接收模块(接收功率、 转速、 传动比), 工况情况接收模块(接收载荷情况、 启动情况、 每天工作时间)。 这两个模块接收的数据来自原始参数输入窗口, 见图5-2。 计算机辅助机械设计V带轮设计全文共147页,当前为第9页。 图5-2 普通V带传动设计的原始数据输入窗口 计算机辅助机械设计V带轮设计全文共147页,当前为第10页。 (2) 间数据处理主模块(窗
第五部分、操作人员管理设计说明 操作人员维护模块的运行界面如图18所示 图18 操作人员维护界面 操作人员管理系统主要是用来管理对该软件进行操作的工作人员,同时系统所提供的用户权限设置能够提高系统的安全性,并对不同性质的人员给予不同的权限 5.1程序描述 主窗体的代码不是很复杂,界面设计主要是利用了树型控件来实现的 程序模块名称:frmsq; 重要控件:TreeView、图像列表Imagelist等; 相关数据库表:user_load。 该窗体主要实现增加用户、删除用户、对用户进行授权,主要是面向管理人员对操作人员的操作进行管理,满足不同层次的人员对系统不同的需求。 5.2功能 操作人员管理系统主要是用来管理对该软件进行操作的工作人员,同时系统所提供的用户权限设置能够提高系统的安全性,并对不同性质的人员给予不同的权限,为了方便集管理数据库表和数据源,我们把数据库的连接放到Global.bas模块,应用ADO接口技术直接和SQL Server 2000数据库服务器建立连接。 5.3性能 精 度:通过鼠标点击或快捷键进入子模块,对在文本框内输入的大小写敏感,姓名和密码都区分大小写 灵 活 性:用户鼠标点击可以进行确认,按E键表示关闭当前窗口; 时间特性:用户输入后的验证时间在1秒之内; 5.4输人项 通过鼠标点击或快捷键。用户输入的姓名,密码字符信息;这些信息由系统管理员管理,存储在数据库表 5.5输出项 提示信息为信息符号,参考的输出结果如图19,在屏幕上显示一个对话框: 图19:一个显示删除管理员的对话框信息 5.6算法 该窗体主要实现对用户授权,用户的授权是采用0,1编码来实现的。如果该用户拥有某项权限,则该权限为1;反之,则为0。 5.7流程逻辑 登录组件的逻辑流程如下: 图20:操作人员维护模块数据流程图 5.8接口 接口设计包括组件提供给外部的接口和对数据访问组件的调用接口,这些接口构成了该ActiveX 控件实现的内容,该窗体主要实现增加用户、删除用户、对用户进行授权,主要是面向管理人员对操作人员的操作进行管理,满足不同层次的人员对系统不同的需求。 Private SubCommand3_Click () '删除操作人员的命令按钮 '显示对话框,是否删除操作人员 t = MsgBox("你是否确定删除该操作员!", vbOKCancel, "确定吗?") If t = 1 Then '如果返回1,则进行删除操作 '判断是否有记录,如果没有记录,则提示选择操作人员 If rsdel.BOF = True Or rsdel.EOF = True Then t = MsgBox("请选择操作员姓名!", vbOKOnly, "无记录") Else '否则进行删除,并显示成功删除操作人员对话框 rsdel.Delete t = MsgBox("成功删除操作员姓名!", vbOKOnly, "成功") End If tvwdb.Nodes.Clear '清除TreeView节点的内容 tvwdb.Sorted = True '设置sorted属性为真 Set mnode = tvwdb.Nodes.Add() mnode.Text = "操作员姓名" '节点显示“操作员姓名” mnode.Image = 2 '设置节点的图表为imagelist1的图2 Set rspsw = New ADODB.Recordset rspsw.open"select*from user_load",cn,adOpenStatic,adLockPessimistic Do Until rspsw.EOF '用rspsw的记录对treeview进行加载 Set mnode = tvwdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rspsw.Fields("user_name") '使其文本为rspsw字段的用户名 mnode.Image = 1 '设置节点的图表为imagelist1的图1 rspsw.MoveNext '记录往后移动一条 Loop Else Exit Sub End If '将用户数据库表的用户名加载到treeview控件 Private SubPrivate Sub loadtreeview() tvwdb.Sorted = True '将treeview的排序设为真 Set mnode = tvwdb.Nodes.Add() mnode.Text = "操作员姓名" '节点显示“操作员姓名” mnode.Image = 2 '设置节点的图表为imagelist1的图2 If cn.State = 1 Then Else Call condatabase '连接数据库 End If Set rspsw = New ADODB.Recordset '打开rspsw记录集 rspsw.open "select * from user_load", cn, adOpenStatic, adLockPessimistic Do Until rspsw.EOF '用rspsw的记录对treeview进行加载 Set mnode = tvwdb.Nodes.Add(1, tvwChild) '添加treeview的孩子 mnode.Text = rspsw.Fields("user_name") '使其文本为rspsw字段的用户名 mnode.Image = 1 '设置节点的图表为imagelist1的图1 rspsw.MoveNext '记录往后移动一条 Loop End Sub Private Sub Form_Load() '窗体加载过程 Call loadtreeview '调用loadtreeview过程 End Sub Private Sub tvwdb_NodeClick(ByVal Node As MSComctlLib.Node) '处理nodeclick事件 If Node.Index = 1 Then '如果只有一个根节点,则退出程序 Exit Sub End If Call check_condatabase '检查是否连接数据库,如果连接了则放弃,否则连接 If Node.Parent.Index = 1 Then '是根节点 nodename = Node.Text '将删除的变量赋值给nodename Set rsdel = New ADODB.Recordset '获得该节点的用户名的所有资料 rsdel.open "select * from user_load where user_name='" & nodename & "'", cn, _ adOpenStatic, adLockPessimistic End If End Sub 5.9存储分配 本程序在高级语言Visual Basic进行编码,直接的内存分配由VB运行时分配。 本组件内所依赖的变量、结构要求全部在组件元素内申明。 5.10注释设计 本部分代码的实现,应按照该注释规范来进行。 5.11限制条件 控件所依赖的的ActriveX DLL prjDBACCESS必须存在。 该控件在使用的时候,必须经过注册,并且在运行时,客户端程序必须安装有VB运行时的动态连接库。 在运行时,用户端的计算机必须有鼠标或触摸板等点输入设备。 5.12测试计划 本模块的输入基本有鼠标点击来完成,不需要特殊的测试用例,在增加管理员是具体的测试用例和登录测试用例相同,这里不再一一例举。 5.13尚未解决的问题 本模块的没有尚未解决的问题。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧