MGI String VIs
MGI String包——在选板的位置和图标见右图所示。
字符串子VI包为LabVIEW常规的字符串处理,添加一些额外的字符串处理能力。
字符串子VI包为LabVIEW常规的字符串处理,添加一些额外的字符串处理能力。
MGI String包内,共包含了16个对字符串进行处理的vi。
下面我们解读其中的一些vi。
下面我们解读其中的一些vi。
1、MGI String_Format Single.vi
图标
左图是该vi的图标。
Format single.vi的功能就是:对一个单精度的数值进行格式化,格式化的结果为10个字符以内的易读的字符串。
下面是它的程序框图。
Format single.vi的功能就是:对一个单精度的数值进行格式化,格式化的结果为10个字符以内的易读的字符串。
下面是它的程序框图。
简单描述
从它的程序框图可以看出,首先它对输入的单精度数值通过“判定范围”内置函数进行比较,比较的上下限为正、负 0.01(也是单精度),根据比较结果确定”格式化写入字符串“内置函数的[格式字符串]的输入参数。
最终”格式化写入字符串“内置函数根据[格式字符串]的参数将单精度数字转换为小于10个字符的字符串。
这个vi使用了3个LabVIEW内置函数,对它们的了解和学习参见LabVIEW的帮助。
最终”格式化写入字符串“内置函数根据[格式字符串]的参数将单精度数字转换为小于10个字符的字符串。
这个vi使用了3个LabVIEW内置函数,对它们的了解和学习参见LabVIEW的帮助。
该vi的运行实例
基本应用
该vi适用于界定好的字符串显示控件(限定在10个字符之内),有利于前面版控件大小的固定排放。
不足之处是显示显示的格式会出现两种,显示风格不统一。
注意:在使用时,字符串的字体要适当要大写,避免误读指数项值。
不足之处是显示显示的格式会出现两种,显示风格不统一。
注意:在使用时,字符串的字体要适当要大写,避免误读指数项值。
2、MGI String_Remove Trailing Spaces.vi
图标
左图是该vi的图标。
Remove Triling Spaces.vi的功能就是:删除字符串后面多余的空格。
下面是它的程序框图。
Remove Triling Spaces.vi的功能就是:删除字符串后面多余的空格。
下面是它的程序框图。
简单描述
对输入字符串利用“字符串反转 ”内置函数进行字符串反转,我理解就是用来确定有效的字符串长度包括内容,然后将反转的字符串加到“匹配模式”内置函数上按正则表达式进行模式匹配,关于正则表达式的内容还是要看LabVIEW帮助文件,最后将匹配完成的字符串再次用“字符串反转 ”内置函数进行字符串反转后输出。
该vi也使用了2种labVIEW内置函数。
该vi也使用了2种labVIEW内置函数。
该vi的运行实例
在上面的图中,为了更清晰的看到程序运行效果,我们又在字符串处理前、后添加了字符串长度的转换内置函数。所以从前面板图上可以看到处理前后字符串长度的确是不同的,LabVIEW后面的5个空格被剔除。
基本应用
该vi可以在文字处理和GPIB命令处理中使用。
利用正则表达式可以做更多的应用。
利用正则表达式可以做更多的应用。
3、MGI String_find return.vi
图标
左图是该vi的图标。
find return.vi的功能就是:对于输入的字符串(String输入控件),在“Line Length”指示器中显示从“Offset In”位置开始到该行结束时的全部字符长度数。并在“Offset out”指示器中设置一个返回数值,如果没有发现新行则返回“-1",如果发现了新行则返回尚待开始的字符个数值。
下面是它的程序框图。
find return.vi的功能就是:对于输入的字符串(String输入控件),在“Line Length”指示器中显示从“Offset In”位置开始到该行结束时的全部字符长度数。并在“Offset out”指示器中设置一个返回数值,如果没有发现新行则返回“-1",如果发现了新行则返回尚待开始的字符个数值。
下面是它的程序框图。
简单描述
该vi使用了4个内置vi,基本原理比较简单就自行分析吧!
这个case结构的用法挺有意思,它的选择端是大于等于”0“就进入默认框;其选择端为”-1“就进入”-1“case结构(”-1“结构中,两个蓝色端点直接连通)。
这个case结构的用法挺有意思,它的选择端是大于等于”0“就进入默认框;其选择端为”-1“就进入”-1“case结构(”-1“结构中,两个蓝色端点直接连通)。
该VI的运行实例
基本应用
该vi可以在文字处理和GPIB命令处理中使用。
利用正则表达式可以做更多的应用。
利用正则表达式可以做更多的应用。
4、MGI String_Obscure Syring.vi
图标
左图是该vi的图标。
该vi的功能是:将输入的字符串进行逐位反转处理,使处理后的字符串他人无法辨清内容,再次使用该vi将反回到原来的内容。
下面是它的程序框图。
该vi的功能是:将输入的字符串进行逐位反转处理,使处理后的字符串他人无法辨清内容,再次使用该vi将反回到原来的内容。
下面是它的程序框图。
简单描述
该vi将输入字符串先转换为字节数组,然后逐位求反后在将字节数组返回合成新的字符串。新的字符串已经是无法辨认。再次使用该vi将会返回到原始字符串。
该vi使用了三种内置函数。
该vi使用了三种内置函数。
该vi的运行实例
基本应用
用于不希望别人看到字符串真实内容的地方。
用于数据保密的ini文件参数等等。
用于数据保密的ini文件参数等等。
5、MGI String_Make String Fileafe.vi
图标
左图是该vi的图标。
该vi的功能是:删除文件名或文件夹名字中不允许使用的特殊字符。
下面是它的程序框图。
该vi的功能是:删除文件名或文件夹名字中不允许使用的特殊字符。
下面是它的程序框图。
简要描述
该vi利用了一个“搜索替换字符串”内置函数,实现特殊字符串的删除。所期望删除的字符在“Disallowed Characters”数组中列出,然后通过一个For循环自动搜索输入字符串中的特殊字符并自动删除。最后在“Filesafe String Out”输出。
当然,也可以自定义其它的特殊字符,扩展应用。
当然,也可以自定义其它的特殊字符,扩展应用。
该vi的运行实例
基本应用
规范文件名或文件夹名。
6、MGI String_Split Encoded String at Non-encoded tokens.vi
图标
左图是该vi的图标。
该vi的功能是:将输入已编码的字符串分解成为字符段数组。每个段或者是被表征出或是表征为编码字符串的一部分。编码中的反斜线符号后面的字符将会被忽略。例如:如果非编码字符被设置是”_“,那么字符串”Hello\ _World_!"通过该vi将返回部分是:“Hello\ _World","_","!"。
下面是它的程序框图。
该vi的功能是:将输入已编码的字符串分解成为字符段数组。每个段或者是被表征出或是表征为编码字符串的一部分。编码中的反斜线符号后面的字符将会被忽略。例如:如果非编码字符被设置是”_“,那么字符串”Hello\ _World_!"通过该vi将返回部分是:“Hello\ _World","_","!"。
下面是它的程序框图。
简要描述
由于该vi的程序框图较复杂,这里就不作分析了。
前面板图给出了说明中的例子,读者自行可以了解一下该vi的使用方法。
前面板图给出了说明中的例子,读者自行可以了解一下该vi的使用方法。
该vi的运行实例
我们对上面的例子略加修改,看看他的运行结果。
去掉”反斜线“标记。
去掉”反斜线“标记。
基本应用
这个vi应该是很有用的,提取文件字符串中的某一部分,使用或修改。特别是对ini的字段提取和修改应该是很方便的。
7、MGI String_BacksLash Decode.vi
左图是该vi的图标。
该vi的功能是:解码反斜杠前的所有字符。
它的程序框图很复杂略去。
该vi的功能是:解码反斜杠前的所有字符。
它的程序框图很复杂略去。
基本描述
该vi对输入字符串进行解码,解码反斜杠前面的所有字符。参见下图。
该vi的运行实例
8、MGI String_BacksLash Encode.vi
图标
左图是该vi的图标。
该vi的功能是:对输入字符串中的所有特殊字符(如:回车、空格、非打印字符)进行编码。在“Additional Chars"数组中的字符串必须包含1个非空白、可打印的字符。
下面是它的程序框图。
该vi的功能是:对输入字符串中的所有特殊字符(如:回车、空格、非打印字符)进行编码。在“Additional Chars"数组中的字符串必须包含1个非空白、可打印的字符。
下面是它的程序框图。
基本描述
通过该vi可以将特殊字符转换为LabVIEW常用的特殊字符代码表示法.看下面的例子。
上面的例子中,将“Additional chars"定义的字符前面加入“\"。具体应用还不清楚。
注意:输入String的字符在空格处自动插入”\s"。回车自动插入“\n"(原字符串是:Decodes all backslash preceded characters.)。
没有看明白!
没有看明白!
9、MGI String_Pad String.vi
图标
左图是该vi的图标。
该vi的功能是:对于给定的“End Length”该vi自动为输入字符串添加“/s”。
下面是它的程序框图。
该vi的功能是:对于给定的“End Length”该vi自动为输入字符串添加“/s”。
下面是它的程序框图。
简要描述
该vi对输入字符串进行察看,当输入字符串的长度小于等于“End Length”所设定的数值时输出原字符串,当输入字符串的长度大于“End Length”所设定的数值时在输出字符串后面加入“Pad Character()的内容,使输出字符串与“End Length”所设定的数值匹配。
该vi运行实例
10、MGI String_Split String.vi
图标
左图是该vi的图标。
该vi的功能是:该vi以”Index“为界分开输入的字符串,并分别输出分开的字符串。
下面是它的程序框图。
该vi的功能是:该vi以”Index“为界分开输入的字符串,并分别输出分开的字符串。
下面是它的程序框图。
简要描述
该vi用来对字符串的提取处理,”Index“决定了分界线。
该vi运行实例
11、MGI String_Double to String.vi
左图是该vi的图标。
该vi的功能是:该vi将双精度数值转换为字符串,转换精度由”Precision(3)“决定。
下面是它的程序框图。
该vi的功能是:该vi将双精度数值转换为字符串,转换精度由”Precision(3)“决定。
下面是它的程序框图。
简要描述
注意转换时的舍入误差,必须满足应用中的准确度要求。
该vi运行实例
12、MGI String_Double Array to String Array.vi
图标
左图是该vi的图标。
该vi的功能是:该vi将双精度数组转换为字符串数组,转换精度由”Precision(3)“决定。
下面是它的程序框图。
该vi的功能是:该vi将双精度数组转换为字符串数组,转换精度由”Precision(3)“决定。
下面是它的程序框图。
该vi运行实例
13、MGI String_Update Log.vi
图标
该vi的功能是:该vi将给出新的日志台头,包括当前时间和空格以及新的日志名。根据”Max Length“还可以删去旧的日志名。
下面是它的程序框图。
下面是它的程序框图。
简单描述
使用该vi可以导入新的报告名、创建时间,并根据”Max Length"的数值来删除原来的“Log”。
该vi运行实例
14、MGI String_Remove All Whitespace.vi
该vi的功能是:该vi将删除输入字符串中的所有空格,空格被定义为“\n\r\s或\t。
下面是它的程序框图。
下面是它的程序框图。