粉丝7349获赞7.3万

好了,接下来呢我给大家讲解一下如何在 live view 中实现我们文件的读写。此次我们以一个带风格符的电子表格写入为例,我们在文件 i o, 然后找到这个函数文件路径,这里呢我们创建一个常量,待会给它选择一个文件, 然后我们比如说给它写出一个数组, 我们就写个一二三,然后常亮呢,我们浏览一个路径,然后创建一个文文本档, 然后将我们的数据连接进来。好,我们运行看一下,我们找到桌面的 新建文文本档,可以看到我们的数据就写进来了,当然我们的这个函数呢啊,不仅仅可以写入数值类型的,我们也可以写入字母串类型的,下面我再给大家演示一下。 好,这次呢我们写入几个英文字母 a, b, 好, 写点中文字母 c。 好, 我们将它连接到我们的 数据,输入一维数值这里,我们再运行一下,可以看到我们的 ab 呢是写进来了,因为 c 是 一个啊,汉字在这里面呢,它表示为阿斯匹马,所以说我们这边看不了。 我们介绍了带分格符的电子表格写入函数,下面呢我给大家介绍一下另外一种更加底层的写入方式,我们找到文件 i o, 选择打开文件,然后关闭文件,然后写入文本文件,我们把它给错误处和引用句柄都连起来, 我们还是使用这个路径 字母串呢,我们还是写入一样的,我们把上面的程序框图给禁用掉。 好,我们再执行一下,写入 好,可以看到我们的新的已经写入进来了,我们修改一下,那改成 c。 好, 我们再执行一下, 可以看到之前的数据已经被覆盖掉,证明我们的数据也已经被写入进来了。 啊,这两种写入方式的区别在哪里呢?我们调用这个函数的时候啊,本质上是调用了打开、写入、关闭三个函数。 在我们一些代码开发过程中呢,往往我们的文件只需要打开和关闭一次,在中途呢,我们可以进行一个多次的写入,此时我们就可以采用下面这种更加底层的写入方式。

大家好,今天来给大家介绍一下如何用 love you 实现与恶魔龙 pic 之间的一个通讯, 那么欧慕龙呢?官方提供的一个指定手册,通讯指定手册,我们可以参考他们提供的一个指定格式来进行相应的开发。 那么首先呢,我们找到这个指令,找到这个指令,这是欧盟龙官方提供的一个通讯指令的一个参考手册, 那么这个手册呢,它提供了两种方式的通讯协议,一种是 six command, 一种是 face command。 那今天我们要讲解的是一个 fans command 的一个开发, 那 fasten 开发的,开发的话他相对来说他可以操作,呃, ps 内部的几乎所有的一个状态比较灵活,那还有 移动方式呢?嗯,就是和 plc 之间的通讯,可以用 opc, 第三方的 opc 或者恩爱提供的一个 opc。 那我们看一下这个 fans 来指定这个格式。先看一下这个 ovov 这个地方,那这一部分呢,主要去讲解 fans command 它的一个作用,那一个连接方式怎么样去实现它? ok, 呃,这一页是 first command, 它的一个指令格式,那么上面这一部分呢,是通过一个创可的方式连接的一个真格式, 那下面这部分是通过网络的形式连接我们龙 pic 的一个真的格式,那么不同的连接方式,他的真的格式是不一样的, 这个地方有有所区分的,那么一般呢,我们,嗯开发的时候呢,是基本上是通过创口的方式和一台 ps 进行的连接,那么所以呢,我们今天要讲解的是这样的一个指定格式, 那这边呢,我有开发好一个粉丝的一个通讯库,这个是我在项目这种经常用的,然后其实验证是没有问题,嗯,拿出来给大家分享一下。 那首先我们看一下啊,他读写了一个功能,看一下,读读 dmg, 那么读 dm 区,我们最大的指令格式看一下 啊,这是真的一个格式,我们对照跟时间看一下。 那么首先呢,以他这个呃创口的连接方式呢?他是以小老鼠开头的,然后单元号,单元号 这个地方是根据你 pic 的设置, iphone, 那 fans 指定这个地方一定是 iphone, 是不会变的啊啊,如果你用 house 定格的话,他是会,嗯,改变不同的标记,做不同的操作,那 response time 响应时间,响应时间是移位,这边程序有变更, 后面 sfda twosatsid, 那默认的是零零那零零,对,然后命令 马,那 facecom 的命令吗?我这地方是末日的零幺零幺,那零幺零幺是什么功能?点到再说这个地方 有个坑们的 list, 零幺零幺零幺零幺是,呃读取内存一个区域,那读取哪一个区域呢?那所以这边就有一个区域嘛? 有区域吗?会指定你读的是哪一个区域。假如说你要写区域的话,那就是命令码写成零幺零二, 那我们现在要操作了一个 dm 区,那我们看一下这个区域码是多少区域码。 ok, 我们现在要操作的是 dm 区,那 dm 区的区域码呢?是在这个地方, dm 区的区域码就在这个地方这边,那操作字背的话就是零二,然后字的话就是八二, 所有的区域内容在这边查找。那开始为呢,我们是一般默认年龄,呃 墨尔定林,然后长度呢?比如说你要读几位,那一读几位就写几,然后我们看一下他的一个形式, 首先呢我们这边默认的,然后现在剩下五只地方是真的,这个数据结构里面是两位,现在要把它变成一位, 一个零,然后面临码是零幺零二,区域码是八二,八二,就是我们在这上查的 都写一个字,然后如果你是未的话,那就是,嗯,零二,比特就是零二,然后这个地方有开始地址,开始地址 是多少就写多少,然后这个地方有个位置,位置是什么意思呢?那我这地方有个视力,有个解释啊,假如说我们要读幺零幺零点七,那 我这个位置开始立志写幺零幺,然后位置就写七,啊,是这个意思。然后这边的长度话,呃可以根据你实际的需要,你读, 呃一个字,两个字、三个字都可以发挥一次性返回,那我们看一下这边有一个呃压力,那首先呢这个地方, 呃一个实际的说明啊,其实标志, 然后单元号,单元号,单元号爱妃响应时间,那这几个就是默认的,管他 零幺零二、零幺零二、零幺零二。我,呃我的这个零幺零二呢?呃,就是在往计算机内部去写数据啊, 写哪个位置呢?写 dm 区,然后寄存器,地址呢是三十号寄存器,然后开始位置是零零, 长度是一,数据是一加,原位是零二,然后信号结尾回射,结尾回正是看不到的。 那么现在用已有的这个内裤呢,去实现一个简单的一个通讯的一个功能, 我的这个内裤是经过很多项目呃验证的,直接可以使用的,然后我们就可以, 嗯,首先出手画一下,那我们这个连接方式呢,是一个串口,是一个串口, 就是 db 九连接,这 ps 一端配置一个,嗯,简单的一个通讯模块就好了。那这一部分的一个连接呢?是根据你 plc 端来设置的,那你 plc 设置的是什么参数,那这边也设置同样的参数就可以了。 然后假如说你读 dm 区,读 dm 区 都跌下去, ok, 都跌下去的话,就是 看 这边的话是有一个开始地址,那我们读 dm 三零,三零啊,长度,长度我们就写一加上一写十,那就是一次性读十个, 那写一的话就读一个,根据你实际的项目需求,然后他的返回值和在这个地方以数字的形式返回,那你可以通过这个来解析,那这就是一个读的功能。 那假如说你写数据往 d m 区写数据啊,写 d m 区的内容 开始地址,比如说我写 dm 三零,三零,然后写什么内容呢? 写的内容也是以数组的形式给出 啊,你写几个,他就会认为你写入的长度是多少,然后自动生成一个对应的时间会发送给 plc。 那么现在呢,我们就已经完成了一个基本的一个 通讯的应用,那至于表格中列出来的命令操作内部的一些其他的状态,这个可以根据相应的指定自己去完成。

