嗨,大家好,又到立行更新的时候,那我们本期更新什么内容呢?我们更新一张 love you 的 高级技能, love you 的 excel 报表,也就是在这个地方。呃,目录大纲最新的这一期, 这期 love you 的 excel 报表好。呃,我们首先先看一下这个报表的效果啊,我们先把那个 vi 执行一遍。 好,我们直接看一下 excel 生成的这个 excel 报表。 呃,这这个 excel 是 这样子的,也就说那个这个报表是这样子的。呃,如果是 file 呢,它会有红色的这种标记,如果是 pass 的 就没有颜色。嗯,我们直接看一下文案。 首先呢,我们日常使用的报表呢,一般是 csv 和 html, 也有 t t 叉 t, 当然 t 叉 t 做 log 的 比较多一点。 呃,原因是什么呢?原因是 csv html 和 t 叉 t 它存储时间更短,所以呢,像我们每次测试都要存储一个报表的,这种情况下一般会使用这种。但 excel 报表呢,是很多客户是希望看到的。是 excel 报表,可能客户,呃不太, 呃,不太,他也不清楚生成一个 excel 报表需要多长时间,或者生成一个 csv html 叉 t 需要多长时间。 当然生成 excel 报表导致 excel 报表是比前面说的这三种时间比较久的,所以正常情况下呢,我们 excel 报表是配合数据库来用的。意思是什么呢?就说客户需要报表的时候呢,我们直接 从数据库里面导出生成。然后我们说到 excel 报表,就说到一个,嗯,客户定制报表的一个问题就是很多客户哪怕你用的是标准操作平台,但他想定制自己的报表就是指定格式的,嗯,或者呢,就是他对的格式有一定的要求。 呃,那我们本节就专门讲一下这个 excel 的 excel 报表这个模板和 excel 报表的生成。呃,这是模板,文件在这个地方直接都在附件里面,就是大家看的时候直接从附件下就行了。呃,我们看一下这个模板。 呃,这个模板我们会发现一个什么问题呢?它是标定了上线下线,然后呢?呃,有指定的格式可以做筛选。呃,这是报表生成后的样子, 就是如果是 pass 的, 会显示一种颜色,如果是 file 的, 显示一种颜色。呃,当然 excel 报表会比那个 t 叉 t, csv 和 html 要好看一点。呃,至少比 csv 和 t 叉 t 好 看一点,因为它存在指定的格式。那我们本节呢就专门讲解一下这个指定格式的报表该怎样生成,或者说客户没有给你 指定格式,我们怎样根据客户的意思来做这种指定格式的报表?首先第一步呢,我们是生成,呃,自己做一个 template, 做一个模板,这个地方, 对吧?第一步,把这多余的都清掉,只做表头,那表头是什么样子的?一般客户对这个表头要求很严,那如果他给定了更好,如果没给定了,我们可以自己做。这里呢,有一个模板,就是大家可以按照这个模板去做, 这时候像这种给,呃,我们需要在我们的报表里面显示上下线,呃,然后不在范围内的标记特殊的颜色,让他一眼可以看出来。这种情况我们该怎样去处理呢? 呃,这个我们这个文档里面有完整的流程,大家自己去看这个流程就好了。我们这个地方直接说。呃,直接简单的演示一下。首先呢,我们是随便指定一个单元格, 以这个为例啊,这个为例,像这个 file 我 们没标进颜色,以这个为例,在开始条件格式这个地方我们新建规则。 新建什么规则呢?那这个地方, 呃,使用归使用公式,设置单元格格式。这个公式啊,我们直接看我那 excel 报表里面,这里面已经给出了这个格式,直接给出了,让我们看一下 啊,这个看到了吗?这个地方 什么格式呢? 嗯,这个地方,嗯,逗号一三,小于,大于,哎,大于,小于吗?等一下, 我少一个那个双引号 啊,我们就会发现 file 会显示红色,其实所有的都是依照这个例子来搞。我们这个地方需要说一下,就是我们设置这个,呃,我们已经设置好了,我们点一下管理,这个地方是 b 三,那从 b 三应用到,我们可以应用到 往下拉,我们拉一万,哈,一万。好,这个地方我们需要说一个什么内容呢?就说我们设条件设置格式的时候,这个管理规则这个地方, 呃,这个是什么意思?就说 b 三大于,呃, b 三不等于 pass, 就 小于或者大于这样写,然后这个意思就是不为空。假如说我们把这个给它,我们我们先,首先我们先复制一下, 假如说我们把这个给它去掉,会发生一个什么现象呢?会发生,你看下面空的,它也会标记颜色,所以这个地方我们通常要设置开始这个地方通常要设置不为空。 好,那这样呢,这个地方就只有 file 标红色,其他的就不标记。同样的道理啊,我们把下面的每一列,每一列按照上下线,按照上下线都给它标记一下规则, 那我们最后这个规则呢?可以在这个管理规则这里看到,当前工作表所有的规则都在这里面, 一万行不够,你就多写多写一点。举个例子,这个是四千六到五千四,五千三百七十七在它的范围,如果我写一的话呢,不在范围内, 你看他会标记这个颜色,至于这个颜色格式啊,这个颜色浅红色,标记什么颜色,我们都可以选在这个开始开始条件格式管理规则这里去选,去设置双击,那这个地方格式这里默认他选的,我们选的是这种颜色,至于底纹是什么颜色,我们都可以选的, 那这个地方就给它设置格式了,其实就在 template 这里面,把所有的格式都设置好了,设置好了之后呢?设置好了之后呢?我们把多余的行数给它清掉,只保留一个 template, 然后我们用 excel, 呃,我们用程序去实现,嗯,拿这个来说,我们删除, 删除,我们用程序去实现。把这个模式导入,然后,嗯,把这个这个模板这里选择我们这个模板,然后我们直接生成一下, 而我们会发现我们已经从数据库里面导出了相关的数据, 你看不在范围内的都标记红色了,对吧?这样其实就一目了然。那我们在做一个新项目的时候,假如说客户指定了报表模式,指定了报表模式呢?我们会通常呃,把这个报表, 会把客户要求的这个报表的这个台开头抬头放到这个 template 里面去,然后我们再把我们从数据库里面导出来数据啊,填到这个 excel 里面去。 如果客户没有指定报表模式,但是他指定了 excel 报表要求有格式的,那我们可以按照我们文案中这个具体流程设计一个台头发给客户看一下。 呃,如果,如果他满意的话,我们就按照这个抬头去做,如果不满意,直接让他们在这个抬头上面修改一下他们指定的格式,然后我们再按照我们的程序导入就可以了。 好,本节到此结束。啊,那个,这个是 live u 下面的 excel 报表。呃,是配合数据库导出的,那我们这个例子简化简化了,其实只是讲解了呃, 我们报表模板的设计流程和那个 excel 导出导出过程。呃,好,本节到此结束,谢谢大家。
粉丝884获赞1576

