LabVIEW基于机器视觉的实验室设备管理系统(2)
目录
在前期的准备完成之后呢,就要开始实现我们的程序啦,不过在编程之前,我们一定要计划好这个系统需要什么功能。
功能计划
既然我们做的是一个系统,那么首先肯定要有一个登录界面啦,与此同时需要的当然是注册。
然后我们这个是针对学校实验室设备的管理系统,所以老师和学生(也可以说是管理员和普通用户)登录的界面,并且所具有的功能肯定是不一样的。
- 那么管理员应该具有哪些功能呢
- 实验室设备的管理功能:设备信息的查询、添加设备、删除设备、借用设备、归还设备等
- 普通用户的管理功能:用户信息的查询、设置管理员,取消管理员等
- 修改密码
- 普通用户具有的功能
- 设备信息的查询、借用设备、归还设备等
- 修改密码
功能计划做好之后,我们就可以开始实施计划啦,我们首先从用户界面开始制作
普通用户
首先,我们新建一个VI,然后在前面板放置一个选项卡控件。
然后根据我们拟定的功能计划,对每一页设置功能选项卡,不过第一页肯定是我们的欢迎登录界面啦。我们欢迎登录的左边可以放一个字符串显示控件,用来显示我们的欢迎词,右边可以放一个具有象征性的logo。
第二个信息查询可以是左边放一个表格,可以查询到我们数据库里面的设备信息。右边可以设计成查询的功能模块。
欢迎登录
信息查询和欢迎登录这块设计好了,那我们就可以到后面板进行编程啦。
首先欢迎登录这块,我们可以连接上自己的欢迎词,并且通过调节使得显示在屏幕中间,在画红线的地方还可以调节字的大小和颜色等。最后运行起来就是下图的样子啦。
信息查询
信息查询这块,我们采用状态机来实现
首先我们放置一个While循环,然后在While循环外面初始化一部分控件
那么我们在登录这个系统的时候,肯定是要用户首先看到我们欢迎登录的界面,并且每次登录都要是这个界面,所以我们在Whie里面需要这样设置一下,这样就可以在我们刚刚登录的时候,也就是i为0的时候啦。
接下来就是我们状态机上场的时候啦,先制作一个枚举常量的自定义类型,这样就方便我们后续需要更改枚举类型的时候不用一个一个去更改啦。然后我们右键打开我们的自定义类型,并且去编辑我们需要的项(这个项的意义,简单来说就是我们的按键,比如前面我们的查询、返回等按键)
等我们制作好自定义类型之后,就可以连接上我们While循环的移位寄存器啦,然后再连接上我们While循环里面的条件结构。之后我们就可以看到我们条件结构的选项里面就包含了我们之前编辑的项了。
接下来我们选择默认这个部分,为什么需要这个默认呢,因为我们这里需要一个地方来做选择,需要这个地方来中转我们的选择,比方说我们现在需要查询id*******的设备,那么我们点击查询,这个时候,我们默认这个部分就会采集这个点击的动作,然后给条件结构一个现在需要查询的反馈,那么我们就可以运行查询的功能了。等到我们查询完毕之后,程序又回到默认这个地方接着准备接受你的指令。
要完成采集按键信息这个操作,我们可以利用事件结构。我们检测到这个查询按键的值改变的时候就可以用前面制作的自定义类型的枚举变量发出查询的信号给移位寄存器。这样我们的条件结构就会选择我们的查询部分。
然后我们就可以在这个查询部分设计我们的查询功能啦。
关于图中属性节点的创建这里提一下子,如下图。我们右键需要创建属性节点的控件 ,然后点击创建——属性节点——值(或者其他自己需要的),最后创建出来的属性节点还可以往下拉,以此来显示更多的部分。
这部分条件查询就完成了,其他的直接查询全部设备的功能可以根据下图自己尝试。
返回退出程序
这部分极其简单,直接上图。
LabVIEW基于机器视觉的实验室设备管理系统(2)的更多相关文章
- easyconf——基于AugularJS的配置管理系统开发框架
目录 1 easyconf的诞生2 easyconf的设计理念 2.1 总体设计 2.2 细节设计 2.2.1 CRUD操作 2.2.2 即时校验 2.2.3 下拉框设计3 easyconf使用指南 ...
- 基于ArcEngine的影像数据管理系统研制
基于ArcEngine的影像数据管理系统研制 如果批处理,速度很慢,效率低. 详情如下: 分成很多小块的影像数据,要达到连续显示的效果,并导入ArcSDE for SQL Server中以方便管理.在 ...
- 【课程分享】基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构、自己定义工作流)
基于plusgantt的项目管理系统实战开发(Spring3+JDBC+RMI的架构.自己定义工作流) 课程讲师:张弘 课程分类:Java 适合人群:中级 课时数量:37课时 用到技术:Spring ...
- 基于SSH实现员工管理系统之框架整合篇
本篇文章来源于:https://blog.csdn.net/zhang_ling_yun/article/details/77803178 以下内容来自慕课网的课程:基于SSH实现员工管理系统之框架整 ...
- 原创:XXX公司-基于SAP的库存管理系统解决方案
XXX公司-基于SAP的库存管理系统 解决方案 版本:V0.3.0 Excel_Cortan 文件状态: [ ] 草稿 [ ] 正式发布 [√] 正在修改 文件标识: 当前版本: V0.3 作 者 ...
- 基于UML的毕业设计管理系统的分析与设计
基于UML的毕业设计管理系统的分析与设计 <本段与标题无关,自行略过 最近各种忙,天气不错,导师心情不错:“我们要写一个关于UML的专著”,一句话:“一个完整的系统贯穿整个UML的知识”:我:“ ...
- 11 基于django的图书管理系统 多表
1.需求 作业需求:1.列出图书列表.出版社列表.作者列表2.点击作者,会列出其出版的图书列表3.点击出版社,会列出旗下图书列表4.可以创建.修改.删除 图书.作者.出版社 踩分点:1.满足需求1,2 ...
- 基于S2SH开发病房管理系统的设计与实现 源码
基于S2SH开发病房管理系统的设计与实现: 开发环境: Windows操作系统 开发工具:Eclipse/MyEclipse+Jdk+Tomcat+MySQL数据库 运行效果图: 此源码经 ...
- 基于Web的实验室管理系统技术简要报告
基于Web的实验室管理系统技术简要报告 Copyright 朱向洋 Sunsea ALL Right Reserved 一.网站架构 该网站使用C#语言,利用SQL Server2008数据库,采用V ...
- 基于SSM的健身房管理系统
基于SSM的健身房管理系统 The project was made in 2020-05-05~2020-05-10 谨以此片博文记录下我的第一个Java小Demo 项目展示 用户登录页 用户注册页 ...
随机推荐
- C# CEFSharp WCF开发桌面程序实现“同一网站多开”
前言 孔乙己显出极高兴的样子,将两个指头的长指甲敲着柜台,点头说:"对呀,对呀!CEFSharp,你用过么?访问同一网址实现多开怎么实现?比如我有3个淘宝店,我想同时登录维护,就像传说中的指 ...
- async、await其实是generator和promise的语法糖
async 关键字用于声明异步函数,await 用于在async函数中将异步代码变为同步,阻塞代码的执行 对于promise和generator不熟悉的朋友可以移步看看这些文章 Promise的理解与 ...
- 熟悉又陌生的package.json
前言 随着前端的不断发展,package.json可谓是在前端项目中无处不在,它不仅在项目根目录会有,而且在 node_modules 中也存在.那么这个文件到底是干嘛的,又有什么作用?很多人对它的认 ...
- springboot jar thin
springboot jar thin springboot 应用 jar 瘦身.springboot jar 太大.jar与依赖包分离. 两种方法,第一种,spring-boot-thin-laun ...
- 用 GPT-4 给开源项目 GoPool 重构测试代码 - 每天5分钟玩转 GPT 编程系列(8)
目录 1. 好险,差点被喷 2. 重构测试代码 2.1 引入 Ginkgo 测试框架 2.2 尝试改造旧的测试用例 2.3 重构功能测试代码 3. 总结 1. 好险,差点被喷 早几天发了一篇文章:&l ...
- MAUI+Masa Blazor APP 各大商店新手发布指南(三)vivo篇
目录 前言 准备材料 审核流程 测试报告 隐私测试报告 隐私行为数据 其他问题 总结 前言 上架vivo商店,使用厂家的离线推送当然是一个重要原因,与小米不同,vivo的推送服务可以在应用未上架的情况 ...
- CodeForces 1343E Weights Distributing
题意 多组样例 给定\(n,m,a,b,c\),给定一个长度为\(m\)的数组\(p[]\),给定\(m\)条边,构成一个\(n\)个点\(m\)条边的无向图,\(Mike\)想要从\(a\)走到\( ...
- 微信小程序隐私保护协议修改方法 uniapp
微信隐私保护协议指南 一天天没事闲的 01 在manifest.json 中添加一行 "__usePrivacyCheck__" : false 02 自定义一个弹窗组件 ...
- 给你的模糊测试开开窍——定向灰盒模糊测试(Directed Greybox Fuzzing)综述
本文系原创,转载请说明出处 Please Subscribe Wechat Official Account:信安科研人,获取更多的原创安全资讯 原论文:<The Progress, Cha ...
- numpy中矩阵的逆,求解,特征值,特征向量
逆:numpy.linalg.inv() # 求矩阵的逆import numpy as npa=np.mat('1 0;0 1')#生成一个矩阵print(type(a))b=np.linalg.in ...