mysql触发器如何获取当前表名_MCGS pro组态环境下,如何获取当前用户名,在画面上显示?...

熟悉昆仑通态触屏的工程师、技术员都知道,无论是在MCGS嵌入版软件,还是在MCGS通用版软件,亦或者是现在的MCGS pro软件,都含有一个共同的系统变量“$UserName”。在嵌入式版本中,用户可以直接调用该“$UserName”变量,在画面上显示当前登录的用户名。但是在MCGS pro本版中的McgsPro V3.2.3.1671 SP2版,直接调用系统变量“$UserName”,是无法获取当前用户名,并显示在画面上的,我们来看看官方手册上对该变得说明。

$UserName

对象意义: 在程序运行时记录当前用户的名字。若没有用户登录或用户已退出登录,“$UserName”为空字符串

对象类型: 内存字符串型变量

读写属性: 只读

注意事项: McgsPro系列产品该变量恒为空字符串,无意义

从上述说明,我们可以看到,该系统变量恒为空字符串,无意义,因此无法通过该变量,将登录的当前用户名显示出来。这对新手来讲,可能一时不知道怎么解决,也许需要话费较长时间来研究和学习,这里为了节省初学者的时间,下面我介绍一种获取当前登录用户名,并使其在画面上显示的方法。

1、启动McgsPro组态环境,并新建一个项目,如图所示

b58e824f6d1be0bca76be3f4fb8f1076.png

图1 新建的工程项目

2、建立一个字符变量,名字为“UserName”

单击图1上的“实时数据库”选项,并点击“新增对象”按钮,等到一个新的变量,这个变量的名字会自动生成,原则是在新增对象前,鼠标选中的是哪一个变量,新增对象的名字会在你选中变量的名字后加上数字。比如:本例在新增对象前,鼠标选中的是“InputEtime”变量,单击“新增对象”按钮后,自动生成一个名为“InputEtime1”变量。如图所示

56776e73c1a753d319fedac875a21498.png

图2 新建变量

3、修改变量名

双击新增的对象“InputEtime1”,弹出“”数据对象属性设置“”对话窗口,并在“对象名称”一栏填上需要的对象名称,并在对象类型出选择所需要数据类型,需要对象注释的,还可以在“对象内容注释”里填上注释内容。本例对象名称为“UserName”,对象类型为“字符”,对象注释内容为“获取当前登录用户名”。如图所示

7aa3120f4d7bc9f6a047c456ce13148f.png

图3 修改对象属性

修改完对新增对象属性后,修改的对象会以修改的名字以及相关属性在实时数据库中呈现。如图所示。

b51a00ea1b0491030e33a87b9edd036d.png

图4 修改后的对象显示

4、为“UserName”变量赋值

赋值的方法很多,你可以在登录时通过在登录按钮下用脚本为变量赋值,也可以再运行策略下,通过脚本赋值,等等,总是实现的手段很多。本例以在运行策略下通过脚本赋值来实现。

在“工作台”窗口中,单击“运行策略”选型,点击“新建策略”按钮,弹出“选择策略的类型窗口”,这里我们选择“循环策略”,并单击“确定”按钮,新建的策略将在“运行策略”下显示,如图所示

c740452ae4b3d4a9412de66fcb39620a.png

图5 新建循环策略

5、修改策略属性

修改刚新建的循环策略,选中“策略1”(前面新建的“循环策略”默认名字),点击“策略属性”按钮,弹出“策略属性设置”窗口,并在策略名称下填写策略的名字,循环时间里填上需要循环的时间,策略内容注释栏填写需要为策略做注释说明的内容,本例:策略名称为“循环策略”,循环时间为“500ms”,策略注释内容为:“按照设定的时间循环运行”。如图所示

39ea260e2aada29b34902de2074b0624.png

图6 策略属性修改

单击确定,新建的策略属性被修改完成。如图所示

772ae74f97d47872cc8cc68174b6fda5.png

图7 策略属性修改后

6、策略组态

将修改属性完成后的循环策略组态,选中“循环策略”--点击“策略组态”按钮----弹出“策略组态:循环策略”窗口---右键“文件夹图标”----点击“新增策略行”---双击“脚本程序”---在脚本程序窗口编写需要的脚本,如图所示

cca5f1a86542ff87f3a1094cc4aa7921.png

图8 策略组态

对编写的脚本进行验证检查,保存工作,如图所示

620abb6f3cbf7e970b5293c521c01321.png

图9 脚本验证保存