啊,今天是二零二六年二月十四日星期六啊,今天我们这一期视频呢,呃,主要讲解一下这个文件的一个加载,呃,好多时候吧,我们在 加载文件的时候,有时候我们需要选择一个这样的文件夹,有时候需要呢选择一个单个的文件,呃,而这个文件夹里面呢,又有很多种这个文件类型,比如说我这边做了一个美矩形的,呃, tst 啊, 呃, excel, csv 啊, t d, m, s g, p g 啊等等这一系列,呃,那么我在选择的时候啊,呃,我可以选择一个文件夹来加载,这样的话,呃, 这边这个显示空间里边呢,就会显示出,呃,这个文件夹里边所有的匹配的这个类型的文件。 呃,我们看一下这个,如果我直接选择了这个文件文件夹,选择这个 t s t 格式,那么我点击导入,然后我在里边设置两个 t s t 的 格式的,然后这时呢我再选择这个 excel 格式的或者是 jpg 格式的,那么我点一下,这时候我就可以选择这个单个的 jpg, 我 选择单单个 jpg 的 话,那么这时候就选择这个打开, 然后点击导入,这时就会选就会加载出一个单个的 jpg 文件来,如果说我这个地方,我选择当前的文件夹, 然后点击,那么就会导出,呃,输出所有的这个文件夹里边的这批这个文件,那我看一下这个程序是怎么写的吧。 这个程序呢,我们是用了一个比较简单的一个 word 循环加事件结构,通过这个事件触发来实现的这个功能。嗯,首先呢我们点一下这个 这个类型,这个类型是个美酒空间,我通过点击它呢,点击这个鼠标,大家点击这个, 点击这个路径的时候,然后呢这个地方会有一个美酒空间的一个呃,显示,我也通过调用它的属性节点来得到它这个当前的这个呃完美内容, 然后呢加上一个星点,这样的话就是匹配所有的这样的后缀名是这样的一个。呃文件类型,然后呢调用这个路径的一个属性节点,然后呢就可以匹配出 这个当前文件里边文文件夹里边所有的这种类似的文件。比如说我现在选择 tst, 那 么我再点击这个的时候,它会自动的这个下方会匹配 啊,我运行的时候,我点击这个的时候,它会自动匹配出这样的一个 tst 文件来。呃,那比如说我现在选择这个 xls 格式的, 然后呢你再点这地方会自动匹配出这样的,这主要是为了实现这些功能,然后呢我们再看一下,当你点击这个导入的时候,这地方加了一个顺序结构啊,当然这个地方不加也可以啊,只是为了演示这个 一步的逻辑。首先这个地方呢会检测一下这个文件的后缀, 如果检测的后缀等于的话,那么等于我选选择的这个文件类型的话,那么我就直接加一个数组, 创建个数组,然后把这个文件输出,如果说是我没检测到,那你相当于是你选了一个文件夹,对吧?这样的话我就要罗列出这里边的所有文件,罗列出所有的文件来之后呢, 然后再通过这个创建路径把它组成一个完整的路径,然后再检测一下它这个它的这个文件路径的后缀,文件的后缀如果说等于的话,那么这个地方加了一个 放循环,它一个条件加缩影,这样的话就能输出所有的 这个这个类型。后边的呃文件,这又起到了一个筛选的一个功能。 呃,本期视频呢?就讲到这里。

大家好,欢迎观看由二十一世纪电子论坛原创的视频 level 编程的实用技巧系列。那么这一讲我们跟大家探讨一下如何自定义空间。 那么 laboville 中它自带的空间是很有限的,而且它的空间格式也比较规矩, 但是我们在做界面的时候想使用比较炫的一些空间,那么这样的话我们就只能自定义空间了。 好,这一讲我们主要讲讲如何自定义空间。首先我们打开 level, 为了启动界面新建一个紫薇 i, 在这呢我们选择一个 按钮,确定按钮,那么我们现在想对这个确定按钮自定一个空间,改变他的背景图片,使他背景图片, 呃,改变为我们所想要的一个图片。那么我们怎样去自定义呢?首先要打开一个自定义空间的一个文件。好,我们可以右键选择高级,这里有一个自定义, 那么我们就可以打开一个自定义空间的文件,当然我们也可以 新建,在新建中也有一个自定义共建,我们可以确定点击它即可啊,这里呢我们使用 右键自定义,这样我们就打开这个空间的一个 编辑文件的形式,那么现在呢,我们还不能对这个空间进行编辑,你比方说右键的话,他还是还是关于按钮的一些 选项,那么如何进行这个操作呢?大家可以看到这里有一个按钮,我们点击一下切换到自定义模式,那么现在 我们就可以对这个按钮进行编辑了。那么这个按钮呢,分为三部分,一个是标题标签,还有这个背景图片,那么我们要改变的是这个背景图片,我们可以把这个背景 图片稍微拉大一些。右键可以看到,这里有很多选项啊,有包括从剪贴板导入图片,从文件导入图片。这里还有一个图片像,图片像呢,一般是有四项, 那么第一项和第三项表示为在默认的情况下,就是不点击的情况下它显示图片。第二项和第四项 是点击之后显示的形式。比方说我们现在的 按钮在不点击的情况下是这样一种形式,如果我们点击之后就变为了这样一种颜色比较深的一种形式。 好,那么如果我们想把这个背景图片变为我们自定义的图片,首先我们要导入图片。如何导入编辑导入图片至剪贴版? 好,选择我们要替换的图片,比方说图片一好确定,这样呢,我们在剪贴板中就已经存在了刚才我们要替换的那个图片, 我们右键从剪贴板导入图片,或者是以相同大小从剪贴板导入。 如果我们希望导入的图片跟现在的我们这个蓝色边框大小相同,我们可以选择 以相同大桥从剪贴板导入。当然,如果我们想保留原有图片大小,那我们就可以选择第一项从剪贴板导入。好,我们看这两者区别。首先选择以相同大小从剪贴板导入, 那么可以看到导入图片跟原有的按钮的外围的大小是一样的。 好,我们 ctrl 加 z 撤退一步。如果我们从剪贴板导出图片,大家可以看到这时的图片是原有图片的大小,那么这就是这两个选项的区别。 好,我们选择从剪贴板导入图片,那么这是图片像的第一项,第一项和第三项是一样的,我们可以选择第三项, 然后接着执行刚才那一步,中间接盘导入图片,那这样呢,效率会比较高,我们不至于一次 只更换一张图片,下面呢就只剩下图片下的第二项和第四项的更换。好,我们选择编辑导入图片至剪贴板,选择第二张确定, 我们也选择从剪贴板导入图片,第四项执行同样的操作。 好,这样呢,我们的一个自定义空间就基本上完成了,我们可以 ctrl s 保存一下,比方说 名改为 play, 确定好,我们可以将其关闭, 它会提示是否将原空间确定按钮替换为 play, 这个空间我们可以选择否,那么这时我们可以 在这个空间面板上选择空间。刚才我们所建立的自定义空间 确定,这时呢,大家会看到这样一种形式的按钮,这就是我们所想要的答案。关于这个标题和标签,我们可以将其取消, 我们可以试验一下,比方说现在是关着,我们点击一下,它就可以变为颜色比较深的一种形式,这就是我们的自定义空间。 好,关于自定义空间,我们就先讲到这里,当然这只是一个简单的自定义空间,如果要进行更复杂的空间的设置的话,大家可以自己摸索着 怎样去完成一个更复杂的空间的定义。有关自定义空间的资料在我们的论坛 上面也会有,大家可以去电子论坛的人机界面这个板块去搜寻相关的资料, 这上面也有相应的视频,欢迎大家观看。好,谢谢大家。

