2.Labview字符串与路径精讲(上) — 理论篇

本章讲解labview中的字符串和路径及其使用方法,从前面板字符串属性到后面板字符串函数应用做出详细概述,通过本文的学习希望大家了解到字符串在labview编程中的重要地位。

本系列文章为labview 从基础到强化到精通的学习文章,大家可以随时点进我的主页查看文章的更新进度随我一起学习,同时可以订阅我的专栏,及时了解更多在学习过程中遇到的问题,也欢迎大家随时提问。本章为理论篇,下章为实践篇,话不多说,正文开始。

字符串与路径精讲 — 理论篇

  • 一、字符串介绍
    • 1.1 通俗的认识字符串
    • 1.2 字符串前面板
      • 1.2.1 建立字符串
      • 1.2.2 字符串前面板操作
    • 1.3 字符串后面板
      • 1.3.1 字符串函数
      • 1.3.2 字符串与数值数据的转换
  • 二、路径介绍
    • 2.1 路径简介
    • 2.2 路径前面板
    • 2.3 路径后面板

一、字符串介绍

本章将用通俗的语言讲解字符串的组成结构,从基础角度阐述字符串的含义。

1.1 通俗的认识字符串

在Labview中,字符串默认是以ASCII码显示的一种多用于显示、传递提示信息、记录等但不用于计算的一种数据形式,也就是说字符串是用于显示和传递某些信息的,字符串其中的一些数字等的是无法像数值量一样进行加减等数值计算。至于为什么,下文将对字符串从底层逻辑详细进行解释。建议收藏加关注再观看

1.2 字符串前面板

本节讲解字符串前面板的相关操作。

1.2.1 建立字符串

打开labview编程的前面板(Labview有前后两个面板,前面板用于放置控件,一般为输入控件或显示控件,后面板用于函数编程。),右键鼠标 — 点击“字符串与路径” — 点击“字符串”,将其放置在前面板,如此已经创建了一个字符串的输入控件。
字符串输入及显示如下图所示:
在这里插入图片描述
这里题主将着重强调一下字符串前面板的显示形式,右键点击字符串后,可以在快捷状态栏中看到以下几种选项:正常显示、''代码显示、密码显示、十六进制显示这四种选项,那么他们各自的优势与区别在哪里呢?下面将做出介绍。

1.2.2 字符串前面板操作

  1. 正常显示
    该显示方式下,可以自由显示我们输入的一些句子、数字、字母等,也就是说,“我们输入什么,字符串就显示什么”,如下图范例所示,我们将字符串输入控件与输出控件连在一起,我们在输入控件中写入什么就会显示什么。
    在这里插入图片描述
    这里需要注意:字符串显示的是我们人类的语言,虽然看到的是能看懂的语句,但实际上该显示的字句本质为ASCII码的形式。
  2. '\ '代码显示
    该显示方式也可以称为“反斜杠代码”格式,该格式下大写字母用于十六进制字符,小写字母用于换行、回格等特殊字符。该代码格式如果在编程过程中没有特殊使用要求,几乎很少去使用。如果有相关要求,可查询NI提供的反斜杠代码来编程,下图提供部分代码:
    在这里插入图片描述
  3. 密码显示
    该显示模式是大家最常见的显示方式之一,最常见的是我们在各类App上输入我们的用户登陆密码时,输入的任何数据均被显示为字节数相同的星号 “ * ”,一般该方式用于我们进行上位机开发时,需要设计一个用户登录界面,一般使用该方式来隐藏用户密码。
    在这里插入图片描述
  4. 十六进制显示
    该显示方式是将字符串中的数据变为16进制的显示方式,各进制之间的转换相信大家也比较清楚,下面图片中的表格为十进制和十六进制之间的转换对照表,16进制,即满16进1,比如十六进制的10为十进制的16。那么该显示方式一般用于做什么呢?比如我们进行网络协议传输时,传输的数据往往有二进制、十六进制等,报文协议的传输在使用十六进制时往往能节省数据存储且更具有规范化的优势。
    在这里插入图片描述
    为了让大家更清楚的理解字符串的正常显示为ASCII码的形式,题主举了个例子,如下图所示,为一张ASCII码的对照表格:在这里插入图片描述

我们在字符串输入控件中输入数字6,运行程序发现16进制的显示控件显示为36,查询表格中对应的数值,ASCII中的6正好对应十六进制的36,表明正常显示为ASCII码格式。
在这里插入图片描述

1.3 字符串后面板

字符串的后面板包含字符串的数据类型转换、字符串相关函数、字符串的常见应用等。本节将对每个常用函数进行细致讲解。

