[LabVIEW随笔-4] -基础知识2

1、平化数据  

LabVIEW将数据从其内存格式转换为一种更适于进行了文件读写的格式,这种格式称为平化数据

LabVIEW的数组和字符串与C语言中的不同,LabVIEW的数组本身在内存中就保存了数组长度,LabVIEW的字符串也是如此。LabVIEW用4个字节表示一维数组长度

因此,"平化至字符串"函数有一个输入端子--预置数组或者字符串大小?。它默认为TRUE,即写入数组或字符串长度,该选项对标量数据不起作用。

大小端验证,WIN系统下默认为大端输出

image

 

从字符串还原

image

 

image

 

2、字符串

  匹配模式

搜索符号 正则表达式
VOLTS VOLTS
所有大小写格式的volts,如Volts  VOLTS [Vv][Oo][Ll][Tt][Ss]
空格、加、减号 [ +-]
一位或多位数序列 [0-9]+
0或多个空格 \s*或者空格*
一个或多个空格、制表位、新行、回车 [\t\r\n\s]+
一个或多个字符而不是数位 [~0-9]+
在字符串偏移位置开始的Level ^Level
在字符串结尾出现的Volts Volts$
括号中最长的字符串 (.*)
括号中最长的字符串,其中不包含任何字符串 ([~()*)
左括号 \[
右括号 \]
cat、dog、cot、dot、cog等 [cd][ao][tg]

 

特殊字符用途

. 匹配任意一个字符。例如,"l.g"可匹配lag、leg、log和lug等等
? 匹配0或1个位于?之前的表达式。例如,"be?t"可匹配bt不lbet,但不可匹配best
\

转义字符

\c-匹配任何控件或非打印字符,包括字符集中任何不代表书面符号的代码点。
\w-匹配任意"单词字符",等同于[a-zA-Z0-9]。
\w-匹配任意"非单词字符",等同于[^a-zA-Z0-9]。
\d-匹配任意数字字符,等同于[0-9]。
\D-匹配任意非数字字符,等同于[^0-9]。
\s一匹配任意空白字符,包括空格、换行、制表符、回车等等。
\S-匹配任意非空白字符。
\n一匹配换行符。
\t一匹配制表符。
\r一匹配回车符。
\f一匹配换页符。
\031-匹配八进制字符(在本例中是八进制的31)。
\x3F-匹配十六进制字符(在本例中是十六进制的3F)

 ^  

从字符串起始处开始匹配。例如,^dog匹配dog catcher中的dog,但不匹配thedog中的
dog

[]   

标记可选项。例如,"[abc]"可匹配a、b、c。"[]"用于于数字或大小写字母之间时,表示一个范围,例如[0-5]、[a-g]或[L-Q]。
下列字符作为括号中的第一个字符时,有特殊含义:
匹配任意字符(括号中的字符或括号中指定范围内的字符除外),包括非打印字符。
例如,"[~0-9]"可匹配0~9以外的任意字符。
匹配任意可打印字符(括号中的字符或括号中指定范围内的字符除外),包括空格字
符。例如,"[^0-9]"可匹配除0~9以外的所有可打印字符,包括空格字符

 +  

尽可能多地匹配位于"+"之前的表达式,至少匹配1个。例如,"be+t"匹配bet和beet
但不匹配bt

*

尽可能多地匹配正则表达式中位于"之前的表达式,允许四配0个。例如,"be*t"可
匹配bet和beet

$

如果将$作为正则表达式的最后一个字符,将匹配字符串的最后一个字符。如果正则表达
式匹配字符串中包括最后一个字符在内的子串,则匹配成功动,否则匹配失败。如果$不是正
则表达式的最后一个字符,将不作为定位符处理

 

 

3、LabVIEW对象解析

  3.1 通用类是所有图形控件的基类,控件的引用句柄类似与类的"指针"(C++)或引用(C#)

    "转换成特定的类"函数把当前引用句柄转换成更为具体的类,也就是子类。转换成通用类"把当前引用句柄转换成更为通用的类,也就是它的父类。

    通用类具有对象所属VI、类ID、类名和所有者4个属性。

    图形对象类继承了通用类的4个属性,同时又增加了"边界"属性和"位置"属性

    

对象所属 VI与所有者
  “对象所属VI”属性返回的是所属V 的引用句柄。"所有者”属性返回的是Ⅵ前面板的引用句柄,由于前面板为顶层对象,所以不存在所有者。

类ID 与类名
  LabVIEW 内部对每种“控件类”都提供一个识别号,用来区分不同类型的控件类。这个识别号称为类 ID(ClassD )。类 ID 既可以用数值来区分,也可以用字符串区分。每一个类 ID,对应一个唯一的字符串(称为类名,ClassName)

      image

 VI服务器在上述例子中已经多处使用,该函数为多态函数,可以返回应用程序引用、VI引用或窗格引用

3.2 图像对象类

  LabVIEW的所有控件对象都继承了边界和位置属性。

  位置属性和边界属性使用簇来描述,位置属性描述的是一个坐标点,表示的是控件矩形范围的左上角点,而边界属性描述的是矩形的宽度和高度。

  3.2.1 图像对象的子类

  

image

   前面板类特有属性:

  

      image

 分隔栏控件把窗口客户区分成了不同的窗格 每个窗格都是独立的对象,有自己的属性和方法。

 前面板的多窗格是通过分隔栏实现的。前面板中包含窗格、分隔栏。窗格中包含装饰、输入控件和显示控件。

  因此,通过前面板的引用句柄可以获得窗格、分隔栏、控件对象和装饰的引用。前面板类是已经实例化的类。它不同于通用类和图形类,除了具有属性外,还具有自己的方法,前面板具有"屏幕坐标转换为前面板坐标"方法和"前面板坐标转换为屏幕坐标"方法。

  可以使用前面板的控件属性批量设置一些信息。

image

 

  前面板属性中的"延迟前面板更新"也是很常用的属性。在使用表格控件、列表框控件、树控件时,会包括大量显示数据。如果每增加一个项目就更新一次,会导致运行速度的急剧下降。使用"延迟前面板更新"属性,可以在所有数据处理完毕后,一次性更新前面板

    image

 窗格和分隔栏

  是LabVIEW的新增特性。新建一个VI时,只有一个窗格。它和前面板的客户区是完全一致的。通过水平分隔栏和和垂直分隔栏可以把前面板的客户区分成不同的区域,每个区域称为一个窗格

  窗格类的常用属性包括:  

  背景模式和背景图像:用于动态设定窗格的背景。同常用的桌面背景设置一样,可以选择拉伸、居中和平铺三种模式。

  窗格颜色:用于设置窗格的背景色。
  
所有对象[]:用于获取窗格中所有对象的引用,包括控件、修饰等。
  控件[]:用于获取窗格中包含的所有控件的引用,包括输入控件和显示控件。
  修饰[]:用于获得窗格所包含的所有装饰的引用。
  内容区域和原点:用于返回窗格内容区域的边界和窗格坐标系原点。

posted @ 2025-11-26 15:55  nonAny  阅读(19)  评论(0)    收藏  举报