大家好,欢迎观看由二十一世纪电子轮胎原创的视频 level 编程的实用技巧系列。这一讲呢,我们主要探讨一下有关波星图表、波星图和 x y 图表这三种图表空间的使用。 好,我们植入主题,首先打开 level u 的启动界面, ctrl 加 n, 新建一个 vi 拖入。我们首先看看波形图表, 波形图表呢,在前面我们有些介绍,它呢是用于显示单个数值,比较适用于那种实时显 式的情况。比方说我们在程序框图中添加一个 y 循环, 那么添加这个,哇,循环,我们可以添加一个随机数的产生,让它显示。 我们在程序框图中可以添加一个 for 循环, 再拖入一个随机数产生,这样呢,可以用于实时显示这个随机数产生,这里呢,我们可以创建一个随机长量,这样呢,我们 为了便于观察,可以在这个循环里面添加一个延时, 比方说是二百毫秒。好,我们运行一下,可以看一下。这里, 这里大家可以看到,它呢是实时显示的。这里呢,这个图表呢有三种刷新模式, 我们可以右键高级刷新模式,这里有三种,一个是带状图表,这是默认的情况。第二个是试播器图表,第三种是扫描图。 好,我们可以看看试播器图表,运行一下,他呢和第一种差别不是很大,那么第二种, 我们看一下第三种扫描图,这里呢会添加一个红线,用于自动扫描,那他呢是这样一种形式。好,这是呢,我们 选为他的默认形式。第一种,这是波形图表,用于显示单数值形式。那么如果我们想用这个波形图表显示两条或者是两条以上的这个事实虚线, 我们应该如何操作?比方说这里我们用于显示两条曲线,好,我们呢可以使用这里的 捆绑就可以。 好,我们再添加一个随机数的产生,为了区别呢,我们可以添加一个让它乘以十, 这样呢就形成了一个醋,在这个醋中就包含了两两个随机数产生的两个点, 我们运行一下可以看一下, 大家可以看到它显示的时候有一条红线,一条白线,白线的幅值比较小,它对应于 一块随机数产生,红线的复制比较大,对应于这一块数值的产生。这样呢我们就可以用一个波形图表用于显示两条或两条以上的实时曲线,这种情况呢比较适用于 有多个传感器多通道采集数据的情况。 那么这是关于拨清图表,下面呢我们看看这个拨清图表,它的右键选项,这里我们可以看到有一个分格显示曲线, 我们点击以后可以看到他的是这种情况,我们运行一下,那么这样一个波形图表分为上下两个窗口,这样我们就可以便于观察,尤其是在这两个曲线的幅度 相差不大的情况下。为了便于区分,我们可以用于选择刚才的分层显示曲线,这是层叠,层叠是这样一种情况。 好,这是关于波星图表,下面呢我们看一看波星图,波星图我们在前面也讲过,它是用于整个数度数值的显示, 比方说在这里有个放循环,那么把它拉到循环的边界,它就会自动的产生一个数组, 那么这样一个数组好显示单个数度 连接即可,运行一下,好,最后运行完循环之后,他会显示整个数组的数值。那么对应于,如果是想显示两条以上的曲线,应该如何操作?那么这里呢,我们就会用到 创建数组这样一个自函数,这个创建数组呢是可以是可扩展的,你可以不停的 无限的拉长,添加任意一个,任意无穷多个数组或者数值。这里呢,我们需要两个节点即可, 好运行一下 control 加, 这时呢步行图,这个空间中就显示了两条曲线,一条红线,一条白线,这是比较简单的一种情况, 那么我们在实际项目研究中可能会遇到这样一种情况,我们所要显示的两个数组,他的大小是不一样的,比方说第一个数组,他的为他是一为元素,个数是十个,那么 我们还可以再加添加另外一个循环,定义他的次数是二十,那么他产生的随机数,这样 一个数组大小便是二十。那么如何用这样一个波形图控键,既显示元素是十的一个数组,也显示元素是二十的这样一个数组呢? 如果我们再用这个创建数组是肯定不合适的,我们不妨试验一下。 好,我们可以添加复制另外一个波形图空间, 这样我们 ctrl 加运行一下, 那么大家可以看到, 虽然下面这个波形图案显示的是两两个数组的数据,但是我们可以看到这条白色曲线在他后面, 它目 level you 默认的是添加了零,它后面确实是没有数值的,但是它添加了零,这样使得这个曲线就变得很难看,那么我们应该如何操作呢? 使得这个白色曲线显示到十这个位置就不再显示。好,这里呢,我们使用的不是创建数组, 使用的是醋中的创建醋数组。好,我们替换,这时候我们再运行一些,运行 一下,大家可以看到,这时呢白色曲线到这里就结束,后面没有多余的零红色曲线是原来的数据,那么这样我们就可以用一个波星图控键来显示两个不同大小的数组的数据, 这个技巧是比较常用的,而且是很实用的。好,上面说了波形图空间,那么最后呢,我们来看一下这个 x y 图,这样一个空间。 x y 图呢,顾名思义,它是由 x 所代表的这样一组数据和 y 代表这样一组数据, 用于显示这样两组数据的一个相关性,或者或者是这两组数据的一个之间的一个关系,这样一种形式。 我们 ctrl 加 h 打开,及时帮助点到这个 s y 图上,大家可以看到 连接他的都是一样,都是兔数据。所以呢在这里呢,我们 在接入这个 x y 图之前,要把这些数据索要显示数据转化为促,所以呢这里呢还是要使用 捆绑,我们将需要的两个数组捆绑成一个醋即可,比方说这两个数组。 好,这时候我们运行一下,大家可以看到 x y 图就有所显示,显示的是对应于这两个数组 他们对应出来的这样一个图,这样呢,通过这个图我们可以看到 x 这个数度对应的数据和 y 对应的数据,他们两个之间有什么关系, 那么这是显,这是 x y 图,显示一条曲线,如果显示两条或两条以上的曲线,应该如何操作? 好,我们增加一条曲线,比方说我们让这第二条曲线两个数组是一样的。好,这样一种形式。那么 在这里,如果将这两个促连接到 s y 图,由于这两个促数据是同一种类型,所以呢,在这里我们使用创建数组就可以了,而不需要使用创建促数组。 好,连接 ctrl 加。 大家可以看到白色呢,是刚才我们第一条曲线,红色呢,是刚才我们添加的第二条曲线。由于第二条曲线所对应的两组数据是相同的, 所以呢,它画出来是一条直线,对应的这两组数据的关系,也就是 y 等于 x 这样一条直线。 好,这上面我们所说的就是 x y 图一些内容。那么这一讲呢,我们主要讲了这个图表最常用的三种图表空间使用,一个是波形图表,它用于显实时的显示单个数值。 第二种是波形图空间,用于呢,主要用于显示一个整体数组的数据。第三呢是 x y 图,用于显示两组数据之间的关系。 同时我们还讲了如何在这三种图表空间中显示两条或两条以上的曲线。 好,这些就是我们今天这一讲的主要内容。