1.3.1 字符串函数

  1. 字符串长度、连接字符串函数
    这两个函数我放到一起讲解,因为这两个函数较为简单,连接字符串函数就相当于我们在语文中使用词语拼接一个句子,拼接到一起形成完整内容,字符串长度相当于获取当前字符串的长度,这个单位为 “字节数”,如汉字中一个字和一个标点符号占用2个字节,十进制数字一个数字占一个字节,16进制一个0x00占用一个字节。程序如下图所示:
    在这里插入图片描述
    题主这里使用了一个函数叫做 “获取日期/时间字符串” 的函数,来获取题主当前所在的时间。

  2. 截取字符串与替换子字符串
    这两个函数有共同之处,一个作用是将一句话中截出一部分,一个是将一句话中的一部分替换成其他的句子。这两个函数均有两个重要的参数:偏移量和长度。
    在这里插入图片描述
    偏移量是指,我从一句话的第几个字节开始截取,长度是指从这个开始截取的位置截取和替换几个字。如下图,上方是截取字符串,在第四个字节(上文提到过一个汉字两个字节)截取12个字节,即截取6个字,下方是替换字符串,同理。
    在这里插入图片描述
    拓展:函数 “搜索替换字符串” 相当于word文档中的查找替换,该函数和替换字符串有相似之处,需要输入查找的对象搜索替换即可,不在过多赘述,有不懂的可以评论或者私聊。

  3. 匹配模式及匹配正则表达式
    这两个函数中相当于在搜索字符串的基础上将搜索到的字符串名称,该字符串前面的字符串、后面的字符串列举出来,便于开发者调用判断,用例可以看下面图片所示。
    在这里插入图片描述

  4. 扫描字符串
    该函数在哪种使用情况下才会调用呢,就是说我们已经清楚了输入的字符串是什么结构的、什么类型的前提下,将该字符串中的数据扫描出来,比如题主做了以下的程序为例:
    在这里插入图片描述
    题主输入的是一个随机的IP地址,如果我们想获取IP地址的前两位时,可以扫描一个浮点数类型的数据(这里说明一下浮点数,就是大家可以理解为一个带小数点的数字,他的代码是%f),那么最终的结果是程序将192.168扫描出来了,这就是我们要的前两位,那么这个代码去哪里查询呢,我们按住Ctrl+H点开这个函数的帮助,里面介绍了所有我们需要的代码类型,大家自行查询即可。比如整数是%d,我得代码扫面出来的数字如下图所示,扫面出了192这个整数。
    在这里插入图片描述

  5. 格式化日期/时间字符串
    这个函数既可以定义在字符串函数中,也可以定义为时间一类的函数中,往往需要搭配时间函数使用,将获取到的计算机当前的时间格式化为我们需要的格式类型。以下提供一个范例,用到两个函数分别是:
    在这里插入图片描述
    在这里插入图片描述
    前者可以获取当前计算机的时间,后者可以将计算机时间格式化为标准的形式,程序如下:
    在这里插入图片描述
    这种程序一般用于做界面开发时,向用户展示当前时间等情景。

1.3.2 字符串与数值数据的转换

本文前面提到过,字符串本质为ACSII码的形式,目的是便于人机交互理解。那么如何将字符串转化为可以计算的数值、可以引用的路径等形式呢,本节讲解字符串到数值的转换。函数具体在:字符串 — 数值/字符串转换中。

  1. 数值至十进制字符串转换
    将数值转换为对应数值的字符串,这个很简单,不做过多赘述。
    在这里插入图片描述
  2. 数值至十六进制字符串转换
    将数值转换为对应数值的字符串,题主计算了数值20的十六进制字符串,结果显示为14,大家知道16进制为满16进1的,所以14的十进制就是1×16+4=20,结果是正确的。
    在这里插入图片描述
    其他数值转换的方式是一样的,大家可以自主延伸,如果哪一项不明白可以“Ctrl+H”查询函数使用方式。
    3.十进制/十六进制字符串至数值转换
    将十进制/十六进制字符串转换至数值类型。这个和上面一样使用,较简单。
    在这里插入图片描述
    在这里插入图片描述
    另提一句,函数介绍中,除了输入显示之外的其他参数可以不填写,默认全部都转换。

二、路径介绍

这个路径就是大家平时理解的,电脑中的文件夹路径,文件路径等。本章介绍以下路径相关的知识,并讲解其函数应用,及与字符串相关的转换。

2.1 路径简介

Labview提供了路径常量及其函数表达方式,其接线颜色为淡绿色,如下图所示:
在这里插入图片描述

2.2 路径前面板