脚本如果没有错误,弹出“脚本正确”提示框,如若脚本有错误,会提示脚本错误的行等。

脚本没有问题后,关闭脚本编辑窗口,策略组态窗口,并将组态好的策略存盘,如需要在下图上点击“是”按钮

56d7d66bcdf7b36154dfa773f6d2bca5.png

图10 存盘提示确认窗口

7、新建用户窗口,并在用户窗口上建立用户名动态显示、登录按钮以及注销按钮

7bfc3a46a5d27028ed7a743df487df20.png

图11 新建画面,画面添加动态显示

8、新建用户

在MCGS Pro组态环境下,菜单栏:“工具”---“用户权限管理”----弹出“用户管理器”窗口----选中“用户名”----点击“新增用户”按钮---弹出“用户属性设置”窗口---填写“用户名称”---“用户描述”----“用户密码”----“密码确认”---选择用户隶属的用户组,如管理员组---“确认”。如图所示

252ddbbaeb7d2435327434554355e43e.png

图12 新增用户

9、运行组态画面

通过前面的设置、组态等工作,通过运行组态好的画面,测试效果如图所示

b9a8fa26372274073c518f2f36d6cbd9.png

图13 用户显示效果图

通过上述图对比可知,在没有用户登录时,用户名显示为空白,当用用户名为“测试用户”登录后,用户名显示为“测试用户”。

本文就写到这里,欢迎读者来信沟通交流。

知识分享是一种精神!欢迎读者前来阅读,并分享您的知识和经验!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/562631.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java定义一个方法,返回一个整数数组的元素平均值

