标题:如何判断text内的内容为空?
只看楼主
qpfmates
Rank: 1
等 级:新手上路
帖 子:409
专家分:0
注 册:2008-9-20
结帖率:100%
 问题点数:0 回复次数:14 
如何判断text内的内容为空?
有text1,text2,text3,text4,text5....text16。应该有两种方法判断,一种是一个一个列举,if text1.text="" and text2.text="" ..then关于这种方法,我要问的是换行时应改怎么写代码。第二种方法是有数组循环判断,呵呵,但是我不会写代码,有没有高人讲解一些这两种方法?
搜索更多相关主题的帖子: text 判断 
2008-11-27 13:18
hbutwzc
Rank: 1
等 级:新手上路
威 望:2
帖 子:376
专家分:0
注 册:2008-6-17
得分:0 
dim i
  for i = 1 to 16
    if text&i="" then
       text&i.setfocus
       exit sub
    end if
  next i
2008-11-27 13:48
hbutwzc
Rank: 1
等 级:新手上路
威 望:2
帖 子:376
专家分:0
注 册:2008-6-17
得分:0 
将上面代码添加到按钮点击事件 或其他就可以了
2008-11-27 13:49
hbutwzc
Rank: 1
等 级:新手上路
威 望:2
帖 子:376
专家分:0
注 册:2008-6-17
得分:0 
错了  vb中不可以
2008-11-27 13:55
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
回复 第4楼 hbutwzc 的帖子
程序代码:
Private Sub Command1_Click()
Dim i As Long
Dim j As String
Dim o As Long
Dim yn As Boolean

For i = 0 To Me.Controls.Count - 1                      'me 代表当前窗口
   If InStr(1, Me.Controls(i).Name, "Text") > 0 Then     '此处是你的text 控件的前缀,判断是否含 前缀
        j = Mid(Me.Controls(i).Name, 5)                 '取除去前缀的部分
        If IsNumeric(j) Then                         '是否是数字
            o = CLng(j)
            If o >= 1 And o <= 16 Then                '此处是你的 text 的最大编号及最小编号
                If Me.Controls(i).Text = "" Then      '判断是否为空,这里还少写了一个判断,就是判断控件类型的,你要自己加就在最上面一层加上去
                    yn = True
                    Exit For
                End If
            End If
        End If
   End If
Next i

If yn Then
    MsgBox Me.Controls(i).Name & " 内容为空!", vbCritical
Else
    MsgBox "Text1 到 Text16 的内容均不为空!", vbInformation
End If
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2008-11-27 16:59
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
你要的第一种方法:含命令换行写法:
程序代码:
Private Sub Command2_Click()
'空一格,一个下划线,表示下一行将继续本行
If Text1.Text = "" _
  Or Text2.Text = "" _
  Or Text3.Text = "" _
  Or Text4.Text = "" _
  Or Text5.Text = "" _
  Or Text6.Text = "" _
  Or Text7.Text = "" _
  Or Text8.Text = "" _
  Or Text9.Text = "" _
  Or Text10.Text = "" _
  Or Text11.Text = "" _
  Or Text12.Text = "" _
  Or Text13.Text = "" _
  Or Text14.Text = "" _
  Or Text15.Text = "" _
  Or Text16.Text = "" _
Then
    MsgBox "有个text 内容为空", vbCritical
Else
    MsgBox "Text1 到 Text16 的内容均不为空!", vbInformation
End If
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2008-11-27 17:03
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
得分:0 
For i = 0 To 2
If Text1.Item(i) = "" Then
    MsgBox "有一文本不可為空"
End If
Next

烈焰照耀世界,斌凍凍千萬裏
2008-11-27 17:28
qpfmates
Rank: 1
等 级:新手上路
帖 子:409
专家分:0
注 册:2008-9-20
得分:0 
6的的方法可行,谢谢了。7楼,我的是15个text。你怎么有text1.item(i)?你的意思是不是有文本框组?
2008-11-27 21:04
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
得分:0 
問下樓主你有沒有拿去試下呢。

烈焰照耀世界,斌凍凍千萬裏
2008-11-28 08:01
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
回复 第8楼 qpfmates 的帖子
难道五楼的方法不可行???

我测试的结果均可行.
容易理解,6楼更容易更解,
通用性,5楼的更具有通用性.

执行效率,6楼的优于5楼的.

授人于鱼,不如授人于渔
早已停用QQ了
2008-11-28 09:28



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




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

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