love you 的数字空间是可以添加单位的,具体的做法是这样的,我们先在这个前面板上放一个数字空间, 点击右键,我们显示这里可以添加一个单位单位标签,比如我这里是一个输入电压,比如说我叫电压, 那么我们的单位呢?我们就把它通常电压单位,我们用福特来表示,那我们再拷贝一个,比如叫电流, 我们把他单位改成 改成安,这样我们通常呢在这后面吧,这里我们大家知道电压乘以电流就得到他的功率,让我们来计算一下 电压电流,那么我们在这里再放一个,比如叫功利 那公里,如果这个单位是我们刚才考过来是一个电压时福特,那么我们现在把它转换成一个显示空间,那我连起来一看,他会出现什么问题呢? 发现这里有个叉,这个原因是因为这这个单位是电压,这个是电流,那么这里应该是功率,那么我们把它改成功率 w, 看这里就正常了, 那我们也可以来计算一下,比如我电压是二百二十伏,那电流是一安,那我们一计算, 他这里就是二百二十伏,二百二十瓦,那刚才我们是用这个电压拷贝过来的方式,在这创建创建了这个显示空间,那我们可以把这个删掉他, 那么在这里我点击右键创建显示空间,然后把这个改成功率, 大家看一下这里他自动就添加了一个 w, 这就是说他的功率,那我们再来运算一下这二百二十五 这个单位,这个这里呢他还有一个优点是他会自动来变的,比如像我这二百二十伏,我把这个电压改成千伏, 他会变成多少呢?零点二二千伏,那么我把如果把这个一安这个电流 改成毫安,那他就变成以前毫安,所以他会自动变得,那么我们都知道那一千伏就等于一一千伏,一伏等于一千毫毫伏, 能按照这个嗯,就点静置的方式,我们可以算出来。特别要提醒的是,比如说我这里 一个属于一个 m, 大写的 m, 你可以看到这是造造福 老板,如果我改成小写的 m 呢? 这里又变成了豪府,我们再运算一下,他功率还是不会变的, 所以这就是他功率的呃,单位的妙用。而且这个数据我们也可以把它,我们比如说我把它这个改成,我们改成米,比如说多少米, 这里盖成笔,他这里就出错,那么我们再把这个删掉,他重新 创建一个显示空间,我们比如说叫面积, 大家可以看到 他这里就坚持到平方米,让我们不知道这个,比如说我这里叫长,这个改成宽,然后我们运行一下 这这个这就平二点二的十八次放这个平方米,让我们把这个平方米改改成单位加大一点 的 k, 他变成二百二十千平方千米。就就这样 我们用了这个之后呢,我们还有一个在这里,比如说我输一个长量,让我们在这里再拷贝一个 同样宽度,我自己输入一个数字敞亮, 这个长量时间也有单单位标签的,比如说我也算成一根笔,算成厘米,厘米吧,比如说我五百厘米,然后我把它连起来 显示空间,那这里也叫面积。 好,我们再运行一下,你看这里他也是这样,让我们把这个字数改小一点,这里太大了, 再运行一下,你看就得到这么一个结果。除了这个之外呢,我们还可以把它变成数组,比如我们在这里创建一个数组, 抓住一个梳子, 比如这里一百一百、一百九十九,都一百九十九了,那么 我们拿下来,比如说这里两百三百,好了,我们再分成另外一个数组,这里我们还是用电压吧,电压 电流,那么我这里别说一安、两安、三安啊,为了方便起见呢,我们就不搞那么复杂了。显示像这里还是,嗯,单位标签显示福特, 他说服务,你看我选一个,他全部都是一样的数字,所以他他这个呢,他就是统一的啊,电流,比如说我先安,他选不了,然后 后呢我们用书组来乘一下,他会是什么结果? 这里创建一个显示空间,那这里也可以看到他这里也是一个数组,那我们把它改成空滤, 他也是自动加了一个 w, 那我们这里是三个,这里有三个,那我们多加一个在下面, 比如说这个四四安、六五安,到这里三个数组,这里是五个数组,我们来运算一下,你看他刚好的结果就是这个,第一个和这个的第一个相乘, 第二个和第二个相乘四倍,第三个和第三个相乘,那这里多出来的他就不就不运算了,就把他直接删除掉了,所以数组也能进行运算。所以通过这些嗯,功能,我们可以 把它运用到我们的实际的测试,嗯,测试的数据当中,然后用这些方法来 比较灵巧的使用,就不用搞的那么复杂的数据转换,希望大家用这个能把自己的程序做一些小小的改善。

再看一下顶航这个属性,所谓的顶航就是指列表框空间中可编辑区域中 第一行所在的这个行号,通过顶行这个属性就可以设置或者获取列表框的顶行的行号。在这个程序中,列表框中一共有五项, 运行一下程序可以看到我们现在将第一项设置为顶行, 改变一下顶行的行号,下面是将第二项设置为顶行, 这个大写字母 e 是 第四项,下面我们将这个字母 e 设置为顶行,可以看到现在这个大写字母 e 就变为了顶行。 再看一下多行输入,通过多行输入这个属性可以实现列表框中某一行的多行输入。我们来看这个程序 为多行,输入这个属性负真值就可以实现某一项的多行输入。 要实现多行输入,在这里还要将这个允许编辑单元格这个属性复真值。因为我们要对某一些 进行多行输入的编辑,所以必须让列表框空间允许我们去编辑单文格。多行输入和允许编辑单文格这两个属性也可以通过列表框的右键菜单去设置。 这里有一个多行输入这个选项和可编辑单元格选项,这两个选项的功能和属性接点中 这两个选项的功能是完全一样的, 我们可以看到当前的情况下,这两个选项并没有勾选。 我面临下这个程序, 这个程序我们已经将多行 输入和允许编辑单元格付了真值。下面我们再看一下这两个右键菜单,可以看到这两个右键菜单已经被勾选, 这是我们通过程序对属性进行了修改, 再运行一下,去掉这两个选项, 可以看到这两个选项前的勾选已经去掉了。 好,我们运行一下程序,看一下程序的运行效果 为多行输入和允许单元格这两个属性负真值。 在列表框的某一项或者说某个单位格上左键单击, 然后这个单元格就变成了可编辑的状态, 在这个单元格中重新输入数据, 按一下回车键,实线回车换行。 编辑完成之后,将鼠标移到前面版的任意位置,点击一下, 就实现了输入的确认。可以看到现在的 这个第零项中 编辑的文本就有两行,这就是多行输入的效果。