大家好,今天来学习虚拟仪器的图形,图表的光标跟随。首先我们添加图形显示控件, 然后我们再利用仿真信号空间添加一个叠加电波波形,注意两个波形要求配置一致和信号需要相乘合并。添加完成后,我们能够看到幅度变化的电波波形。 完成这准备工作后,接下来是开始实现获取鼠标在控件里面移动的信息。先在后台建立循环和事件结构, 在事件结构中添加目标空间的鼠标移动触发条件事件。在鼠标移动事件中是提供鼠标位置参数的,我们需要将这个鼠标坐标参数转换成曲线的 x y 坐标,这样就完成了第二步,获取到了鼠标的对应的参数。 有了鼠标的数据,就利用油标控件来标记鼠标的位置,从而达到光标跟随的效果。 注意,添加油标空间的油标数据是先去生成显示,再转换成输入或常亮的,再将转换号的 x y 输入油标参数。醋反向操作来完成比较容易,否则制作符合规定的醋会很麻烦。 说的有些快,多看几遍就可以熟悉操作了。 好了,更多详细内容请关注公众号,千里优选教学基地,谢谢观看,下期再见!


下面由我来给大家演示如何在 live view 中新建工程以及新建 v i。 首先我们打开 live view, 然后点击创建项目, 可以看到 live view 为我们提供了非常多的项目模板,我们以一个空白项目为例,选择空白项目,点击完成,此时我们的一个工程就创建好了。首先我们对工程进行保存和命名,选择文件保存, 我们保存到我们的 my project 文件夹下面,然后给它命名, 那我们的工程就创建完毕。下面右键点击我的电脑,选择新建 vi, 我 们还是一样对 vi 进行一个命名和保存,按下 ctrl 加 s, 然后选择我们刚刚的文件夹, 对 vi 进行命名。 好了,那我们的工程和 vi 就 已经创建完毕。下面我来给大家详细介绍一下 vi 的 组成。我们看到 vi 由两部分组成, 在灰色这部分呢是我们的前面板,然后白色这部分呢是我们的程序框图,前面板呢主要是用于开发用户的软件使用界面。 live view 呢提供了很多这种控件,像我们的数值布尔 也包含我们其他风格的,像我们 x g 风格,银色风格,系统风格等等, 工程师可以选择这些控件进行前面板的开发。同时呢, liveview 也提供了自定义控件,给工程师提供了更加灵活的选择。下面我们来介绍一下 vi 的 程序框图,白色部分呢就是我们的程序框图,程序框图呢是 liveview 开发的啊,程序的主体部分, liveview 呢提供了非常丰富的函数和结构以及模块,像我们的信号处理,数据通信,互联接口等等, 可以供软件工程师调用,非常的方便,下面我们来介绍一下 live view 的 帮助和范力, live view 呢为了使工程师和科学家能够快速的上手编程,提供了完倍的帮助和范力,下面我们一起来看一下 选择帮助,选择 live view 帮助,可以看到 live view 为我们提供了非常多的啊帮助的词条,像我们的入门指南,然后 live view 基础, vi 和函数等等,下面我们一起来看一下,例如我们选择文件写入带电子表格, 带分格符的电子表格,然后我摁一下快捷键, ctrl 加 h, 这里呢是我们的及时帮助。上面对我们整个啊函数的功能进行了一个啊详细的介绍,然后我们点击下面蓝色字体详细帮助, 可以看到详细帮助呢详细的介绍了每一个接线端它的定义 以及注意事项,下面我们一起来看一下范例,我们选择帮助选择查找范例,这边呢是我们 webview 为范例的分类, 我们以一个呃选择基础,然后选择时间和日期,最大值和最小值。我们来看一下范例呢包含了概数, 操作步骤等等信息,我们可以通过范力来对这个 vi 的 功能进行一个详细的了解,这部分呢就是它的程序框图 love you 对 它的程序框图呢也做出了很详细的解释,可以帮助我们的工程师和科学家快速的使用,快速的入门。