将路径与字符串放置在同一篇文章中介绍,起因是因为字符串与路径在前面板同一模块中,并且二者在形式上可以进行转换,话不多说,请看前面板的路径状态,创建:前面板 — 字符串与路径 — 文件路径输入控件
在这里插入图片描述
这个控件使用时,可以鼠标左键按下右侧的文件夹图片,就会弹出一个路径选择的窗口,点击选择路径即可,相信大家在使用电脑某些软件时,这个弹出路径窗口的功能常常见到。另外,这个控件可以定义在选择路径时能选择文件夹还是文件和文件夹都能选择,具体设置请右键控件,点击属性,点击浏览选项。可以看到界面如下图所示:
在这里插入图片描述
在选择模式中,选择文件/文件夹/文件或文件夹,表示我们在选择路径时,可以选择哪些文件的路径,比如当仅选择文件夹时,我们在设置路径时,仅能打开文件夹的路径。新建或现有指的是,当我们选择的路径中有这个文件夹时我们会打开,但是没有时就会创建这个路径,包括这个路径上所有的文件夹

2.3 路径后面板

路径控件的后面板类型有几种。由于本章是放在字符串中讲解的,所以对路径讲解只做与字符串相关的描述,之后会开一篇文章专门讲解路径相关的文章。

  1. 路径常量
    打开labview后面板,右键鼠标,选择文件I/O,选择文件常量,就可以看到文件路径的常量了,如下图所示。这些路径相关函数中包含了路径常量(直接输入目标路径),当前VI路径(咱们在写的这个VI的当前文件夹地址),空路径、非法路径等。大家可以自己建立一个显示控件查看路径的具体地址,这里不过多赘述了。
    在这里插入图片描述
  2. 创建路径函数
    该函数在文件I/O,创建路径中。
    该函数有两个输入一个输出,相当于拼出一个新路径。很简单,给大家看例子就懂。
    在这里插入图片描述
  3. 拆分路径
    与创建路径正好相反,给大家一个例子直接懂。
    在这里插入图片描述
    那么路径相关的函数具体就讲解这两个,够用了。具体详细的后续的程序应用,单独给大家开一篇文章讲解。

本文讲解了字符串及路径相关的介绍,从字符串前面板使用及后面板函数做出具体介绍,本文所提到的程序将上传至云端,大家自行下载学习。
下一章向大家讲解字符串及路径的几个基本应用,讲解具体实例,帮助大家强化。本章到此结束,欢迎大家关注并收藏,谢谢~

本章程序学习下载地址:
链接:https://pan.baidu.com/s/1bypzTaVlhU-y9JxONEgOHg
提取码:6666

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Adaptive Adversarial Patch Attack on Face Recognition Models》论文分享(侵删)

