标题:关于条件判断语句
只看楼主
欣德普
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-1-10
结帖率:33.33%
 问题点数:0 回复次数:7 
关于条件判断语句
下面的条件判断语句错在哪里? 我想达到的目的是:除了 装汽车、卸汽车、掏箱、搬倒 其他业务必须输入车号。请高手明示。



IF thisform.text2.text=" "
    IF ALLTRIM()="装汽车" OR ALLTRIM()="卸汽车" OR ALLTRIM()="搬倒" OR ALLTRIM()="掏箱"
            EXIT
        ELSE
                MESSAGEBOX("请输入车号!!!!!",40)
                 RETURN
                  thisform.text2.setfocus
    ENDIF
ENDIF   
搜索更多相关主题的帖子: 汽车 其他 
2012-01-26 12:53
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
告訴你一個字符串檢索函數:INLIST(cString, cStr1, cStr2, ……),其作用是檢測cString是否是後面一系列cStr?字符串之一,若是返回真,否則返回假。

授人以渔,不授人以鱼。
2012-01-26 12:58
欣德普
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-1-10
得分:0 
回复 2楼 TonyDeng
试了试,不知道怎么用,呵呵
2012-01-26 13:11
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
IF !INLIST(ALLTRIM(), "装汽车", "卸汽车", "掏箱", "搬倒")
    MESSAGEBOX("请输入车号!!!!!",40)
    thisform.text2.setfocus
ENDIF

你1樓哪裡多了一個RETURN,那樣就結束過程或函數跳出了,不會執行後面的SetFocus。再有前面檢測文本框為空的那個,用EMPTY(ThisForm.Text2.Text)就可以了(雖然我不知道你要這個輸入內容為空時才進入檢測是什麼原因)。

[ 本帖最后由 TonyDeng 于 2012-1-26 13:19 编辑 ]

授人以渔,不授人以鱼。
2012-01-26 13:14
欣德普
Rank: 1
等 级:新手上路
帖 子:22
专家分:0
注 册:2012-1-10
得分:0 
回复 4楼 TonyDeng
非常感谢,我又学了一招。我的代码不该用 return,还有调试的时候,不应该是combo4,应该是combo3.再次感谢版主,用这个命令inlist这个函数使命令行清晰简洁。
2012-01-26 14:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
VFP6好像沒有INLIST(),替代的辦法是用AT(ALLTRIM(), "装汽车/卸汽车/掏箱/搬倒")。如果要沿用你原先那種寫法,至少把ALLTRIM()賦給一個臨時變量,以免反復從控件取值和作字符串運算,那樣寫起來也簡潔一點,比如要將Combo4改為Combo3,改一個地方就可以了,而你現在要改4個地方,萬一遺漏……

順便說一下,此處INLIST()相較AT()的優勢,是前者可以不必是字符串,而可以是任何數據類型的表達式。

[ 本帖最后由 TonyDeng 于 2012-1-26 14:44 编辑 ]

授人以渔,不授人以鱼。
2012-01-26 14:36
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:0 
学习一招 INLIST()判断一表达式是否与一组表达式中的某个匹配。谢谢
2012-01-27 10:40
xs591222
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:28
帖 子:680
专家分:1287
注 册:2009-3-1
得分:0 
以下是引用欣德普在2012-1-26 14:29:00的发言:

非常感谢,我又学了一招。我的代码不该用 return,还有调试的时候,不应该是combo4,应该是combo3.再次感谢版主,用这个命令inlist这个函数使命令行清晰简洁。
不是不该用,是个次序问题
2012-01-27 10:42



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




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

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