本节课我们讲一下呼吸灯,他这个电路跟点亮一个 led 灯电路是一样的,这里我已经在电路板上连接好了, 下面咱开始写程序,新建一个 vi, 咱们还是在程序框图里先搭建框架 好,我们框架搭建完了,我们开始写里面的程序。今天的内容我们主要用到了一个 pwm 输出的这 这个函数,咱们看一下这个函数,打开咱们的使用手册, 这个 pw 输出控制, 看一下我们的 p w m 输出,他的端子是和这个奥特一和奥特二是附用的 pwm, 一输出就是奥特一输出,二就是二的输出, 所以咱们这里直接连到这个奥特一,就可以用这个 pwm 一的 输出了。 咱们再来看一下这个 pwm 输出,这个函数 第一个参数是一个通道,他只有两个通道,第二个是 pwm 的频率,第三个是占空笔。咱们来看一下什么是 pwm, 这里有一个简单的说明,它是脉冲宽度调制的缩写, 他是通过调节占空笔的变化来调节信号、能量等的变化。他有两个参数,咱们这里也有两个参, 一个是占空笔,是指在一个周期内信号处于高电瓶的时间,占据整个信号周期的百分比。一个是频率, 是指每秒钟信号从高电瓶到低电瓶再回到高电瓶的次数。咱们来画图看一下, 咱们来看一下这个脉冲, 他的占空笔就是高电瓶,占据整个星 信号周期的百分比,他这个信号周期就是从这个 从这个到这个一个高电瓶,一个高电,一个低电瓶所组成的这样一个周期, 这一部分这个占空笔,高电瓶和低电瓶基本上是对半的,又是百分之五十的一个占空笔,像这个地方 从这个到这个,或者说从这个到这个这样一个周期,他的高电瓶占据这个和这个低电瓶图这个 他的比例,高电瓶是这样一个百分之二十五的一个战况比, 再看一下这个频率,从高电瓶到低电瓶再回到高电瓶的这样一个次数, 就是这样一个从高电瓶回到低电瓶再到高电瓶再上来,他的有这样,有这个这个周期,你有多少个就是他的一个频率。 咱们看一下咱们这有一个范围,咱们 pwm 的这个频率范围是一到一照和字,咱们的这个占空笔范围是一到九十九这样一个范围,如果你设置成零,他就 固定输出一个低电瓶,如果设置成一一百,他就输出一个高电瓶。 咱们写程序,咱们先来实现一个高低电瓶的一个输出,然后再实现 这个占空笔从一到九十九,慢慢的去实现他的一个呼吸灯的这样一个功能。 视线高低电瓶和咱们之前讲的 led 灯的闪烁差不多,咱们这先给他一个条件循环, 这样把它改小一点, 然后给他一个反馈,反馈节点 咱们先给他敷一个珍藏量, 然后反馈回来。如果我是真的话,让他只行一段程序, 然后给他一个甲,然后再反馈回来,他就为甲,这时候执行,甲再执行另外一段, 执行完之后给他一个针,再去这个反馈给这边这样实现一个反转的这样一个功能。 好,咱们先说针, 咱们这边看着这个调用一下这个 pwm 输出的这个 回针的时候怎么去用?找一下 添加三个参数, 咱们返回类型还是 是这样,有福尔三十二,这个是他的一个通道号,也是有福尔三十二, 这个是一个频率也是这样,咱们看一下这个,它是一个单精度蝴蝶形 传递的,是这个 确定, 我们看一下这个怎么写?他这个参数是一个通道,咱们这个连的是奥特一 pwm 么?一,他们这就创建一个一桶的 这个频率 coming up, 先给他一个这个常量吧,比如说是一千他这一个频率。然后第三个 是这个占空笔,咱们先实现一个高低电瓶的这样一个 输出设置成零,咱们在真的时候输出 先输设定一百,让他输出一个高点平,好, 咱们康庄家 c 复制一下,在为假的时候让他咱们设置成零,输给他一个,让他输出低电瓶, 这就实现了一个闪烁的功能,而就是跟咱们的二一闪烁应该是差不多的 这样一个来回反转这种, 咱们这儿目前给大家一个定时,不然的话就显示的不清楚了。时间太快跟保存一下。 好,咱们点击运行看一下, 他这个灯看着不太正常, 闪的太快,不太规律,咱们看一下,先停止,看一下, 给他一个低电瓶延时,然后梳出针运行针,这里没有,这里往加一个定时,咱们给他加上 看一下,过来之后一百高电瓶延时,然后给他一个甲运行甲,好,咱们保存在运行一下, 这个时候他就闪烁的比较正常,比较规律的。 好,咱们这个实现了,接下来咱们实现这个呼吸灯的效果, 咱们要实现呼吸灯就是要改变他的这个占空笔, 他的占空笔让他慢慢的从一变到九十九,然后再从这个九十九慢慢的到一,这样一个占空笔这里会用到一个 fo 循环,咱们这样用 好,放心玩给他框起来, 咱们这是一到九十九这个范围,他是九十九次,他们用写着说着这个, 这个是一个循环次数,咱们创建一个长量九十九,然后他这个是一个技术,咱们要想实现他的这个从一到九十九这样不断的 变大,或者说从九十九到一不断的减小,可以从这个技术去下手,他的趋势范围是零到 n 减一,也就是零到 九十八这样九十九次。所以咱们这给他一个加一的功能,这样这样的话当他执行第一次的时候是零的时候,他就实现这个给他一个一 机, 当他是第九十九次,他这是九十八,然后加一,这是九十九,这时候他循环完之后, 然后退出这个放循环执行这个针,常亮回来给他一个针,这边也给他一个放循环, 让他执行这个九十九次,这边的话让他从九十九变到一, 这边咱们给他一个减法, 让一百去减这个数。这九十九次当他是零的时候,第一次是九十九, 当他是一的时候,第二次他是九十八,一直到这个他是九十八,就是最小范围一,这样就实现了这个九十九到一的这样一个 循环,然后退出之后执行 f, 这时候为加,再执行加 这个他执行一次,这时间有点长,咱们这循环一次一百毫秒,循环一次大概一百毫秒,一百乘以一百 太大了,咱们这小一点十毫秒,这样的话大概就是一千毫秒。再看一下前面版,咱们的前面版没有东西,咱们可以修饰一下, 咱们运行一下多久实现了一个呼吸灯的这个效果?咱们停止一下, 咱们这里把这个频率也更改一下,因为这里范围 为是一到一,照这咱们给他一个,给他一个这个空件输入空件让他可以更改, 这个是假里边的,那真里边的可以用一个局部变量,选中他之后右键创建一个局部变量,先放一边,然后选到真, 把他拉过来, 咱们这右键转化为读取, 就是将这个输入空间的内容直接读取到这个函硕这参硕里。 好,咱们这更改一下盒子, 给他默认一个十 k, 十 k 盒子 保存运行, 这就是咱的一个呼吸灯的小程序。

下面呢我给大家介绍一下 live view 中常见的数据类型,例如我们的数值,我们的布尔乘法 以及我们的每举。可以看到双精度数值呢,以橘色的空间来表示,布尔呢我们以绿色的空间来表示。乘法,我们以粉色的空间来表示。 每举呢以函数的空减来表示。下面给大家介绍一下数据的集合。第一个呢是我们的数组, 数组呢是单一的元素集合,例如我们创建一个数值常量放进去,这样就构成了我们的一个数值的数值。另外呢我们还包含啊醋, 醋呢是一种或多种不同元素的一个集合,例如这个醋呢,我们可以放入醋酸 数值等等。下面给大家介绍一下两种常见的醋。第一个呢是我们的错误醋,我们在开发程序中会经常的用的。 第二个呢是我们的波形数据,波形呢包含我们的时间数值以及我们的备注等信息, 它们都是不同类型元素的一个结合。下面我们来讲一下如何对这些变量进行操作。首先我们先看一下醋,醋为我们提供了捆绑和解除捆绑两种操作方式,我们来看一下,我们先按名称解除捆绑, 可以看到我们的错误处呢,包含状态,代码以及元三种元素。 我们的波形数据呢包含了我们的 t, 零, d, t, y 和它的属性值。下面我们来再来看一下数组的一些操作方式。 对于数组呢,我们一般有获取数组的大小缩影,数组替换数组纸质数组插入等等。下面我们演示一两个, 我们先对这个数组进行赋值,好给它创建一个显示空间运行可以看到我们这个数组的大小就是四, 我们再对数组进行缩影,例如我们想获得这个一,我们的缩影就应该是从零开始,零一二三,我们这边的缩影就应该输入三, 好,我们一起来看一下运行我们获取到的元素就是一。


