主题:time()函数的返回值类型是什么?
xparmenides
[专家分:0] 发布于 2012-01-15 19:48:00
初学visual foxpro,在读《visual foxpro应用基础,第三版》(作者:李雁翎)。visual foxpro中有日期类型,还有一种日期时间类型。但是,time()函数只返回时间值,这个返回值应该是什么类型?起初我认为应该是日期时间型,但在做运算时发现好像不是这样。例如:
t = datetime()
? t+3
可以正常的运算。
t = time()
? t+3
报错:操作数和操作符类型不匹配。
回复列表 (共4个回复)
沙发
xparmenides [专家分:0] 发布于 2012-01-15 19:49:00
另外,如何判断一个表达式的类型?
板凳
wzxc [专家分:9440] 发布于 2012-01-15 20:34:00
DATETIME( ) 函数
返回值
日期时间型
所以
t = time()
? t+3
可以运算。
TIME( ) 函数
返回值字符型
所以报错。
TYPE( ) 函数
返回表达式的数据类型。
VARTYPE( ) 函数
返回表达式的数据类型。
VARTYPE( ) 与 TYPE( ) 相似,但 VARTYPE( ) 更快并且不需要用引号("")将指定表达式括起。
4 楼
moz [专家分:37620] 发布于 2012-01-15 23:20:00
既然看到有type( )函数,我不得不说几句肺话.
type( )函数里面的参数是字符串,是变量的名字.
从而得到该字符串为名的变量(或属性)的值 的类型,如果不存在,或不确定,得U
这里有个用法实在是太奇妙了,在其它地方还真找不到更好的办法了.
在EXCEL里面,想知道是否存在某个表的时候,帮助文档示例里,用的是for each ... in ...
把所有表名都校对一次.如果直接使用该表名的时候,假如不存在这个表,则会出错.
但在VFP里用type( )就解决了
if type('Excel.workbooks(1).sheets("查表名").name')="C" then
或者编程到了某一个位置的时候,甚至不能确定到底是否已创建EXCEL对象的时候,(甚至运行过程中被关闭了都是有可能的.)用
if type("Excel.workbooks.count")="N" then
或者某个对象是否存在,某个变量是否存在,某个属性是否存在.
由此延申开去......
你能找得到其它更好的办法吗?
我来回复