Menu:

MGI String VIs

Picture


Picture
      MGI String包——在选板的位置和图标见右图所示。

      字符串子VI包为LabVIEW常规的字符串处理,添加一些额外的字符串处理能力。


Picture
      MGI String包内,共包含了16个对字符串进行处理的vi。

      下面我们解读其中的一些vi。

Picture

1、MGI String_Format Single.vi

Picture
图标
      左图是该vi的图标。

      Format single.vi的功能就是:对一个单精度的数值进行格式化,格式化的结果为10个字符以内的易读的字符串。

      下面是它的程序框图。

Picture
Format Single.vi程序框图

简单描述

      从它的程序框图可以看出,首先它对输入的单精度数值通过“判定范围”内置函数进行比较,比较的上下限为正、负 0.01(也是单精度),根据比较结果确定”格式化写入字符串“内置函数的[格式字符串]的输入参数。

     
最终”格式化写入字符串“内置函数根据[格式字符串]的参数将单精度数字转换为小于10个字符的字符串。

      这个vi使用了3个LabVIEW内置函数,对它们的了解和学习参见LabVIEW的帮助。

该vi的运行实例

Picture
Picture

基本应用

      该vi适用于界定好的字符串显示控件(限定在10个字符之内),有利于前面版控件大小的固定排放。
      不足之处是显示显示的格式会出现两种,显示风格不统一。

注意:在使用时,字符串的字体要适当要大写,避免误读指数项值。
     
Picture

2、MGI String_Remove Trailing Spaces.vi

Picture
图标
      左图是该vi的图标。

      Remove Triling Spaces.vi的功能就是:删除字符串后面多余的空格。
      下面是它的程序框图。

Picture
程序框图

简单描述

      对输入字符串利用“字符串反转 ”内置函数进行字符串反转,我理解就是用来确定有效的字符串长度包括内容,然后将反转的字符串加到“匹配模式”内置函数上按正则表达式进行模式匹配,关于正则表达式的内容还是要看LabVIEW帮助文件,最后将匹配完成的字符串再次用“字符串反转 ”内置函数进行字符串反转后输出。

      该vi也使用了2种labVIEW内置函数。

该vi的运行实例

Picture
修改后的程序框图
Picture
前面板图
      在上面的图中,为了更清晰的看到程序运行效果,我们又在字符串处理前、后添加了字符串长度的转换内置函数。所以从前面板图上可以看到处理前后字符串长度的确是不同的,LabVIEW后面的5个空格被剔除。

基本应用

      该vi可以在文字处理和GPIB命令处理中使用。
      利用
正则表达式可以做更多的应用。

Picture

3、MGI String_find return.vi

Picture
图标
      左图是该vi的图标。
      find return.vi的功能就是:对于输入的字符串(String输入控件),在“Line Length”指示器中显示从“Offset In”位置开始到该行结束时的全部字符长度数。并在“Offset out”指示器中设置一个返回数值,如果没有发现新行则返回“-1",如果发现了新行则返回尚待开始的字符个数值。
      下面是它的程序框图。

Picture
程序框图

简单描述

      该vi使用了4个内置vi,基本原理比较简单就自行分析吧!
      这个case结构的用法挺有意思,它的选择端是大于等于”0“就进入默认框;其选择端为”-1“就进入”-1“case结构(”-1“结构中,两个蓝色端点直接连通)。

该VI的运行实例

Picture
一行字符串
Picture
两行字符串

基本应用

       该vi可以在文字处理和GPIB命令处理中使用。
      利用
正则表达式可以做更多的应用。
Picture

4、MGI String_Obscure Syring.vi

Picture
图标
       左图是该vi的图标。
      该vi的功能是:将输入的字符串进行逐位反转处理,使处理后的字符串他人无法辨清内容,再次使用该vi将反回到原来的内容。
      下面是它的程序框图。

Picture
程序框图

简单描述

      该vi将输入字符串先转换为字节数组,然后逐位求反后在将字节数组返回合成新的字符串。新的字符串已经是无法辨认。再次使用该vi将会返回到原始字符串。

      该vi使用了三种内置函数。

该vi的运行实例

Picture
使用一个vi
Picture
使用2个vi

基本应用

      用于不希望别人看到字符串真实内容的地方。
      用于数据保密的ini文件参数等等。
Picture

5、MGI String_Make String Fileafe.vi

Picture
图标
       左图是该vi的图标。
     该vi的功能是:删除文件名或文件夹名字中不允许使用的特殊字符。
     下面是它的程序框图。

Picture
程序框图

简要描述

      该vi利用了一个“搜索替换字符串”内置函数,实现特殊字符串的删除。所期望删除的字符在“Disallowed Characters”数组中列出,然后通过一个For循环自动搜索输入字符串中的特殊字符并自动删除。最后在“Filesafe String Out”输出。

      当然,也可以自定义其它的特殊字符,扩展应用。