想成为 labwave 高手吗?赶快来一小时课堂吧,你想要的绝招秘籍都有,一小时课堂,你成为 labwave 高手的必经之路。 大家好,欢迎收看由三 e 电子工作室推出的 labwave 与大模型 ai 系列实战视频教程零二篇 ai agent 智能体实线 上节课,我们讲了这个 agent 实现的工作原理,它非常简单,我们需要把我们已有的这个 工具函数的接口啊发送给 deepsea, deepsea 呢,根据需要调用这些函数接口,它在调用这些函数接口的时候呢,需要我们编辑程序来执行这些函数,执行函数的结果呢,再返回给 deepsea 啊,就是这么一个过程。 这节课呀,我们讲一下怎么把我们已有的这个函数接口啊发送给 deepsea。 我 们还是在我们这个上一门课的这个泛力的基础上进行讲解, 哎,这个泛力呢,就是我们讲解的上一门课 deepsea 智能助手的这个最终版的泛力,我们把这个泛力啊复制过来了,我们双击打开这个泛力, 我们打开之后啊,有些细节呢需要处理一下,因为我们这个项目中的这个图标的这个位置啊,处于这个文件夹下,我们最好把这个文件夹下的这个图标啊给他放到统一的这个范例的这个文件夹下,对不对?这样呢,我们这个 文件夹呢就不需要了,所需要的素材这个就不需要了,我们给他复制进来之后,他的路径是不是产生了变化呀?我们首先把这个给他删除掉,删除掉之后呢,右键我们再添加进来就可以了,添加文件,然后呢到这个呢重新选一下,好,这样呢,我们就把这个图标的位置啊给他换一下。 好,我们把这细节处理完了之后,我们再双击打开我们的程序啊,大家稍微等一下,第一次打开的时候呢,他可能会慢一些。 打开之后啊,还有一个细节需要处理一下,因为我们现在处于一个调试的阶段,一直在修改完善我们的程序,对不对?所以说我们右键属性这个地方,然后 窗口外观自定义,我们把这个运行时显示工具栏给它打开,因为我们要控制这个程序的停止与启动,对不对?所以说我们把运行时的这个工具栏给它打开,打开之后点击确定, 这样呢,你看我们运行的时候,这个地方是不是就出来了,我们可以可以方便的控制我们的程序停止,对不对?好,这是一个细节需要处理, 在正式编辑程序之前呢,我们还需要下载一个新的工具包,大家注意一下我们发送给 deepseek 的 这个 tools, 这个 键值队,它是不是一个数组啊?数组里有好多元素。嗯,这个每一个元素呢,就是一个函数的一个说明, 但是每一个函数的说明它的类型是不是不一样的呀?比方说,哎,这个函数有两个参数,那么这个函数呢,它就有一个参数,那么这个数值里的元素的类型不一样,这是不是一种非常特殊的一个啊地方啊, 一般的编程员啊,要求数值里的元素类型必须是一致的,咱们 level view 呢,也是同样的要求哦,但是这个 jason 呢,他没有这个要求 啊,它 json 数据库里的这个元素类型啊,可以不一致,那么这个地方呢,就与咱们 liveview 的 语法产生了冲突啊,如果说它一致的话,我们可以把 这些元素对不对,然后合并成数组,然后利用 liveview 自带的这个 json 函数呢,给它转换成 json 函数串就可以了,那么它在不一致的时候怎么办呢?这个时候我们就需要一个新的工具包,叫做 json, 这个工具包呢就是来解决这个冲突的, 对于工具包的安装啊,需要用到这个 vip m, 我 们在上一门课里呢,给大家进行了一个详细的讲解,我们这儿呢就不复述了,在 vip m 里呢,搜索这个 jasonnext 安装一下就可以了。 好,呃,这个安装呢,大家在底下安装一下,我们这个地方就不重复讲解了,我们再切换到我们的程序中来, ctrl 加 e 切换到程序框图面板。我们安装了这个 jasonnext 之后啊,右键 按在这个附加工具包这个地方呢,就有这个 jasonnext, 这是 jasonnext 一 些相关的函数。 好,我们的工具包转背完成了之后呢,下面开始我们正式的编程,然后首先啊我们对上一门课的一个小的 细节啊,给它完善一下,那个上一门课可能忘了处理了,就是在运行状态这个地方,我们应该选这个直信号,这样它变化的时候呢,才能够激发对应的事件,然后把这个状态呢发送到我们这个 webview 的 这个浏览器中。好,这个呢是一个小的细节,需要处理一下, 下面我们一步一步来首先处理这个 message, 就是 这个多轮对话里的内容 啊,为什么要处理这个地方呢?我们在上一门课里讲的这个 message 里的元素是不是都是一样的呀?所以说我们这个地方呢,是按照数数组处理的, 但是大家看一下,如果说我们涉及到这个工具调用的话,大家注意一下这个 message 里的的这个元素是不是就是变成不一样了?我们前面的还是都是一样的 rule content, rule content, 但是大家注意一下,下面是不是 rule reasoning content, 然后 tool cause 下面呢变成啊 rule content, 还有这个啊 tool cause id 是 不是它的这个元素不一样了呀?那么我们这个地方用数组是不是就不合适了呀? 这个地方啊,我们需要单独给它处理一下,我们把这个地方给它断开,然后把这个处模板里的这个 messages 呢给它删除掉,我们把这个地方给它删除掉, 删除掉之后呢,我们这个大小啊,给它调整一下,调整一下,然后哎给它放到这个地方来,然后把这个 message 是 不是给它删除掉就可以了?删除掉,好,这样呢,我们就单独的把这个啊 message 这一段这个多人对话的内容啊,给它单独拿出来了,我们给它单独往下拉一下,往下拉一下,拉一下,之后呢,我们这个地方啊,再给它加一个 多余的一个参数,这个参数呢叫做 max tokens, max tokens 我 们右键放一个这样的一个数值常量,右键显示像标签,我们给它贴上叫 max tokens。 这个是干什么用的呀?这个呢是用来控制 这个 deepsafe 单次输出的内容的,它默认呢一次只能输出四 k 的 内容,四 k 的 内容我们可以调节一下它的大小,比方说我们这个地方呢,可以给它改成八 k, 这样它输出的内容呢就会多一些,多一些。我们把把这个 matte tokens 啊给它放到这里面来, 放到这里面来,然后呢往下拉一下这个地方,哎,往下拉一下这个 max tokens 呢,我们就默认的这个四 k 啊改成八 k, 它它最大值啊,只能就是只能是八 k, 所以 说我们这个地方呢,八 k 就是 八,乘以幺零二四就是八幺九二 八幺九二。好,这个地方呢,我们就把这个最大值啊,最大输出值给它设置好了, 下面呢我们再处理这个 message 啊,既然它 message 里的这个元素类型不一样,那么我们该怎么处理呢?这个地方我们需要用到一个小技巧, 就是把它的这个元素啊给它转化为变体,转化为变体之后啊,它就会变成统一的一个数据类型。我们右键在促类与变体这个地方呢,有一个转化为变体,转化为变体,这是 live view 的 一个 非非常强大的一个功能,非常强大的一个功能,我们给他啊把这个元素啊给他转化为变体。大家注意一下,转化为变体, 转化为变体之后,那么这个树组里的元素是不是都变成变体了呀?他就不是原来的这个元素类型了,所以说我们需要啊,把这个多轮对话里的这个树组元素内容给他处理一下,哎,我们双击一下,是不是找不到他呀? 哎,那他跑哪去了呢?大家们注意一下,你看双击是不是看不到他,他跑到这个 web view two 的 这个控件下面去了,我们选择一下他,然后让他缩小一下,让他缩小一下,然后我们 再双击一下他,然后我们右键先把这个转化为这个显示输入空间,我们让他显示出来,大家可以看一下是不是就能看到了,大家注意一下,然后右键这个地方不要隐藏啊,让他显示出来,你看他藏到这个地方来了, 我们需要是不是把这个树组里的元素给他换一下呀?他的类型换一下。怎么换呀?我们转换为变体之后,我们可以右键 右键,大家注意下创建显示空间,创建显示空间,哎,我们双击一下他,双击一下他,然后我们把这个树组里的这个元素啊给他拖出来,大家注意一下,给他拖出来, 拖出来之后呢,我们哎把这个哎给它拖进去,这样呢,我们是不是就把我们这个树组里的这个元素的类型给它换掉了?换掉了之后它变成了一个显示空间,我们右键转换为输入空间就可以了, 这样呢,我们多轮对话,这个数组的元素类型啊,就给他变好了,变好了,变好了之后,我们是不是有元素合并到这个数组里的时候,都得需要给他转换成变体啊?所以说啊,我们找找还有哪些地方给他合并进去,我们找找是不是都得给他啊? 啊?转化为变体啊,那么这个地方该怎么找啊?这呢有一个小技巧,我们可以右键,然后查找这个属性节点,查找属性节点,哎,有几个地方用到了这个属性节点啊,说明是有可能就是合并进去元素了,我们双击一下的,哎,你看这个地方 是不是也涉及到一个呀?所以说我们这个地方呢,我们就得需要,哎,给他转换成变体,转换成变体,如果说他太太小的话,我们可以按住 ctrl 键鼠标单机空白的地方,然后拖动一下他,哎,这个地方呢就变宽了,我们右键再累。 这个地方呢,找一下这个转化为变体,转化为变体,然后这个地方给它转化为变体。好,这个地方,哎,这个地方我们就处理完了,就处理完了,是不是?我们再找找其他的地方还有没有啊?还是右键 查找这个属性节点。刚才我们看的是五啊,一共有五个属性节点,我们再看一下第四个,第四个就是还是这个地方,对不对?我们同理类似的,右键 查找这个属性节点,再看一下第三个,第三个呢,大家注意一下第三个就这个地方已经处理完了,右键查找属性节点,然后看一下第二个,哎,第二个是不是在这个地方啊?这个地方呢我们需要处理一下, 大家注意一下啊,咱们在这个编程的过程中啊,一定要用到一些小技巧,你要是靠蛮力啊,这个有些地方他就可能会忘了处理,我们这个地方呢,给他拉过来, 然后给他连过来,这是不是第二个呀?我们再查找这个属性节点,考一下第一个,哎,这个地方是不是也得处理一下呀?也得处理一下啊, 就是我们在合并进去之前啊,需要给他转换为变体,然后右键把这个地方呢转化为变体。 好,这样呢,我们就处理完了,全部的这个地方都给它处理完了,那么处理完了之后,我们怎么给它合并到这个 json 字串里去啊?这个地方的 json 字串是不是缺少了这个 messages? 缺少了 messages 啊?那么怎么再把我们的这个新的这个多乱对话,就是这个 messages 给它合并进去呢?我们这个地方啊,就需要用到我们新的这个工具包里的这个函数了,就是 jasonnext, 我 们右键 在这个附加工具包,附加工具包 just and next 这个地方呢,我们选择这个函数 set item 这个函数,我们选择一下这个函数,我们选择一下这个函数。选择完了之后呢,我们把我们这个合并生成的这个数值啊,连接到这个 anything 这个地方,你看叫 anything, 它可以连接任何的数据类型, 我们给它连连过来,连过来之后,那么我们要设置哪一个元素啊?我们给它连,连过来,连过来之后,那么我们要设置哪一个元素啊?我们按嗯 messaged, 所以 说我们右键放一个这个 printf 常量,这里面呢,输入这个 message, 然后把这个地方呢?哎 哎这个 item 就 给它连上,连上,这样呢,通过这个函数啊,就能够把我们这个多轮对话的这个内容啊,就是把我们这个 liveview 的 这个数据类型啊,转换成这个 json, 就 转换成这个格式的,转换成这个格式的, 我们转换完成了之后,是不是在这个地方连进来就可以啊?连进来就可以,你看这个地方是不是太小了呀?这个时候怎么办呀?我们刚才的小方法,小技巧是不是给大家讲了呀,按住 ctrl 键,然后用鼠标滑动空白处,哎,这样是不是就放大了呀?放大了 好,放到足够大之后,我们把这个地方给他拿过来就可以了,拿过来就可以了,好,我们给他这样,然后呢我们把这给他断开,断开之后,然后,哎给他连到这来,这个地方呢给他连上就可以了,连好了之后呢,我们处理一下,稍微往上拖一下, 好,到这儿呢,我们这个 message 就 给大家处理完了,下面我们开始处理 tools, 这个 tools 呢它是一个 json, 大家可以看一下里面是不是一个 json 啊?我们在上一门课给大家讲到过 这个 json 呢,跟我们这个啊 tool 啊是一个一对应的,这个 json 呢对应的 level view 中呢是这样的一个 fill 模板,一个 fill 模板。 我们这个地方就不带领大家一一的来写这个粗模板了,因为我们在上一节课给大家详细讲解了这个粗模板怎么写的,怎么跟这个 jason 范儿一一对应的,一一对应的。我在课下呢把这些这个粗模板啊给大家写好了, 我们直接给他复制过来,大家可以看一下这个触摸板,比方说第一个触摸板获取天气,大家注意一下啊,大家看一个就看明白了,大家注意一下这个获取天气函数的名称呢,叫做 getweather, 这个函数的这个描述呢就是获取一个位置的天气信息,用户必须指定一个位置和日期, 这个呢是第一个参数,位置,这个呢是第二个参数,这个日期。下面呢是必须要这个啊,指定的这个参数就是位置跟日期,位置跟日期这样的个呢是第一个函数,第一个函数,第二个函数呢就是获取这个当前的这个日期,获取当前的这个日期,然后 这是第二个函数,然后第三个函数呢就是执行这个 cmd 命令,执行 cmd 命令,然后其他的函数呢,我就哦不带领大家看了,不带领大家看了 啊,我们下面我们后面用要写这个函数实现的时候呢,我们再详细地带领大家看这些函数。呃的这个功能及参数。 我们这个函数的这个粗模板写完了之后,下一步怎么办呀?是不是跟这个多轮对话的处理是一样的呀?我们首先给它转化为变体,转化为变体,因为这些 函数的这个类型啊,都不一样。我们前面讲了,因为某因为函数的这个参数啊,这个数量也不一样,参数的类型呢,可能也不一样,也不一样啊,我们没法给它生成一个数组,所以说我们这个地方呢,就需要给它转化为变体, 转化为变体之后呢,它就变成了一个变体的类型啊,在 live vivo 中啊,这些变体的类型啊,都是一样的。转化为变体类型之后呢,我们就可以给它生成数组了,生成数组了,所以说啊,这个地方呢,我们就只用前面的这些函数就可以了,这两个呢是预留的,预留的好, 我们给他转换为变体之后,下一步是不是啊?利用这个创建数组的这个函数啊,然后把这些呢给他连接起来就可以了,连接起来就可以了,大家注意一下这个地方呢,给他连接起来,连接起来, 然后连接起来之后下一步该怎么办?大家想想我们是不是还是得用同样的这个函数,还是用这个函数, 我们大家注意一下,我们把这个地方呢给它贴过来,还是用这个函数,然后我们,哎给它拿过来,拿过来之后呢?是不是给它连到这个 anything 这个地方就可以了,哎,这个地方是不是就不能叫做 message 子了?它应该叫啥呀?这个地方是不是应该叫做 tools, 应该叫做 tools, 我们把这个 message 呢给它换成 toos, 换成 toos 换成了之后应该怎么办呀?是不是应该再给它添加到这个我们这个已有的这个 json 中来啊? 这个函数的作用呢,就是向已有的 json 中添加键值队的,它添加了一个 toos 的 一个键值队,那么我们是不是给它串联到这个地方来就可以了?所以说我们这个地方呢? a 给他调整一下位置,他是不是不够啊?不够。那么我们给他,哎,再给他拖动一下,拖动的大一点,拖动的大一点。然后呢帮我们把这个地方啊给他拿过去就可以了,拿过去就可以了, 我们把这个地方呢给他断开,然后这个地方稍微往上拉一下,拉一下,然后呢这个地方给他连过来就可以了。 好到这呢我们就把这个 tools 给大家写完了,这个地方我们没有带领大家详细的来写这个粗模板 啊,因为我们在前面的课程中已经给大家先详细的讲解了,如果说大家啊想感兴趣的话呢,可以双击,哎,双击打开看一下这个粗模板是怎么写的,这个粗模板就是对这个函数的功能啊进行了一个描述,因为我们在后面的课程中呢,还会 这些函数的实线啊,进行一个详细的讲解,所以说我们这个地方就不进行多余的一个复述了。好,到这呢,我们是不是就把这个 tools 这个功能实线给大家做完了呀?好,我们这一节这一节课呢,就就先讲到这,我们保存一下, ctrl 加 s。 更多后续课程请到一小时课堂继续观看你想要的 live view 教程。这儿都有,赶快行动起来吧,亲,你和 live view 高手之间的距离只差一个一小时课堂。