命令行也可以调用 labu 的 程序,这是一个用 labu 生成的 exe 执行程序。在 exe 程序目录下调出命令行窗口, 输入指令 main e x e 加参数,参数可以是任意数量,我只写了一个参数,方便演示。注意,参数需要是英文名称,例如这里的拼音。回车运行命令行,开始调用 love you 的 main e x e 程序,并打印输出来自 love you 程序传递的信息。 看一下 labu 程序总共分成六个步骤,第一步,隐藏 labu 程序前面板,目的是调用时程序面板不弹出后台执行。 第二步,将当前进程附加到指定控制台,通过调用 windows 的 kernel 三十二 d l l 中的 touch console 函数实现。 第三步,解析命令行窗口输入的指令,通过数组缩影函数获取一个或者多个参数。注意,参数使用英文,中文可能无法识别。根据解析的参数名称编辑对应的程序,并编辑程序执行过程的信息,用于输出到命令行窗口进行显示。 第四步,获取标准,输入输出矩阵。第五步,向命令行窗口返回信息。第六步,退出 labu 程序,但不关闭命令行窗口。将 labu 程序生成 exe 文件, 在高级选项页中勾选传递所有命令行参数至应用程序。这样就实现了通过命令行调用 labu 程序以及 labu 信息输出至命令行窗口的功能。做视频不易点赞,关注评论区,留言解答 labu 更多问题!

大家好,我们今天学习第五节 level 紫薇的图标制作,为我们现在新建一个紫薇,然后这个 功能是为了让我们更好的识别 点开滴滴的键,然后再 a p p 修理加载程序, 我们在执行距离 都会说图标 做一些连接的 参数,然后就可以 这边写, 就是这边就可以让它作为一个紫 v i, 这边如 写一个字面给他 就可以传到这个紫 v i 里面。好的,谢谢大家观看。

大家好,今天我们学习的第八节室外钓鱼的方法,演示一下我们钓的这个参数设置里面的主页运 行设置里面有几个其实它掉了,但是看不进来,主要原因是我们这个设置的时候 变亮,选 logo 的, 这也可以,还有一个用户的也可以颜色,颜色 如果不想要这些抬头也可以去掉,在这边这个是苹果 进去。 然后第二个我们点设置参数的时候,我们这个纸是可以修改的,但是这个修改不了, 看一下这根本的原因在于这个, 这个从纯银片获取的时候,它变成不紫的了,我们要用它的全军,用它的那个变量给它替换掉这个不能把它变为输出,然后来接的一个 把这个就变成黑线, 这个就就可以更改,谢谢大家观看。