该vi的运行实例

Picture
演示实例

基本应用

      规范文件名或文件夹名。

Picture

6、MGI String_Split Encoded String at Non-encoded tokens.vi

Picture
图标
       左图是该vi的图标。
      该vi的功能是:将输入已编码的字符串分解成为字符段数组。每个段或者是被表征出或是表征为编码字符串的一部分。编码中的反斜线符号后面的字符将会被忽略。例如:如果非编码字符被设置是”_“,那么字符串”Hello\ _World_!"通过该vi将返回部分是:“Hello\ _World","_","!"。
      下面是它的程序框图。

Picture
程序框图的一部分
Picture
前面板图

简要描述

      由于该vi的程序框图较复杂,这里就不作分析了。
      前面板图给出了说明中的例子,读者自行可以了解一下该vi的使用方法。

该vi的运行实例

      我们对上面的例子略加修改,看看他的运行结果。
      去掉”反斜线“标记。

Picture

基本应用

      这个vi应该是很有用的,提取文件字符串中的某一部分,使用或修改。特别是对ini的字段提取和修改应该是很方便的。
     
Picture

7、MGI String_BacksLash Decode.vi

Picture
       左图是该vi的图标。
     该vi的功能是:解码反斜杠前的所有字符

    
它的程序框图很复杂略去。

基本描述

      该vi对输入字符串进行解码,解码反斜杠前面的所有字符。参见下图。

该vi的运行实例

Picture
Picture
注意他对空格的处理方式
Picture

8、MGI String_BacksLash Encode.vi

Picture
图标
       左图是该vi的图标。
     该vi的功能是:对输入字符串中的所有特殊字符(如:回车、空格、非打印字符)进行编码
。在“Additional Chars"数组中的字符串必须包含1个非空白、可打印的字符。
     下面是它的程序框图。

Picture

基本描述

      通过该vi可以将特殊字符转换为LabVIEW常用的特殊字符代码表示法.看下面的例子。
Picture
      上面的例子中,将“Additional chars"定义的字符前面加入“\"。具体应用还不清楚。
Picture
注意:输入String的字符在空格处自动插入”\s"。回车自动插入“\n"(原字符串是:Decodes all backslash preceded characters.
      没有看明白!
Picture

9、MGI String_Pad String.vi

Picture
图标
       左图是该vi的图标。
     该vi的功能是:对于给定的“End Length”该vi自动为输入字符串添加“/s”。
     下面是它的程序框图。

Picture

简要描述

      该vi对输入字符串进行察看,当输入字符串的长度小于等于“End Length”所设定的数值时输出原字符串,当输入字符串的长度大于“End Length”所设定的数值时在输出字符串后面加入“Pad Character()的内容,使输出字符串与“End Length”所设定的数值匹配。

该vi运行实例

Picture
Picture
Picture

10、MGI String_Split String.vi

Picture
图标
       左图是该vi的图标。
     该vi的功能是:该vi以”Index“为界分开输入的字符串,并分别输出分开的字符串。
     下面是它的程序框图。

Picture

简要描述

      该vi用来对字符串的提取处理,”Index“决定了分界线。

该vi运行实例

Picture
Picture
Picture

11、MGI String_Double to String.vi

Picture
       左图是该vi的图标。
     该vi的功能是:该vi将双精度数值转换为字符串,转换精度由”Precision(3)“决定。
     下面是它的程序框图。

Picture

简要描述

      注意转换时的舍入误差,必须满足应用中的准确度要求。

该vi运行实例

Picture
Picture
Picture

12、MGI String_Double Array to String Array.vi

Picture
图标
       左图是该vi的图标。
     该vi的功能是:该vi将双精度数组转换为字符串数组,转换精度由”Precision(3)“决定。
     下面是它的程序框图。

Picture

该vi运行实例

Picture
Picture

13、MGI String_Update Log.vi

Picture
图标
      该vi的功能是:该vi将给出新的日志台头,包括当前时间和空格以及新的日志名。根据”Max Length“还可以删去旧的日志名。
     下面是它的程序框图。

Picture

简单描述

      使用该vi可以导入新的报告名、创建时间,并根据”Max Length"的数值来删除原来的“Log”。

该vi运行实例

Picture
Picture

14、MGI String_Remove All Whitespace.vi

Picture
      该vi的功能是:该vi将删除输入字符串中的所有空格,空格被定义为“\n\r\s或\t。
     下面是它的程序框图。

Picture

该vi运行实例

Picture
Picture
Picture
上一页
Picture
下一页

在这里可以留言,但是其它访问者将不会看到