| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 717 人关注过本帖
标题:新手求助对比时遇到空值时出错
只看楼主 加入收藏
fcxk2016
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2016-10-2
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
新手求助对比时遇到空值时出错
Dim v1, v2
 Dim l&, m&
 v1 = Split(Text1.Text, vbCrLf)
 v2 = Split(Text2.Text, vbCrLf)
 l = IIf(UBound(v1) > UBound(v2), UBound(v1), UBound(v2))
 For m = LBound(v1) To l
 If CStr(v1(m)) <> CStr(v2(m)) Then Text3.Text = Text3.Text & v1(m) & vbCrLf
 Next m
End Sub

对比时遇到空值时会错误,新手请教处理方法:
如:
text1内容
1
2
3  
text2内容   
1
2

提示越界
2016-10-02 02:38
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:938
专家分:5244
注 册:2015-8-10
收藏
得分:20 
split对字符串进行拆分的时候容易出现空字符的情况。
建议再定义两个动态数组,存放v1,v2处理过的内容,这样不会出错
给你一段例子(代码顺手写的,可能有点小错误)。你自己研究一下
Dim vv1()
 v1 = Split(Text1.Text, vbCrLf)
 k=0
 for i= lbound(v1) to ubound(v1)
  if trim(v1(i))<>"" then
    redim preserve vv1(k)  'preserve 记得不能少了
    vv1(k)=v1(i)
    k=k+1
  Endif
 Next i
2016-10-02 12:34
快速回复:新手求助对比时遇到空值时出错
数据加载中...
 
   



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

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