嗨,大家好,又到立新更新的时候,那我们本节讲什么内容呢?呃,我们框架专区呢,马上盖板 af 就 结束了,然后接下来我们会讲 mv 框架。那在讲 mv 框架之前呢,我们需要把 mv 框架本身运用到的设计模式,呃,中介者模式和横游模式。 呃,讲完然后就开始 mv 框架的讲解。本节呢,我们就讲中介者设计模式。中介者设计模式或者仲裁模式,也叫仲裁模式,它是一种行为设计模式。呃, 这个我们在讲 m v a 之前呢,我们需要把终结者模式讲解完毕,就是大家带着对这个模式的理解,再去研究 m v a 作者的思路,去研究 m v a 的 框架。 好,那我们正式开始。文章的环节,我们一直强调,呃,推荐大家用类编程是因为它高内距低后合。嗯,有没有想过我们为什么追求高内距低后合? 举个例子,呃,有的时候大家坐飞机,明明到了目的地却不下降,在飞机上绕圈,为什么呢?有很大一种可能就是当前有多架飞机正准备同时下降, 那假如说有五架飞机同时下降,他们怎么怎么决定?谁先下降?谁后下降?是机长在天空中开会吗?显然不是的,他们是跟台塔台 呃,协商交互,听塔台的指挥,然后来判定下降顺序。其实这就是点典型的中介者模式,呃,也可以说是代理人模式或者经理人模式那,呃,像这个图片就是,假如说一个机械手十个工作站,呃,来产品了, 那个假如有四个工作站都在空闲,那这个产品都这四个工作站都发起了请求,那这这个产品应该加在哪个公站呢? 是他们之间排顺序吗?显然不是,这时候是由中控来排顺序的。那我们继续升级,我们四位。假如说这十个工作站,这十个站台分为两个工序, 前面的是一工序一,后面的是工序二,比如说一至五是工序一,六至十工序二,前五台测其中的一台,测完了之后才能进入六到十,其中一台测另外一个工序才可以走。 这时候呢,我们每个工作台的软件需不需要修改呢?也不需要。为什么?因为这是中控去处理的事情,每个机台只负责自己的那部分就可以了, 他只负责自己和中控的交互,中控去处理这部分事情。其实这就是典型的那个呃中介模式的案例。假如说 我们,假如说我们把这个机台、每个站台、每个工作站这十台数据,十台设备看成十个 actor 的 话, 我们怎么降低每个阿克特的思考难度、控制难度、业务难度,让每个阿克特独立呢?这时候就需要有中介者去处理,减少他们之间的相互交互,把整个拓扑结构从网状的结构改成以中介者为核心的新型结构, 便于我们每个工作站的软件更加独立,设计难度更加简单。其实这就中介者模,中介者模式的优点。那好好,我们现在就是依据我们现在说的中介者模式的一个概念来设计我设计我们的历程。 呃,这其实就中介者模式的类图啊,大家可以呃,可以看一下。呃,这个呢是中介者,呃,抽象,抽象的中介者,这个是具体实施的,那每一个执行单元他都有内部都包含一个中介者的引用, 然后呢,每一个具体的实施单元,他都是跟中介者进行交互, 然后通过中介者对他们进行协调,他们发 send, send, send 命令,然后中介者会会内部处理,然后会发命令回传给每一个, 他们可以通过 recove 来获取终结者的协调,就是终结者回传或者其他公债的回传,这就是终结者设计模式的类图。然后我们为了后面讲解框架专区 mva 架构,因为这个本身就是 mva 架构的新脑篇嘛,我们在上面类图的基础上, 结合我们前面讲过的观察者模式,重新设计一个例子,就设计一个贴合 mva 架构场景的例子,模拟温度采集, 其中呢,这个是五一五,这个是 model 这个 topic, topic 是 那个交互逻辑核心啊,然后这个是中介者, 这是 mva 这个中介者。然后我们需要做的是需要做什么呢?就是我们这 model 进行数据采集,然后呢它会把数据传给中介者,然后中介者再传给 呃五 u, 然后五 u 可以 选择它用什么策略去采集数据,就是五 u 可以 通过这个 topic, 通过这个控制逻辑中心,控制逻辑单元,通过它的策略选用的策略,然后 反馈给中介者,中介者再把这个策略反馈给那个 mod, mod 进行采集它整个流程是这样子的,我们把整个流程放在这里,大家可以去看一下, 然后我们根据这个流程,我们先用伪代码进行实现。首先呢我们需要干什么呢?我们需要定制策略 策略,这个其实本身呢也是,呃,策略模式,就这个地方定制策略,然后我们首先定义核心数据单元,首先是数据结构,这个数据结构是什么呢?一个是数据类型, 数据类型就是我们当前是一个温度测量模块,那数据类型是温度,那我们假如说我们用一个电压测量模块,那它的数据类型是电压 tag 呢?就是你同样是温度,有可能是采集模块一采集到的温度, 或者是采集模块一 c 一 采集到的温度,也可以是采集模块二,嗯,测到的温度。这 tag 弯六是具体的数值,就假如说我们这个地方有个电压测量模块, 那它的数据类型就是电压,它的 tag 呢就是电压测量模块一它的 value 呢?就是那个电压值。这是我们首先我们需要把我们数据和策略, 这个数据和策略定定出来,这数据是什么呢?数据是这个 model 跟这个中介者进行交互的必备的,中介者处理完了之后呢,返回给五 u 啊,就是它传递的是数据, 那我们 love you 怎么实现呢?我们直接看一下核心数据,这里 publish data, 我 们打开一下 tag, 前面说了 tag 是 什么? tag 就是 标签嘛,具体是哪个模块?采集模块一,采集模块二电压,模块一电压模块二 daytime 是 温度,是电压 value, 其实就这部分,这是数据, 就数据的读或者写好,这是数据结构,这个呢是策略, 我们看一下我们这个地方,呃,这个策略跟那个我们前面设计的这个伪代码的是不太一样的,然后我给大家说一下为什么不一样这个模式,呃是一次刷新呢?还是就是一次刷新?就刷新完了之后就把这个策略删除掉,持续刷新呢?就是一直有这个没问题,就 set mode。 这个地方 分为两种, continue 和 once。 另外呢,这个地方我们看一下啊, c f 点方型括括包, love you 呢?是没有这个 括包这个调用方法的。括包是什么意思呢?就是,呃,可以选择哪个具体的函数去执行?那 love you 是 没有,但是我们 有一,我们可以用其他方式来实现,怎么实现呢?其实就是我们用那个,我们前面不是讲过 excel 吗?这个地方 excel 和 message, 那 我们可以通过这个方法来实现,就说我们可以定义哪个 excel, 定义哪个 message 来确定用哪个方法进行实现 就没问题。这个策略是什么意思?看这个策略是什么意思。这个策略就说我们假如说有很多个 model, 很多个采集模块,那我们到底是选用哪个采集模块? 那我们选用这个采集模块什么方法?这就是你做判定的那个策略,也就是这个我们这里所谓的策略。这没问题,我们继续往下讲 这个,这个地方也说了 function call 是 具体执行的方式。具体执行的方法嘛?我们这个地方就是通过引入和 message 来一发送,它会自动地调用某个 actor 的 某个方法,通过这种方式来实现这个方方式拷包。这个操作。 好,紧接着我们第二步定义抽象类,定义同式类,定义抽中介者,我们前面看那个类图,前面看一下类图,中介者就他,我们现在需要定义这个图像的中介者, 然后需要,呃,我看一下啊,我们需要定义这个同式,这个抽象同式类。 好,我们直接看一下我们怎么定义。首先定义同式了啊,就是里面有一个抽象者,然后呃,有一个,呃方法,呃,有一个就是内幕,就是这个具体执行的, 无论是 mode 还是 of you 具体执行的它的名称,这个是一个简单的构造函数。再一个叫 send, 就是 向中介者发发送命令 receive 呢,就是从中介者接收命令。 这个地方我们前面也讲了,就是我们为什么用中介者呢?就是我们所有的方式执行,所有的逻辑都是向中介的发送命令, 然后由中介者去处理,处理完了之后返回给我们这个消息。 ok, 这个地方就是,呃,我们在发 send 的 时候, middle 就 这个中介者会执行一个 route 的 操作。 那我们根据这个我们设计的这个伪代码来定义同式类。首先呢我们看一下同式类里面有一个中介者的类引用,然后有个内幕, 然后有个 send message, 就是 向中介者发送这个 message 命令,然后这个地方需要讲解一下, 这个是类引用,类引用的作用是什么呢?类引用的作用就是保证,呃,整个系统中的这个类是唯一的类,然后它里面的那个私有数据是共享的,就是私有数据是一致的,其中的一个地,其中的一个, 呃,其中的一个地方更改了,所有的地方都会更改,那这是它的功能,这个 cinder, 我 们看一下这个地方, 首先呢我们定义定义一下中介者,看一下中介者自由数据,中介者里面有个 cinder, 它是一个万能类, 这个我们是干什么用的?这个其实就是在执行这个 send message 的 时候,他会把把我们里面这个类引用调出来,这个类引用给他,这个类引用写,把当前我们这个类写写到这个 中介者这个 cinder 的 这个私有数据里面去,这是干什么呢?就是我们,呃,我们在跟那个私有数据发命令的时候,我们在跟私有数据,呃,我们在跟中介者发,我们前面不说了吗?我们所有的那个,呃同事类都是跟那个 中介者进行通讯,进行发命令,我们这个地方其实就是让中介者更清楚是谁发的命令,这个呢?这个 message 就是, 这是终结者吗?终结者的引用嘛。然后这个地方就是通过类地址获取类,然后呃设置一下这个 root 的 动作,就这个 root 其实就是给这个终结者发送,发送这个, 发送这个,呃信息,发送 message, 然后我们这个地方 message 我 们用的是呃万能类,为什么?因为这个 message 可能是 我们前面定义的那个数据,定义的哪个数据呢?就定义的这个数据,呃, publish date, 也可能是我们这个策略类,也有可能是一个简单的文文本提示,那所以我们这个地方用万能万能 message 来代替,同样道理, receive 也是 一样,也是用万能类来代替,这样我们就把那个同事类,同事的抽象类已经给它抽象出来了,同时把这个中介也给它抽象出来了。 好,另外我们为什么这个地方这个中介者模式,我们强调就是把其中的除了中介者模式,嗯,中介类,其他的称为同事类呢?呃,你可以这样理解, 就是我们一个部门,然后终结者呢?是经理,然后我们只做自己的事情,我们需要跟其他人进行交流,比较难的。 跟其他人进行交流或者夸部门交流的时候,我们不需要充满,我们只要把这件事情告诉经理,经理去协调,然后经理把结果反馈给你就可以了。其实这就是这个他的啊,原型是什么呢?就是啊,我知道了我的经理是谁,我有我经理的邮箱,我碰到了事情,我给我经理发邮件, 然后经理去处理,经理处理完了之后呢,返回给我邮件,那我只做我自己的事情就可以了,你可以这样理解,那具体的同事类。 具体同事类像我们这个例子是什么呢?分别是 model 和那个 ui, 后台就是处理具体事务的, ui 是 处理显示的。那我们这个地方前面我们讲过,我们这个例子是一个温度采集,那后台就是一个温度采集模块。 那我们看一下我们这个设计的这个伟大码里面 model 有 什么东西?首先呢,它记这个地方,它是继承我们抽象的这个同式类, 继承同式类之后,它默认就有这个中介和它自身的名称。同时呢,我们在这个地方添加了一个它自己的私有数据 time parameter, 就是 当前采集到的温度。那我们看一下具体同式类 model, 哦,这个私有数据,我们看一下私有数据 temperature, 你 可能会说为什么这个地方没有 media 和 name 呢?呃,这个地方如果你现在还提这个问题的话,就说明你前面的章节,特别是一到三节,你没一到二节吧?一二节你没有理解清楚 所有你继承你的附类,你附类有的东西你默认是有的,也就说你的私有数据里面默认是包含你附类的东西,那你私有数据里的这个东西是代表你自己独有的, 这理解吗?也就说我这个的 temperature, 我 的私有数据里面虽然没有附类里面有的这个中介者和内幕,但是呢, 虽然没有,但是它也包含我额外加的这个属于我自己的,不属于我的负累,能理解吗? ok, 然后这个地方有个方法,就是 collect data, collect data 我 们,然后 collect data 是 干什么呢?啊?其实这个 temperature 就是 在二十三,二十到三十之内,呃,取一个随机的小数,呃,随机的,呃,随机的数, 呃, temperature 等于二十到三十之内的一个随机数。完事之后呢,他把这个发送给终结者,就是这个 publish date, 把这个类发送给终结者。好,再问一个问题,我这个地方没有 send, 我 没涉及 send, 为什么? 为什么没设计 send? 为什么?因为这个它是抽象同事类的子类,这里面有 send, 那 我没有,我就默认我用负类的 send, 这个呢叫继承,如果我自己额外写了这个呢,叫多态。 好,有时候这个 send 我 这个地方,我这个子类直接调负类的 send, 然后这个 message 呢,给它传 publish data 是 没问题的。这个 publish publish data, 因为我们这个 message 设的是万能类, 等一下关起来是没问题的。 ok, receive 呢? receive 也是这个地方就是收到了那个策略者模式的反馈啊,有可能是收到什么反馈呢?我们收到什么反馈呢?我们看一下 它可能收到很多东西啊。我这个地方呢,我只收 message。 message 我 们前面定义了 message 呢,就是信息提示里面其实就只有一个 message, 一个 sub 串,就意思就是啊,我收到反馈了就 ok 了, 这是我们 model 的 处理方法。同样看一下我又的处理方法,我又呢?有什么呢?一样,它默认是有 media。 呃 name 默认是什么呢?默认就是有这两个,这因为它继承于它的负累嘛,负累有这俩它也有,那这个是它的 get 函数,为什么 libu 没有呢?这个地方需要跟大家说一下, libu 是 没有 get 函数类型说的,你拖出来的瞬间,默认就已经 将这个类实体化了,所以没有构造函数这一说。好,我们看下这个 ui 啊, ui 在 这个地方,那它有两个,一个就是呃 refresh display, 一个是 receive message。 我 们首先看一下 refresh display 干什么呢? refresh display, 它就是呃显示,显示什么内容呢? reflash display 这个地方它传了一个 public data, 这是它的参数。 public data 它其实就是把 public data 的 这个 里面的数据显示出来,显示什么格式呢?呃,首先它内幕是什么?也就是这个显示面板是什么,然后刷新界面了,多少度? tab 是 什么?呃,具体数值是多少啊?其实就是一个把中控返回来的东西,就是你调用这个方法的时候,我把这个数据显示出来而已 啊,这个 receive message 一 样的有终结者发回来的信息,一样的,我们这个地方只处理终结者发回来的文字提示,其他不处理。然后再说一下 topic, topic 就是 策略单元 topic, 我 们看一下这个其实就是我们前面讲过的。呃呃,前面我们讲过的那个观察者模式 策略执行单元。那有有同事又问了,有同学又问了。啊,你前面已经定义了一个,呃,已经定义了一个策略策略了。已经定义了,为什么你还搞一个策略执行单元呢?那我们首先看一下这个策略的执行单元里它是什么构造。好吧,逃比特,我们看一下 c 有 数据, c 有 数据呢,就是这个逻辑处理单元它的。呃, 这个地方相当于字字典或者 map 里面的那个 k, 这可以理解吗?就是我通过这个对它进行缩缩影,一一绑定,一一绑定的关系。 套比特是什么意思呢?我们的逻辑我们这个地方没问题,我们这个地方是定义了策略类,但是我们只能有一个策略吗?我如果有多个策略怎么办呢? 那我如果说我执行一条命令,我要模板一采集温度,我模板二也要采集温度,怎么办呢? 就是我显示那边定的这个策略的时候,我需要几个几个动作同时完成,那这时候就用到了这个 topic, topic 就是 看这个的,它可以定义不同的逻辑, 那套比特就是逻辑执行单元,然后我们 mv 里面是用 actor 来实现的。好,我们看一下这个也是啊,它是继承抽象、同式类的,这些东西都有,这没问题。然后它有什么呢?它有一个逻辑类的数组 啊,有一个逻辑类的数组还有什么?还有一个 topic id, topic id 就 前面咱怎么讲了?就是它唯一识别的那个 k。 好 方法,有什么呢?方法有一个添加策略,这个就是一个观察者模式的一个典型的 类架构,中间有个数组,那我就把这个,我就把这个数组 看一下,我添加的时候呢,我就把这个 topic 添加一个,然后把这个类书组重新引进去,相对于一个继承器似的。然后这个是执行所有的策略, 这个方法我们看一下执行所有策略是怎么实现的?第一步呢?首先 这里面我看一下执行所有的策略,执行所有的策略,首先呢一个负循环,把这个 topic 里面这个策略这个数组挨个的执行,挨个的执行什么呢?挨个执行这个 fundate。 我 们前面讲过, 前面讲过这个,这个其实就是你用哪个方法进行执行,指定哪个函数进行执行。我们这个地方通过 actor 的 啊, in coller 和那个嗯, message message 来指定方法。其实呢,这个地方就是,呃,你这个,你这个策略, 策略队列中的每一个策略挨个进行执行,是这个意思,那我们这个地方也实现了 啊,这个队列里面每个都挨个执行,然后这个地方呢?你看假如说这个策略模式选的是 once, 那 我就把这个策略执行完了之后呢?执行完了之后,我把这个策略从它的策略书组里面剔除,那我来回又怎么实现呢?啊?其实就是每个都执行,然后是 continuous, 我 就呃这个地方, 这,这应该一看就懂,好吧,其实就是这个实现等价的,好吧,然后这个 receive 一 样, receive 是 什么呢? receive 就是 呃,这个 topic 自身。

