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

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

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

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

  • 一、字符串介绍
    • [1.1 通俗的认识字符串](#1.1 通俗的认识字符串)
    • [1.2 字符串前面板](#1.2 字符串前面板)
      • [1.2.1 建立字符串](#1.2.1 建立字符串)
      • [1.2.2 字符串前面板操作](#1.2.2 字符串前面板操作)
    • [1.3 字符串后面板](#1.3 字符串后面板)
      • [1.3.1 字符串函数](#1.3.1 字符串函数)
      • [1.3.2 字符串与数值数据的转换](#1.3.2 字符串与数值数据的转换)
  • 二、路径介绍
    • [2.1 路径简介](#2.1 路径简介)
    • [2.2 路径前面板](#2.2 路径前面板)
    • [2.3 路径后面板](#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

相关推荐
tkevinjd29 分钟前
select/poll/epoll
网络
路由侠内网穿透33 分钟前
本地部署开源物联网平台 ThingsBoard 并实现外部访问( Windows 版本)
运维·服务器·windows·物联网·开源
微信api接口介绍1 小时前
微信个人发消息api
运维·服务器·开发语言·前端·网络·微信·ipad
攻心的子乐1 小时前
MinIO 开源的分布式文件服务器
运维·服务器
怒放的生命19912 小时前
前端vue项目在vscode使用插件部署到服服务器的方法
服务器·ide·vscode
温柔53292 小时前
仓颉语言异常捕获机制深度解析
java·服务器·前端
网硕互联的小客服2 小时前
SSD和HDD存储应该如何选择?
linux·运维·服务器·网络·安全
lemon3106242 小时前
浪潮服务器装linux系统步骤
linux·运维·服务器
gugugu.2 小时前
Linux进程:进程状态
linux·运维·服务器
wanhengidc2 小时前
服务器在企业中的作用与价值
运维·服务器·arm开发·安全·智能手机·玩游戏