各位工程师朋友想入门 labview 开发,却不知道从哪开始?其实掌握这三个步骤,你也能快速上手。首先得打好基础, labview 最特别的就是图形化编程,你可以先从 n i 官网的免费教程学起,重点理解数据流编程的逻辑。这就像搭积木,把不同功能的模块用线连起来, 数据就会顺着线流动处理。接着一定要多动手实践,比如先做个简单的温度采集程序,用模拟信号发生器代替真实传感器,试着把数据显示在波形图上。遇到问题别慌,恩爱社区和论坛里有很多前辈分享经验,就像咱们工程师的技术交流群一样热闹。 最后记得结合实际项目提升,比如尝试控制一个小电机,或者设计个自动测试系统,把学 学到的函数状态机这些工具用起来。提醒大家, live view 虽然上手快,但深入应用,需要理解硬件接口和测量原理哦。你们刚开始学 live view 时,遇到过哪些有趣的问题?评论区一起交流解决办法吧!


朋友们,你们或许觉得用 labview 编程挺便捷,但要写出军工级别代码可就不是一件简单的事儿了。 咱们都知道,军工级别代码对安全性、可维护性和效率有着极高的要求。接下来我就给大家讲讲如何用 labview 写出这样高质量的代码。 首先,严格遵循开发流程,至观重要。在军工项目中,像 d o 一 七八 c m i l s t d 四九八以及 iso i e c 一 五四零八这些标准就如同指引我们前行的灯塔。 在使用拉布维欧时,我们也要依据这些标准,从捕捉需求开始,精心进行系统设计,再到一步步编码实现,最后严格测试, 而且整个过程都需要高度的文档化和可追溯性。这就好比我们要建造一座坚固的大桥,每一个环节都要记录在案,以便后续检查和维护。 模块化设计是 liveview 写出军工级别代码的有力武器。 liveview 的 图形化编程特性让模块化变得更加直观和易于操作。 每个模块都应该是独立的,功能明确,就像一个个小的工具箱,方便我们替换和升级。比如在一个导弹控制系统中,我们可以将传感器、数据采集、姿态计算、控制、指令生成等功能分别做成独立的模块。 同时要确保功能分离,降低各个模块之间的藕合度。严格遵循单一职责原则,避免一个模块承担过多的任务,这样在出现问题时就能快速定位和解决。严格的代码审查与测试是保证代码质量的关键防线。 在 live view 里,团队成员之间要进行细致的代码审查,不放过任何一个可能存在的漏洞、逻辑错误或者潜在的性能问题。除了常规的功能性测试,还要进行边界条件测试、性能测试和回归测试。 举个例子,在一个雷达信号处理系统中,我们不仅要测试正常信号的处理情况,还要测试在极端噪声环境下,信号强度接近极限时系统的运行情况,确保每一行代码在各种极端条件下都能稳定运行。 内存与资源管理在 live vivo 编辑军工级别代码时也不容忽视。虽然 live vivo 有 自动内存管理机制, 但在军工级别的高安全性和实时系统中,我们可能需要手动精确控制内存的分配和释放,防止内存泄露或溢出。因为一旦出现这些问题,就可能导致系统崩溃或者出现安全漏洞,后果不堪设想。而且,军工系统对时间和资源有着严格的要求, 我们必须确保代码在规定的时间内完成任务,合理优化资源的使用。安全性与防御性编程是保障系统安全的重要手段。 在使用 live view 编程时,我们要向一位谨慎的卫士考虑到各种最坏的情况,加入防护机制,如输入验证和异常处理。比如,在一个武器控制系统中,如果输入的指令超出了合理范围,系统要能够及时识别并拒绝, 防止恶意输入或者错误操作对系统造成损害。同时要遵循安全编码标准,如 c e r t c c 加加编码标准中的一些原则,预防常见的安全漏洞。严格的版本控制与文档化是军工级别代码开发的必备条件。 我们可以使用像盖子这样的版本控制工具,记录每一次代码的更改,保留详细的变更历史记录详细的代码文档和注置也是必不可少的。它们就像一本说明书,让其他开发者能够快速理解代码的功能、设计、决策、假设和约束等。 在 live view 中,我们可以利用图形化的界面和注置功能,让代码的文档化更加直观和清晰。勇于设计与融错机制能大大提高系统的可能性 在 livewell 编辑的军工系统中,为了确保系统在部分功能失效时仍能稳定运行,我们可以设计融于逻辑。比如在一个卫星通信系统中设计多个通信链路,当一条链路出现故障时,系统能够自动切换到其他链路, 同时加入错误检测与恢复机制,通过监控系统的状态自动修复小问题或者安全退出,避免小故障演变成严重的系统崩溃。 实时性与确定性是军工系统的核心要求。在 liveview 里,我们要确保代码的执行时间是可预测的,不能有任何不确定的延迟。对于硬实时系统,编程代码必须在规定的时间窗口内执行,否则可能导致系统崩溃或者任务失败。 我们可以使用 liveview 的 实时模块结合实时操作系统来满足这些严格的实时性要求。 持续优化与性能调优是不断提升代码质量的过程。在资源有限的硬件上运行时, 我们要对内存、处理器和宽带等资源的使用进行优化,减少不必要的开销和荣誉。代码码为篇,系统要充分利用 labview 已经验证过的代码模块进行高效的代码复用,并根据需求的变化不断优化代码。 最后,合规性与认证是军工级别代码的通行证。军工级系统通常需要通过第三方认证和审核,确保软件符合相关的行业和国家标准。 在使用 live view 时,我们要保证代码的测试覆盖率接近百分之一百,特别是关键代码路径,要对所有可能的情况进行充分测试。 朋友们,用 labview 写出军工级别代码,不仅考验我们的技术水平,更需要我们具备高度的责任感和严谨的流程意识,任何一个小失误都可能带来严重的后果。 那么大家在使用 labview 编程时遇到过哪些让你觉得棘手的问题呢?欢迎在评论区分享交流。

