我们都知道两点之间最近的路径是直线,遗憾的是程序员往往走的并非直线。

目的:字符串转换为双精度数。
网友的程序框图:

 
 
LabVIEW的数组操作功能是非常强大的,除了数组函数选板中提供的函数之外,信号处理函数选板中的函数实际上也是在操作数组,但是并没有提供直接的集合函数。在MathScript中,LabVIEW提供了几个集合相关函数。

Picture

 
 
在格式化写入字符串(1)中,我们讨论了数值转换为格式字符串.。在格式化写入字符串(2)中,我们讨论了时间、日期转换为格式字符串。今天我们讨论字符串转化为带格式的字符串以及其综合运用的问题。

一、特殊转义字符

我们注意到在字符串函数选板中,LABVIEW提供了一些字符串常量。使用过早期版本的朋友们肯定注意到了现在的字符串常量比早期版本多了很多,字符串常量见下图:


 
 
时间标识是一种特殊的数值型控件,在早期版本的LABVIEW中并不存在,可能是8.X后出现的。这种特殊类型的数值型控件包含了我们需要的全部时间、日期信息。

在定时函数选板中,LABVIEW提供了许多的时间类相关函数,包括时间、日期转换为字符串函数,实际上格式化写入字符串函数完全支持时间标识,其转换功能更多、更全面。

与数值转换为字符串类似,时间标识转换为字符串的关键也是格式化字符串,LABVIEW提供了许多专门的时间相关的时间格式代码,这些格式符不仅仅可以用来转化为字符串,同时也可以时间标识控件进行特色显示,以下的例程中将同时利用字符串和时间标识显示控件显示我们需要的时间日期。

一、获取系统时间和日期(年、月、日、时、分、秒)

获取系统时间日期(年、月、日、时、分、秒)是最常用的时间操作,LABVIEW专门提供了格式化时间/日期函数,该函数可以直接获取当前的时间和日期,不需要添加任何时间代码,默认的时间代码为%c。

LABVIEW中的时间分为绝对时间和相对时间,绝对时间简单地说就是我们说的系统时间日期,相对时间可以用来表示经历过的时间,比如两个绝对时间(系统时间)的差值。

绝对时间的时间格式代码为%<>T,这是时间格式代码的容器,其它格式代码应位于<>中。

时间格式代码%c根据当地计算机语言规定的格式显示日期和时间。


 
 
几天前,我曾经写过一个Nugget,专门介绍了格式化写入字符串函数。虽然格式化字符串函数看起来很简单,但是变化非常多,巧妙地运用格式化字符串函数可以替代字符串函数选板中的很多函数,该函数的基本用法见下面的链接。

http://www.eefocus.com/csxcs366/blog/11-02/204708_34f6a.html

今天我们要详细讨论格式化写入字符串函数的多种用法,格式化写入字符串数最为关键的是“格式字符串”的问题。对于通常的“格式字符串”,函数提供了配置对话框。调用对话框的方法如下图所示:

 
 
初学者创建的程序通常仅仅是为了完成某种特定的功能,它的程序结构往往存在很多问题,因此基本上是无法重用的,LABVIEW创建的程序尤其如此,原因在于LabVIEW图形化编程非常易于使用,与编程者的思维方式更容易契合,因此创建的程序框图显得更为随意,没有规划。

同一些LabVIEW初学者交流程序时,每当要求他们贴图时,他们经常会说“没办法,程序框图太大”。“程序框图太大”本身就说明我们的程序框图存在相当大的问题,如果能把我们的程序框图缩小到一定程度,就说明程序框图的模块化程度很高了。

在完成的程序功能基础上,一定要花费一定时间对代码进行重构和优化,否则一段时间后,可能我们自己也无法看懂了。

下面我通过网友的一个具体的实例谈谈代码重构的问题,示例存在很多的各种问题。因为程序框图非常大,只能通过导航窗口才能看到全貌,如下图所示: