-- 作者:admin
-- 发布时间:2007-6-29 15:51:40
-- [学习]得到没有分隔符的年、月、日
在为一些票据自动编写单号时,通常提取当前日期作为单号的组成部分,以避免单号重复。由于日期是由年、月、日以及分隔符“-”组成,因此要剔除分隔符“-”,得到没有分隔符的年月日。如将当前日期“2007-6-29”,剔除分隔符后的结果为“2007629”。
首先想到的方法,就是“截取”,先截取前四位字符年、再截取中间月,日后截取日。但由于月、日,位数有可能是两位,也有可能是一位,截取的结果,可能是错误的,因此不能使用“截取”的方式得到没有分隔符的年月日。
字符串操作构件提供了多段分解功能,这样就可以把日期的分隔符“-”,作为标记字符串,把当前日期赋给初始字符串,得到分解后的字符串再连接,这样就得到了没有分隔符的年月日了。事件设置,如图1所示
此主题相关图片如下:

如图1所示很简单明了的得到了正确结果。但是,方法“得到指定字符串”的运用显得很繁复。
“字符串操作”构件提供的另一个方法“开始段字符串的循环”,可以得到分段后的每一个子符串,我们利用该特性,也可以巧妙的得到正确的结果。如图2所示。
此主题相关图片如下:

在循环过程中,如图3所示。
此主题相关图片如下:

在循环结束后,如图4所示。
此主题相关图片如下:

解释:在循环过程中,可以想向共分了三段,因此循环三次。第一次循环,把分解的第一段子字符串(如2007)压进缓存;第二次循环,把分解的第二段子字符串(如6)压进缓存;第三次循环,把分解的第三段子字符串(如29)压进缓存;
循环结束后,把压入缓存中的三个字符串,连接起来赋给……
|