晕个半死

taohua300 2009-12-08 01:39:45
os(4) 的返回值是什么类型 ?
? type(os(4)) 输入 N,但使用str(os(4),1) 的时候老提示“函数的参数、或参数值或参数类型错误”
是在是搞不懂错那了?
...全文
51 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2009-12-08
  • 打赏
  • 举报
回复
多看看 VFP 自带帮助文件(F1),注意这两个函数的用法。

?Type('Os(4)')
?Vartype(Os(4))
?Type('Date()')
?Vartype(date())
jinjazzli 2009-12-08
  • 打赏
  • 举报
回复
应用举例2:(注意 ①和⑤,②和④,④和⑤的对比)
①、qq=5 && qq为N
c="qq"
?TYPE(c) && 相当于 type("qq") ,返回N

②、qq="sd" && qq为C
c="qq"
? TYPE (c) && 相当于 type("qq") 返回C

③、qq=.t. && qq为L (逻辑型)
c="qq"
? TYPE (c) && 返回 L

④、c="qqq" && 这时候c 作为函数的一个变量 ,变量值为字符型C
? TYPE ('c') && 返回C

⑤、c=5 && 这时候c 作为函数的一个变量 ,变量值为数值型N
? TYPE ('c') && 返回 N
jinjazzli 2009-12-08
  • 打赏
  • 举报
回复
TYPE(SYS(16)) U
VARTYPE(SYS(16)) C
首先,对于type()函数的参数是要加引号的。vartype()则不需要。
其次,2个函数在获取其参数的类型之前,(他们的参数相当于一个变量),先要对这个变 量求值,再判断这个值的类型。U是未知或未定义。

VARTYPE(SYS(16)),其中SYS(16)返回的是一个路径字符串,所以VARTYPE(SYS(16))返回的是C
TYPE(sys(16)),我们假如sys(16)返回的是这样一个字符串"D:\",那么TYPE(sys(16))就相当于 TYPE("D:\"),这个时候,TYPE()函数会把 D:\ 当作一个变量来处理,对其求值,再判断值的类型,但是,我们事先根本就没有定义 D:\ 这个变量,
所以TYPE(sys(16) 返回的是 U(未定义的类型)
如果改成TYPE("sys(16)")返回的就是C
jinjazzli 2009-12-08
  • 打赏
  • 举报
回复
是字符型

你对type()和vartype()没有理解

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