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

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

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

相关文章

本地项目文件夹创建python文件并配置conda环境的完整流程

1 在Pycharm中创建新项目 位置就是本地的项目文件夹 2 接着打开pycharm的终端 创建conda环境(这个过程需要保证conda.exe能够被系统路径识别) conda create --name my_environment(my_environment取自己想要的环境名字) 还可以指…

MySQL - 单表访问

单表访问 查询方式 MySQL查询的执行方式大致分为下边两种: 使用全表扫描进行查询 这种执行方式很好理解,就是把表的每一行记录都扫一遍嘛,把符合搜索条件的记录加入到结果集就完了。不管是啥查询都可以使用这种方式执行,当然&am…

【Machine Learning】Suitable Learning Rate in Machine Learning

一、The cases of different learning rates: In the gradient descent algorithm model: is the learning rate of the demand, how to determine the learning rate, and what impact does it have if it is too large or too small? We will analyze it through the follow…

索引常见面试题

面试中,MySQL 索引相关的问题基本都是一系列问题,都是先从索引的基本原理,再到索引的使用场景,比如: 索引底层使用了什么数据结构和算法?为什么 MySQL InnoDB 选择 Btree 作为索引的数据结构?什…

ProtoBuf-gRPC实践

目录介绍 01.gRPC学习背景 1.1 为什么要学RPC1.2 RPC是什么1.3 网络库收益分析1.4 学习计划说明1.5 学习问题思考 02.ProtoBuf的介绍 2.1 ProtoBuf是什么2.2 ProtoBuf和json2.3 ProtoBuf问题思考2.4 ProtoBuf特点2.5 ProtoBuf存储格式2.6 ProtoBuf优缺点2.7 创建proto文件2.8 …

Oracle等待事件-db file scattered read

上一篇说了下 Oracle等待事件-db file sequential read-CSDN博客 ,这一篇说一下它的”孪生兄弟” 另外一个IO 等待事件 db file scattered read(数据库文件分散读) 如果 Oracle 在 SGA 的缓冲区缓存中没有用户请求的数据,则服务器进程会将相应的数据块…

前端学习之css选择器--基本选择器、关系选择器、属性选择器、复合选择器、伪类选择器

目录 基本选择器 结果 关系选择器 结果 父子关系 祖先后代关系 相邻兄弟关系 兄弟关系 ​编辑 属性选择器 结果 复合选择器 结果 伪类选择器 结果 伪类选择器-操作标签 结果 未访问 访问后 悬停 伪类选择器-操作表单 结果 伪类选择器-操作结构 结果 基本选择…

二叉树详解

二叉树详解 一:什么是树1:概念2:树的特点##3:树的一些重要概念 二:二叉树1:二叉树的概念2:二叉树的特点3:特殊的二叉树: 三:二叉树的性质四:二叉树的存储 一:什么是树 1:概念 树是一种非线性的数据结构,它是由n个节点组成的一个具有层次关系的集合,把它叫做树的原因是因为它看…

【网络原理】HTTP协议和使用Fiddler抓包

文章目录 🍃HTTP协议是什么?🍀理解 "应用层协议"🎍HTTP 协议的工作过程🌴HTTP 协议格式🌳Fiddler抓包工具的使用🌸如何抓HTTPS的包? 🎋抓包工具的原理&#x1…

Transformer的前世今生 day04(ELMO、Attention注意力机制)

ELMO 前情回顾 NNLM模型:主要任务是在预测下一个词,副产品是词向量Word2Vec模型:主要任务是生成词向量 CBOW:训练目标是根据上下文预测目标词Skip-gram:训练目标是根据目标词预测上下文词 ELMO模型的流程 针对Wor…

软件推动开放自动化落地

当你唯一拥有的是一把锤子时,你周围的一切都是钉子。 软件是硬件设备的护城河,国际自动化厂商不遗余力地开发各种新型工业软件,其战略站在应用的制高点。以前我们追求硬件兼容,现在我们要致力于应用引领。如果我们拥有强大的SCADA…

Linux账号管理与ACL权限设置

文章目录 Linux的账户和用户组用户标识符:UID与GID用户账号用户组:有效与初始用户组groups,newgrp 账号管理新增与删除用户:useradd、相关配置文件、passwd、usermod、userdel用户功能:id、finger、chfn、chsh新增与删…

HANA VIEW 用 ABAP 创建CDS VIEW,在生成ODATA

这里我们做ADT来创建 场景介绍:把hana中的一个底表,创建成ABAP的 CDS VIEW ,在把CDS VIEW 生成 OData 服务。 一、创建CDS Table Function 红框内根据自身情况填写 选择 Define Table Function with Parameters 创建 Data Definition 完整代码,定义 结构 , 也可以定义参…

centos7安装jdk详细步骤(yum安装与手动安装)

centos7安装jdk详细步骤(yum安装与手动安装) 一、使用yum安装1. 准备工作2. 检查系统是否自带jdk3. 安装jdk 二、手动安装jdk1. 下载上传jdk2. 安装jdk3. 配置环境变量 一、使用yum安装 1. 准备工作 如果你的机器可以联网可以使用此方法 ping www.baidu…

Java基础学习笔记二

Java的加载与执行 Java既是编译型语言又是解释型语言 question:为什么JVM可以跨平台执行 answer : Java虚拟机(JVM)之所以能够跨平台执行,是因为它在不同操作系统上提供了一个统一的运行环境,实现了Java程…

‘‘ is not a package AttributeError: module ‘‘ has no attribute ‘__path__‘报错解决

报错: No module named ‘ldm.util’; ‘ldm’ is not a package AttributeError: module ‘ldm’ has no attribute ‘__ path__’ 原因: 1.首先这个引用没有被画横线,说明包存在,并且也在包目录底下添加了__init__.py文件 &am…

C++ Qt开发:QUdpSocket实现组播通信

Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QUdpSocket组件实现基于UDP的组播通信…

四川易点慧电子商务抖音小店:值得信赖的购物新选择

随着互联网的飞速发展,电子商务平台如雨后春笋般涌现,为消费者提供了前所未有的购物便利。在众多电商平台中,四川易点慧电子商务抖音小店以其独特的魅力和优质的服务,赢得了广大消费者的青睐和信任。 四川易点慧电子商务抖音小店以…

C++中的Union: 内存与类型转换技巧

在C中,union是一种特殊的数据类型,允许在相同的内存位置存储不同类型的数据。union提供了一种高效地利用内存的方式,但同时也要求开发者更加小心地处理数据以避免类型错误。 1. 基本定义 union定义了一个可以存储多种类型但任意时刻只能存储…

Python之进程池、阻塞模式、非阻塞模式、进程间的通信、queue

非阻塞模式 # 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程 # 但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法. # 初始化Poo1时&…