嗨,大家好,又到了立新更新的时候,那我们本期讲什么内容呢?最近,呃,群里的会员,群里的朋友一直说希望讲一下那个 g y 吧。好,那我们本期讲一期 g y 吧。 g y 吧是什么呢? g y 吧就是 l b u, 可以 用于开发网页的部分。呃,以前呢,就前些年 l n i 出了一个 n 叉 g, 只不过呢由于第三方兼容性比较差,呃,生态比较差,导入呢,相对来说比较复杂啊,后来就没有继续更新了,但他那个 gwap 模块就是他通他的网络模块,得以继续更新下来,那个 gwap 可以 用来不如做网页。 那首先我们先看一下,呃,这个这里面的详细配置啊,这里都有,都有讲解,然后例子在这里,然后需要装什么东西这里都有讲,讲解清楚。那我们现在首先看一下这个例子啊,其实就这个这个网页端,这是网页吗? 然后程序在这里,程序在这个位置 这网页的,我们看一下程序是怎么实现的。 gw, 简单来说它跟那个普通的 libu 其实差别不大,它也是用那个,呃,它那个界面跟 libu 界面也比较相似。 然后我们在这边编程序的时候呢,这边都是它紫薇 i, 我 们在这边编程序的时候,呃,在这里编程序的时候,呃,在这里点运行 就可以直接在那个浏览器里面进行查看,只不过第一次的时候,第一次进行的时候会报错,需要设置。那我们这个地方看一下,首先创建随便 我这一个一个随机数的一个例子,第一次汇报什么错呢?就这个地方汇报什么错呢?就是汇报这个错误,这时候你打开那个 webstore 进行设置一下就可以了, 本地访问设置一下就可以了,然后用那个 windows 账户登录,或者用默认账户登录,这个最好选默认账户登录啊。呃,第一次会报这个错,但是运行完一次之后就不会报错了。那我们现在来看下这个程序, 我们这个程序是什么功能呢?首先呢就是我们从服务器上获取地址,获取数据,然后显示一个,显示一个简单的那个框图,显示一个简单那个饼图 啊,就这样,这个它是怎么怎么交互?它是从,呃,从什么从什么上面获得呢?是从那个 system link 里获得的。对,然后我们这时候呢,比方说我们要 love you 给改一下后台数据, 我们看了这四部分数据,分别是三三四四五五七七,然后我们给他改成九九一五五一七七一一, 我们给他改一下数据,设置一下,我们会发现这里会跟着变化。 就是我们首先需要了解,如果首先我们在做这个用 java 做网页的时候,我们需要呃了解一个数据,有了解一个信息是什么信息呢?就是 java 属于前端,然后我们后端可以用 java 去处理。 呃,本身就是它的简单逻辑部分,可以用那个 java 去做复杂的逻辑部分,你可以用那个 java 处理,然后它们中间那个数据呢?可以用 system link 啊进行交互。至于 system link 怎么配置, system link 怎么配置?我们这个 呃,我们这里面都讲解很清楚了。呃,大家直接去看,我现在只讲要点,首先呢 system link 是 呃 n i 的 一个那个 web server 的 一个很重要的部分就是它可以设,可以设,呃, 有点类似那个网络共享变量,有点类似 n p i server。 我 们首先看一下 system link, 我 们装完 system link 之后, 我们呃首先会有一个 system clean, 呃,一,其实就是跟那个 o o p c server clean 一 样,然后有一个 system link web application, 就 这个我们先注销, 就这个这个,至于这个就是配置 system link 本地的,当然也可以用 system link cloud 也,呃,我们我们这个例子用的 system link 本地的。至于这个账号密码怎么设置?我们如果第一次你不知道你设置的那个账号密码,你可以打开 nid web server 进行设置 id。 web server 这个地方呢就是进行设置的,然后这个身份验证,这地方我们选择以 web 服务器控制的用户身份验证。然后账户呢设我的密,密码呢就是你可以在这里更改密码,完了之后应用重启就可以了, 这个是我设置好的密码。设置好的账户密码直接登录,登录进来之后呢,这里有个什么程序包存储库,这个呢,我们可以把我们 gw 生成的那个,生成的那个文档放到里面,就可以自动部署了。至于怎么 怎么生成,大家直接去看那个我们的文案,我们这个地方找准讲一下啊。 gw 跟 system link 进行数据交互的部分, 在工具的这个地方有 tag, 在 tag 的 这个地方我们创建创建 tag, 创建,比如说创建,然后你可以它的数据类型是什么,在这边选好留存,留存,这个地方我们选永久,意思就是不刷新,一直在那里,我们就用这种方法设置了四个, 四个 tag, 产品一的测试数量,产品二的测试数量,产品三的测试数量,产品四的测试数量,然后我们 love you 呢,可以对这个 tag 进行呃,读写。 对,我们写完了之后,这边就会看一下,我们写完了之后九九五五七七,我们设个幺幺一千一百多,你看这里它会进行数据更新,同时呢我们网页端也会更新,看网页端也会跟着更新。 为什么?因为你网页端也是访问的这个 system link, 我 们是用 system system link 做一个第三方交互, 它是可以跨那个。呃,大家需要注意一点, systemlink 是 可以跨电脑进行交互的。然后我们这个 gweb 这个例子里面,我们后台你看啊, gweb 这个例子里面就是产品一的产品二、产品三、产品四的测试数量, 就是其实就读出来的,就是很多人可能说第一次用 g y 吧,不太不知道怎么搞。不会,其实你会 love you 的 话,你就会 g y 吧,因为这边其实就它的那个空间界面,这边是它的空间界面,那这边是它的程序界面, 对常规的循环啊,这些都有。呃,这个跟 love you 的 基本上类似吧,只不过 g y 吧,它 它那个第三方库支持力度不够,就说比方说数据包那个库,呃,这上面用不了。那你如果用数据库的话,你要用那个呃 java script 去写 那但是呢, libu 用这个 system link 来弥补了这一点,就是我们可以呃底层用 libu 写好,然后把数据通过 system link, 嗯, 交在这个 c, 从那个服务器上面去,然后那个,然后 g y 再从上面更新。我们最后再看一下这个例子啊, 哎,首先说一下生成的问题,怎么生成呢?双击,双击这个地方, y y app 这个地方我们点 build 就 可以了,点一下,点下 build 它它就自动就会生成, 点下 run 直接就呃 运行这个我们生成好的这个网页端了,这个网页端呢,就部署的话有两种方式,一个就是我们把它放在那个 n i 的 web server 那 个文件文件夹里面,这样你开机它就会自动部署,你输入网址就可以了。另外呢另外一种方式就是刚才我们说的,我们把它放在那个 看一下,我们把它放到那个 system link 本地服务器上, system link 本地服务器这个呃程序包存储库这里,你放在这里面,一开机它也会自动部署 好。大家直接自己去看一下这个例子吧,来那个 g y 吧,其实如果你会 up u 的 话,用 g y 吧就相当简单,没有大家想象的那么复杂。