java定义一个方法,返回一个整数数组的元素平均值 /*** 定义一个方法* 返回一个整数数组的元素平均值*/ public class Test25 {public static double avgArray(int[] arr){int sum 0;for(int x:arr){sumx;}return sum*1.0/arr.length;}public static void main(Str…

md5加密解密代码_Python内置方法实现基于秘钥的信息加解密

点击关注州的先生 精彩不容错过在实际编程开发中,我们会使用到各类的加密算法来对数据和信息进行加密。比如密码中比较常见的MD5加密,以及AES加密等等。对于密码认证来说,MD5加密是比较适合的,因为其不需要接触到明文的数据&#…

java实参将数据传递给形参的两种形式

java实参将数据传递给形参的两种形式 /*** java实参将数据传递给形参的两种形式* 1,按值传递* 2,按引用传递* * 当参数是基本数据类型时,数据不占用堆内存,按值传递* 当参数是引用类型时,数据占用堆内存,按…

python css和xpath_Selenium系列教程(四)css、xpath定位(基于 Python)

#!/usr/bin/env pythonimporttimefrom selenium importwebdriverdriverwebdriver.Chrome()driver.get("http://localhost:63342/webtest/demo.html")#节点driver.find_element_by_xpath("/html/body/div") #绝对路径,从根节点开始,一…

论java中可变参数

论java中可变参数 /*** ...可变参数* 当... 作为形参时,传入的实参是可变的* 在方法体内部,仍然可将可变参数当成数组使用* 如果传入的实参是多个单独的变量,程序会自动将多个单独的变量放入数组** 可变参数的好处* 1,传入数组ok…

mplab x ide 中文使用手册_中文文档:MPLAB ICD 4在线调试器用户指南

MPLAB ICD 4在线调试器用户指南MPLAB ICD 4在线调试器(DV164045)是Microchip最快且最经济高效的调试和编程工具,适用于Microchip PIC、dsPIC闪存和CEC(基于ARM Cortex-M4)单片机。可与功能强大且拥有易于使用的图形用户界面的MPLAB X集成开发环境(IDE)配合使用&…

java定义一个方法计算三角形,长方形,圆形面积和周长

java定义一个方法计算三角形,长方形,圆形面积和周长 /*** 定义一个方法,返回一个圆的周长 半径* 定义一个方法,返回一个圆的面积 半径* 定义一个方法,返回一个矩形的周长 长 宽* 定义一个方法,返回一个…

python可以处理多大的数据_科多大数据之Python基础教程之Excel处理库openpyxl详解...

原标题:科多大数据之Python基础教程之Excel处理库openpyxl详解科多大数据小课堂来啦~Python基础教程之Excel处理库openpyxl详解openpyxl是一个第三方库,可以处理xlsx格式的Excel文件。pipinstallopenpyxl安装。读取Excel文件需要导入相关函数fromopenpyx…

java练习(数组工具类的封装)[目前写过最长的代码,虽然不难]

java练习&#xff08;数组工具类的封装&#xff09;[目前写过最长的代码&#xff0c;虽然不难] package myUtil.arrayUtil;public class ArraysUtil {/*** 升序排列一个byte数组* param arr 要排列的byte数组*/public static void sortASC(byte[] arr){for (int i 0;i<arr…

python center函数对齐方式_Python如何对齐字符串

问题你想通过某种对齐方式来格式化字符串解决方案对于基本的字符串对齐操作&#xff0c;可以使用字符串的ljust(), rjust()和 center()方法。比如&#xff1a;>>> text Hello World>>> text.ljust(20)Hello World >>> text.rjust(20) Hello World&…

python新奇检测_3种Python检测URL状态

需求&#xff1a;Python检测URL状态&#xff0c;并追加保存200的URL代码一&#xff1a;#! /usr/bin/env python#codingutf-8import sysimport requestsdef getHttpStatusCode(url):try:request requests.get(url)httpStatusCode request.status_codereturn httpStatusCodeexc…

java面向对象第一课,定义类,模拟人的行为:吃饭工作休息

java面向对象第一课&#xff0c;定义类&#xff0c;模拟人的行为&#xff1a;吃饭工作休息 /*** 定义类&#xff0c;模拟人的行为&#xff1a;吃饭工作休息*/ public class Person {//静态特征&#xff1a;成员变量 属性 fieldString name; //姓名int age; //年龄//动态…

java使用计算器完成加法、减法运算

java使用计算器完成加法、减法运算 package demo03;/*** 使用计算器完成加法、减法运算*/ public class Calculator {//成员变量private String brand; //品牌private double size; //尺寸//成员方法//加法public int add(int num1,int num2){int result;result num1nu…

python上传文件到onedrive_基于Python的onedrive文件本地化浏览系统–PyOne

基于Python的onedrive文件本地化浏览系统–PyOnePyOne是一款基于Python-Flask的onedrive文件本地化浏览系统&#xff0c;使用MongoDB储存文件列表&#xff0c;使用redis缓存数据&#xff0c;支持绑定多个网盘&#xff0c;极大的提高使用效率。特性简单易用。只需简单设置&#…

warshall算法求传递闭包c++_【建模小课堂】图论算法

图论算法图论算法在计算机科学中扮演着很重要的角色&#xff0c;它提供了对很多问题都有效的一种简单而系统的建模方式。很多问题都可以转化为图论问题&#xff0c;然后用图论的基本算法加以解决。这类问题算法主要包括Dijkstra&#xff0c;Floyd&#xff0c;Prim&#xff0c;最…

java日常笔记

java日常笔记 构造方法 对于一个类来说&#xff0c;一般有三种常见的成员&#xff1a;属性field、方法method、构造器constructor构造方法也叫构造器&#xff0c;用于对象的初始化。构造器是一个创建对象时被自动调用的特 殊方法&#xff0c;目的是对对象的初始化。构造器的名…

java定义计算机类并模拟其操作

java定义计算机类并模拟其操作 /*** 定义计算机类并模拟其操作*/ public class Computer {//成员变量private String cpu "Intel"; // cpuprivate String memory; //内存private String mainBoard; //主板private String keyBoard; //键盘//构造方法public…

python 字典组成的列表_python - 合并多列表组成一个字典

问 题我把原始问题简化一下&#xff0c;希望各位大大帮忙有2个等长list&#xff1a;idlist [id1,id2,id3,id4,id5]userlist [name1,name2,name3,name4,name5]希望合并成以下形式的字典&#xff1a;dict_user {{id:id1, name:name1},{id:id2, name:name2},{id:id3, name:name…

java日常笔记、对象的创建完全是由构造方法实现的吗?this的本质

java日常笔记、对象的创建完全是由构造方法实现的吗 不完全是构造方法是创建java对象重要途径&#xff0c;通过new关键字调用构造器时&#xff0c;构造器也确实返 回了该对象&#xff0c;但这个对象并不是完全由构造器负责创建的&#xff0c;创建一个对象分 如下四步&#xff…

遗传算法python实现_Python遗传算法代码实例讲解

目录实例&#xff1a;求解函数的最大值yxsin(10x)xsin(2x),自变量取值&#xff1a;0--5&#xff0c;用Python画出的图像如下(注&#xff1a;此代码好像有一些感觉不对的地方&#xff0c;首先:没有保留那些适应度低的个体pop select(pop, fitness) 这一行代码&#xff0c;压根就…