原文地址:Adaptive Adversarial Patch Attack on Face Recognition Models | IEEE Conference Publication | IEEE Xplore author{Bei Yan and Jie Zhang and Zheng Yuan and Shiguang Shan}, title{Adaptive Adversarial Patch Attack on Face Recognition Models…

springcloud-Eureka注册中心

如果你要理解这个技术博客博客专栏 请先学习以下基本的知识: 什么是微服务什么是服务拆分什么是springcloud Springcloud为微服务开发提供了一个比较泛用和全面的解决框架,springcloud继承了spring一直以来的风格——不重复造轮子,里面很多的…

c++ 指针大小

C的一个指针占内存几个字节? 结论: 取决于是64位编译模式还是32位编译模式(注意,和机器位数没有直接关系) 在64位编译模式下,指针的占用内存大小是8字节在32位编译模式下,指针占用内存大小是4字…

JavaScript 使用 Promise 实现 sleep 休眠

以下为代码实现&#xff0c;该代码实现了每隔1秒打印一次当前时间&#xff0c;总共打印5次的功能 for(let i 1; i < 5; i){console.log(new Date().toString())await new Promise(resolve>setTimeout(resolve,1000)) }实现休眠的核心代码为: await new Promise(resolv…

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SAO-LSTM雪消融算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SAO-LSTM雪消融…

使用el-cascader组件写下拉级联多选并且具有全选功能

样式 说明&#xff1a; 级联选择器中加上全选的按钮&#xff0c; 并且保证数据响应式。 思路 因为是有全选的功能&#xff0c;所以不能直接使用el-cascader组件&#xff0c; 而是选择使用el-select组件&#xff0c; 在此组件内部使用el-cascader-panel级联面板全选按钮也是…

【机器学习】科学库使用第2篇:机器学习概述,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标。机器学习概述&#xff0c;1.3 人…

idea-不同项目使用不同maven版本

背景 idea一直使用的是maven3.6. 新接的项目要求maven要3.9&#xff0c;所以down下来以后maven的dependencies一直加载失败。 报错信息为 Full classname legend:CustomModelValidator: "org.jetbrains.idea.maven.server.embedder.CustomModelValidator" DefaultM…

RabbitMQ--03--SpringAMQP(SpringBoot集成RabbitMQ)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 SpringAMQP1.SpringBoot 的支持https://spring.io/projects/spring-amqp 2.RabbitTemplate3.RabbitListener&#xff08;终极监听方案&#xff09;4.RabbitConfig--…

用pdf2docx将PDF转换成word文档

pdf2docx是一个Python模块&#xff0c;可以将PDF文件转换为docx格式的Word文档。 pdf2docx模块基于Python的pdfminer和python-docx库开发&#xff0c;可以在Windows、Linux和Mac系统上运行。它可以从PDF文件中提取文本和图片&#xff0c;并将其转换成可编辑的Word文档&#xf…

Photoshop 2024让图像处理更智能、更高效@

Photoshop 2024是一款功能强大的图像处理软件&#xff0c;广泛应用于创意设计和图像处理领域。它提供了丰富的绘画和编辑工具&#xff0c;包括画笔、铅笔、颜色替换、混合器画笔等&#xff0c;使用户能够轻松进行图片编辑、合成、校色、抠图等操作&#xff0c;实现各种视觉效果…

CAPL如何实现TCP Packet的option字段

在TCP协议中,主机可以根据自身的需要决定TCP通信时是否携带option字段,来扩展TCP功能。option字段属于TCP首部的扩展部分,且是可选项,TCP根据首部中的offset字段值确定TCP报文是否携带option字段。 TCP首部固定的部分有20个字节,如果没有扩展部分(option字段),20个字节…

万界星空科技铜杆加工行业生产管理MES系统

传统的铜管加工方法有&#xff1a; &#xff08;1&#xff09;铜管挤压加工技术&#xff08;2&#xff09;铜管上引连铸法&#xff08;3&#xff09;铜管(有缝)焊接生产技术&#xff08;4&#xff09;铸轧法生产精密铜管铸轧法 生产精密铜管是一种全新的生产工艺&#xff0c;…

像uniapp image标签一样对图片进行缩放和裁剪

像uniapp image标签一样对图片进行缩放和裁剪 0 前言提示1 实现1.1 不保持纵横比缩放图片&#xff0c;使图片的宽高完全拉伸至填满 image 元素1.2 保持纵横比缩放图片&#xff0c;使图片的长边能完全显示出来。也就是说&#xff0c;可以完整地将图片显示出来。1.3 保持纵横比缩…

git如何在某个commitId的状态提交到一个分支

有些时候&#xff0c;我们在使用子仓库&#xff0c;或者其他情况&#xff0c;会有一个状态是当前的git仓库是在一个commitId上&#xff0c;而没有在一个分支上&#xff1a; 这时如果想要把基于这个commitId创建一个分支&#xff0c;可以使用下面这个命令&#xff1a; git push…

ubuntu20.04搭建rtmp视频服务

1.安装软件 sudo apt-get install ffmpeg sudo apt-get install nginx sudo apt-get install libnginx-mod-rtmp 2.nginx配置 修改/etc/nginx/nginx.conf文件&#xff0c;在末尾添加&#xff1a; rtmp {server {listen 1935;application live {live on;}} } 3.视频测试 本…

OpenAI的GPT已达极限,更看好AI Agent

日前&#xff0c;比尔盖茨发表文章表示&#xff1a;AI Agent不仅会改变人与电脑的互动方式&#xff0c;或许还将颠覆软件行业&#xff0c;引领自输入命令到点击图标以来的最大计算机革命。 在数字化和技术创新的浪潮中&#xff0c;AI Agent作为一种前沿技术&#xff0c;正开启…

GB28181 —— 5、C++编写GB28181设备端,完成将USB摄像头视频实时转发至GB28181服务并可播放(附源码)

被测试的USB摄像头 效果 源码说明 主要功能模拟设备端&#xff0c;完成注册、注销、心跳等&#xff0c;同时当服务端下发指令播放视频时 设备端实时读取USB摄像头视频并通过OpenCV处理后实时转ps格式后封包rtp进行推送给服务端播放。 源码 /****remark: pes头的封装,里面的具…

【教程】rax3000m emmc刷机 支持硬件QOS MT7981到底值不值

为什么选择rax3000m&#xff1f; 1、恩山论坛237大佬放出了硬件QOS功能&#xff0c;而很多几百元路由器一旦开启QOS就会变软件NAT走CPU转发&#xff0c;效果还不如x86软路由。这样就非常适合刷机&#xff0c;在家里跑pt、迅雷等任务时候不会卡顿&#xff0c;实测&#xff0c;丢…

【Leetcode】1969. 数组元素的最小非零乘积

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个正整数 p 。你有一个下标从 1 1 1 开始的数组 n u m s nums nums &#xff0c;这个数组包含范围 [ 1 , 2 p − 1 ] [1, 2^p - 1] [1,2p−1] 内所有整数的二进制形式&…