| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1638 人关注过本帖
标题:请教下,用什么方法判断日期输入是错的?
只看楼主 加入收藏
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
结帖率:88.52%
收藏
已结贴  问题点数:20 回复次数:7 
请教下,用什么方法判断日期输入是错的?
比如输成2017-15-25 显然没有15月
2017-04-11 10:53
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:7 
你的日期是字符型还是日期型,不同的数据类型判断方法不一样
如果是日期型,输入时系统就会自动判断。

坚守VFP最后的阵地
2017-04-11 11:15
mywisdom88
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:191
帖 子:3147
专家分:8408
注 册:2015-3-25
收藏
得分:7 
有很多方法
就用text控件来说
1、在 text1.init 中初始化时,日期,直接使用这个值
* thisform.text1.init
this.value = {} &&初始化为空日期格式,这样,你输入错误的时候,是不会离开这个控件的

2、在 text1.init 中初始化时,字符,使用这个值用 ctod()函数转换
* thisform.text1.init
this.value = "" &&初始化为空字符
* thisform.text1.valid
if empty(ctod(allt(this.value)))
   messagebox("日期输入错误")
   return .f.
endif


2017-04-11 11:17
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
如果是字符型 EMPTY(CTOD("2017-15-25"))返回值为空,为.T.

坚守VFP最后的阵地
2017-04-11 11:19
kiff
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:贵宾
威 望:46
帖 子:756
专家分:2531
注 册:2013-1-30
收藏
得分:7 
如果输入域是日期型的,错误的日期是输入不了的。
如果是字符型,EMPTY(CTOD('2017-15-25'))为真时,输入错误.
2017-04-11 11:23
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
还可以通过自定义方法判断月、日输入是否错误

坚守VFP最后的阵地
2017-04-11 11:28
fanjinyu9108
Rank: 2
等 级:论坛游民
帖 子:694
专家分:20
注 册:2014-1-16
收藏
得分:0 
一下有这么多答案啊,谢谢各位师傅了,我选用mywisdom88师傅的方法,把文本框的FORMAT设置成D,在INIT事件初始赋值,输错了就不能离开
2017-04-11 12:57
jsjd879087jd
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-2-20
收藏
得分:0 
受益了
2018-03-04 11:11
快速回复:请教下,用什么方法判断日期输入是错的?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024326 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved