标题:大神,求指教弹出错误对话框
只看楼主
啦啦娇
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-11-29
结帖率:0
已结贴  问题点数:10 回复次数:12 
大神,求指教弹出错误对话框
在编写表单时,如果出现非数学字符弹出对话框要求重新输入怎么写啊
搜索更多相关主题的帖子: 对话框 数学 
2016-12-13 00:33
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:2 
要求只准输入数字吧
2016-12-13 04:00
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:2 
1、利用控件的掩码功能;
2、自己编写一段代码,对录入的字符进行判断处理。

活到老,学到老! http://www. E-mail:hu-jj@
2016-12-13 06:15
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:396
帖 子:11713
专家分:43267
注 册:2006-5-13
得分:0 
吹版在上夜班?

活到老,学到老! http://www. E-mail:hu-jj@
2016-12-13 06:16
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
得分:0 
程序代码:
LOCAL a as String
Accept "请输入一个字符串" To a
For i = 1 To Len(a)
    b=Substr(a,i,1)
    Do Case
    Case Isdigit(b)=.T.
        ?a+"的第"+ Transform(i)+"位是数字"
    Case Isalpha(b)=.T.
        ?a+"的第"+ Transform(i)+"位是字母"
    Otherwise
        ?a+"的第"+ Transform(i)+"位是数字字母外的字符"
    Endcase
Endfor
2016-12-13 08:02
啦啦娇
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-11-29
得分:0 
回复 3楼 hu9jj
题就是:输入一个数实现倒数,然后如果输入非数字字符错误,弹出对话框要求重新输入然后在倒数。我就是后面的弹出对话框之后的不会
2016-12-13 11:22
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:0 
回复 6楼 啦啦娇
是在什么地方输入的?要有个输入对象。
2016-12-13 14:01
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:323
帖 子:9621
专家分:26174
注 册:2012-2-5
得分:2 
程序代码:
clear
do while .t. 
    accept "请输入一个数字字符串:" to x
    if len(chrtran(x,"0123456789",""))>0
        messagebox("字符串 "+x+" 中含有非数字字符,请重新输入")
    else
        ?"1/"+x
        if messagebox("继续输入吗",4,"提示信息")=6
            loop
        else
            exit
        endif
    endif
enddo

是不是这种效果

坚守VFP最后的阵地
2016-12-13 14:34
啦啦娇
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2016-11-29
得分:0 
回复 8楼 sdta
这些一句都什么意思啊大神
2016-12-13 22:51
taifu945
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:80
帖 子:1545
专家分:3298
注 册:2012-7-6
得分:2 
8楼的判断句貌似也有问题,就是允许数字间夹杂非数字字符。如果这是实际应用的案例,我觉得最好的方法就是用掩码“9”来强制只允许录入数字;如果是道作业题,那么只能按题目要求进行提示。楼主可以在该Text控件的Valid事件中写一段代码来分析并提示,程序的思路是:用一个FOR...NEXT循环逐字符判断,循环从1开始,到该控件值的长度结束,即:LEN(ALLTRIM(Text.Value))。只要检测到非数字字符,就立即用Messagebox()函数进行提示,并RETURN 0;若全部检测完,没有发现非法字符,则RETURN 1。
2016-12-14 07:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472336-1-1.html




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

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