今天我们讲一下毛泽巴士同意协议的 csc 教验计算方法及莱巴菲有实现方法。模特巴斯的 csc 教验算法主要有如图所示的八步 对应的莱伯 vivo 程序框图,如图所示。接下来我们一步步介绍。首先需要注意的是,要交验的数据是八位的无符号整形。为了防止输入数据时出错,我们将输入数据的表示法设置为无符号单字节整形, 并将输入数据的显示格式设置为十六禁止。 现在我们结合着算法分析程序。 第一步,加载一个权威一的十六位计算器,这个计算器就是 crc 计算器,相当于是设置 crc 的初始值为十六个一。第二步, 把第一个八位的二定制数与十六位的 crc 进行易货处理。为了易货处理的两个数据类型统一,我们将输入的八位无符号整形转换为十六位无符号整形。我们先暂时不管程序最外侧的放循环,并且认为输入的是一个八位数字,不是数组。 第三步,将易或后的十六位 crc 二进至值右移移位,右移后左侧最高位补零,并确认右移出的值是零还是一。这里我们用到的是带进位的右移位函数, 我们右键看一下这个函数的帮助文档,通过文档可以看出这个函数位于数值函数下面的数据操作函数中,我们在函数面板中也能沿着这个路径找到他,该函数的逻辑如图 所示。如果进位为处,则薪值最高位补一。如果进位为 boss, 则薪值最高位补零。 如果最右侧移出的位的值为一,则最低有效位进位为处。如果最右侧移出的位的值为零,则最低有效位进位为 boss。 根据第三步的要求,只需要将进位置为 boss 即可。 第四步,如果移出的位为零,则不对数据进行处理。如果移出位为一,则与十六进至 a 零零一进行易获程序比较简单,使用了一个选择函数 以及一个与 a 零零一的易货处理。第五步,重复第三、四步,直到右移八次。这种重复性的操作使用的是放循环,循环执行八次。在放循环中使用了移位机 寄存器,其中一位寄存器的逻辑是,当第一次执行放循环时,使用的是前面程序传入的值。当第二次及后面执行放循环时,使用的是前一次放循环计算的值。 第六步,重复第二至五步,对下一个无符号单子结整形数值进行处理。这里我们仍然使用的是放循环,此时输入的数据是一个数组,并且在放循环中使用了自动缩引隧道和移位计算器。 自动缩影隧道的作用是依次读取数组中的元素给货循环,货循环的执行次数等于数组的大小, 因此使用了自动缩影隧道后,不需要再设定循环次数。接下来我们看货循环中的逻辑,当循环次数二等于零, 也就是第一次直行时,直行的是第一、二步算法。这就是我们前面讲的逻辑,当循环次数二等于一,也就是直行第二次放循环时,输入数字中的第二个数会通过自动缩引隧道进入放循环 与放循环移位计算器中。上一次放循环计算的值进行易获处理,放循环会重复执行,直至输入数组中的元素被全部处理。第七步,将第六步得到的十六位 crc 数值的高低字节进行交换。 这里我们使用的是交换字结函数,这样就得到了 crc 交验码。因为有时候会将交验码处理为字符串,因此程序中增加了一个转字符串输出。接下来我们用这个例子验证一下。程序 分别输入需要教验的数据,点击运行教验,计算结果为十六进制九九七五,与文档中的结果一致。

大家好,欢迎观看由二十一世纪电论坛原创的视频 level view 编程的使用技巧系列,这一讲呢,我们主要探讨一下有关于列表框空间的使用。好,首先我们打开 level view 的启动界面, ctrl 加 n 新建一个 vi, 在这里呢,我们首先先插入一个 多列列表框空间,我们这一讲就以多列列表框为例来讲解有关列表框的空间的使用。那首先呢,我们来看一下多列列表框的结构。 好,我们右键可以看一下显示向里,这里呢有垂直水平滚动条,这个我们就不多讲, 行手和猎手,默认情况下他是只显示猎手,也就是这个灰色的空间,那么我们可以点击行手让他显示行手。 好,这是行手和猎手,那么我们选择默认情况取消行手, 这里还有垂直线和水平线。好,我们点击一下看一看,那我们一点击垂直线就消失,同理呢水平线也是也是如此。那么这里呢有一个符号选项, 那么这个符号选项有什么作用呢?我们可以点击来试验一下。好,首先我们可以在 在这里随便打入几个字符,然后 在这个字符中右键,大家可以看到这里有一个选项项符号,这里呢莱伯伯又提供了四十多种自带的图标,我们可以选择其中实根据实际情况选择其中一种,比方说选择 这个加号,这个加号的意思呢就是他还有下一集目录就是可以扩展的, 那么这就是符号,如果我们取消这个符号,那么这个加号就不再存在,那么这就是符号的使用,有关符号使用 我们稍后会做更详细的讲解。好,下面呢我们先看一下如何在多列列表框中写入数据,当然我们在编辑状态下可以手动写入数据,比方说随便写入几个数据, 它支持数值字符串等等, 这是在编辑状态下,那么我们大多情况是在运行状态,运行状态中对多列列表框进行写入,那么应该如何进行操作呢? 那么很多人就认为呢,我们是不是在这创建一个属性节点, 那么很多人认为呢,我们可以将其转化为显示空间,然后呢添加一个数值数据, 然后连接即可。好,我们不妨试验一下 ctrl 加二,大家可以看到这个多列列表框是没有任何变化的,即使我们添加的是一个数组形式的数据。 好,我们再运行一下,大家可以看到这个多列列表框,其他中他里面的数据是 不会发生变化的,那么我们应该怎样对多列列表框进行数据的写入。 好,下面我们就来操作一下。首先呢,我们应该选择创建属性节点,然后利用这个属性节点中的项名,那么什么是项名, 项名呢?就是我们所说的这些数据数据表格, 这些所有的数据表格都称为项名,可以试验一下,将它转化为写入, 我们 可以写入几个字符,比方说入万,我们将其拉大。 好,这时候呢我们运行一下 ctrl 加二,大家可以看到,这时多列列表框中的数据就发生了变化,就是我们所填入的有关项名的一些数据。 那么多列列表框的空间的这个写入就是利用这样一种形式,它是利用属性节点中的项名 是这个选项。好,下面呢我们看一看有关符号的写入,也就是像符号。首先呢我们必须在选式项中将符号显示,这样呢我们写入的时候才可以显示出来。 项符号的写入和数据的写入是一个道理,我们在这选择项符号 即可。那么我们可以在这里创建一个常亮,看一看他的,他的格式呢表示法 是属于 i 二四三二 i 三二那个长正形数据,也就是说它是一个数值形式,而不是自 福串。那么这个数值在这里代表是什么意思呢?我们当刚才已经看到这里有个像符号提供了一共是有四十二种这个图标,那么他们每一个图标呢, 都对应着一个锁引号,就是我们这的长整形数据。比方说 我们想添加,想使用这个对号和错号这两个,那么他的锁引号是分别是一二,那我们可以在这设置为一 二好运行一下,大家可以看到这时候呢,第一行它的符号是对号, 第二行是错号,就是刚才我们所添加的对应的缩影号是一二, 这就是有关符号的添加。当然 level 中自带的相符号是有限的,它只提供了四十多个,而且最后一个也不是一个具体的图标,它是一种 一种格线符。那么如果我们想在这个符号中使用我们自定义的图标,应该怎么操作呢?这时呢,我们就要使用多列列表框的调用方法,而不是他的手型节点。 好右键创建调用节点。这里呢最后一项可以看到有一个自定义 像符号,这里呢有五个选项,如果我们要选择自定义的图标,我们可以选择设置为自定义符号,或者是设定为自定义符号数组。这里呢,我们设置单个选,设定设置为自定义符号。 好,这时呢,就创建了这样一个调用方法,那么这个调用方法呢,有两个选项,一呢是 index, 也就是锁引号,另一个呢是图标,这个锁引号 是我们给这个图标所赋予的一个缩影号,比如说,如果我们想把这个自定义的图标添加进来,就必须为这个自定义图标 标设置一个锁引号,这里呢,我们已经有了四十多个图标了,比如说他们对应的锁引号是从零到四十级,那么这里呢,我们的锁引号为了防止跟这里的图标重复,我们这里呢,可以选择 稍微大一些的数值,比方说是一百以上,这里呢,我们可以选择一百号,而这呢是一个图像数据, 我们需要使用读取图像这些个函数来读取一副图标,然后将所得的图像数据传到这里。在这里呢,我们选择读取 png 文件, 这样呢,这里有一个路径常亮所得到的数据图像数据可以传到这里好,比方说我们想把这样一种拼接, 这样一种 png 图像当做自定义的图标好,我们可以直接将其拖到这里,那么这样呢,自定义图标的一个写入就完成了, 写入之后,这样自定义图标他对应的缩影就是一个,就是一百。这里呢,我们只是把自定义的图标相当于写入这个文件库中,如果要 使用它,还是要使用这个属性节点。像符号,好,我们可以先在这删除, 然后呢在其后面添加这样他的一个属性 像符号,将其转化为写入。 我们为了检验一下刚才自定义的图标,这里呢将第二个设置为一百 好连接,为了防止出现错误,我们可以加入一个顺序结构,比方说我们在这是先读入数据 好,然后呢自定义图标, 然后再吸读取设置我们的符号, 好, 这样呢操作就完成,我们可以呢试验一下 ctrl 加二,大家可以看到,这时呢我们在第二行就有一个自定义的图标,当然刚才我们选的这个图标 可能太过于复杂,在这里呢显示不清楚,大家呢可以自己下去,下面去实验一下,添加一个比较简单的图标来演示一下。那么这些内容呢,就是我们 这一讲所要讲的就是有关多列列表框空间的使用,主要是讲了他的数据的写入,是利用他的属性节点中的项名来写入。另一个 个呢是符号的像符号的写入,我们可以选择 level 中自带的像符号,也可以呢选择自定义的图标来设置为符号,这里呢是通过使用多列列表框的调用节点, 他的一个调用节点来完成这个自定义符像符号,好,这就是我们今天所要探讨的主要内容,那么我们今天呢给大家留一个题目, 大家是如何在运行状态下添加像这样的猎手,还有行手上面的文字, 也就是说,比如说我们在猎手中添加一些文字,那么如何在这是在编辑状态下写入,如何在程序运行状态下写入 另一个呢就是大家可以在下面练习怎样设置自定义图标。好,如果大家有什么好的思路或者想法,可以到 到我们的电子论坛去发帖,我们电子论坛的网址在屏幕的上方,大家进入这个网址之后 找行业论坛,下面有个人机界面子面板,在这个人机界面子面板中,我们有很多关于莱博威用的一些资 资料,大家可以在这里发帖,我们今天所讲的教程也会在人机界面的视频教程字面板中上传,这里呢有很多关于 level you 的视频资料, 我们视频后面所出的一些练习题,大家可以在相应的视频下面回帖就即可。今天呢就讲到这里,谢谢大家。

大家好,这节课我们学习常用空间的编程。 libra 编程环境为程序界面的构建提供了丰富的空间。大多数的 libra 空间都有新式、系统、经典这三种风格的空间形式, 使用这些空间可以构建内容丰富的应用程序界面。 转接客主要讲述常用空间的编程应用,下面我们学习列表框空间。 列表框空间是来不如编程中常用的空间之一。列表框 空间用于分类显示信息。 在列表表格和竖这个紫旋板下可以找到列表框空间。 loveyou 的大多数空间都具有新式、 系统以及经典这三种风格,列表框空间也不例外。在系统这个紫旋板下可以找到系统风格的列表框空间。 这个是新式风格的列表框空间。 这个是系统风格的列表框空间。 这就是系统风格的列表框空间。这个是新式风格的列表框空间。再创建一个经典风格的列表框空间, 这个就是经典风格的列表框空间。 列表框空间的数据类型为三十二位的整形标量或者三十二位的整形数组。在默认的情况下, 选择模式被设置为了一项, 这就表示 在默认的情况下,列表框空间他的数据类型为三十二位的整形标量。 如果选择零项或多项或者一项或多项,那么 就将列表框空间的数据类型修改为了三十二位的整形数组。