| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 590 人关注过本帖
标题:求诸位帮忙看一下代码哪里出错了
只看楼主 加入收藏
爱的力量
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
求诸位帮忙看一下代码哪里出错了
我想删除txt文件中的一行数据
我在模块中定义:Public I21, I22, I23, I24  在窗体中用TextBox控件数组(A,B,C,D)给I21,I22,I23,I24 赋值。单击删除时 If A1(i, 1) <> I21 And A1(i, 2) <> I22 And A1(i, 3) <> I23 And A1(i, 4) <> I24 Then中的and好像不起作用了。跟or的作用相似。不知是哪里出了问题?删除单条记录应该怎么编写代码呀?我是vb6.0新手,还请各位前辈,哥哥,姐姐们多多赐教。

Private Sub 删除_Click()
  Dim X, i As Integer
  
  Open App.Path & "\shujv.txt" For Input As #1
  i = 0
  Do While Not EOF(1)
    Line Input #1, X
    i = i + 1
  Loop

  ReDim A1(i, 10) As String
  Close #1
  Open App.Path & "\shujv.txt" For Input As #1
  i = 1
  Do While Not EOF(1)
    Input #1, A1(i, 1), A1(i, 2), A1(i, 3), A1(i, 4), A1(i, 5), A1(i, 6), A1(i, 7), A1(i, 8), A1(i, 9), A1(i, 10)
    i = i + 1
  Loop
    Close #1
    Open App.Path & "\shujv.txt" For Output As #1
    For i = LBound(A1) To UBound(A1)
        If A1(i, 1) <> I21 And A1(i, 2) <> I22 And A1(i, 3) <> I23 And A1(i, 4) <> I24 Then
            Write #1, A1(i, 1), A1(i, 2), A1(i, 3), A1(i, 4), A1(i, 5), A1(i, 6), A1(i, 7), A1(i, 8), A1(i, 9), A1(i, 10)
        End If
    Next i
    Close #1
   
   For i3 = 1 To 17
   
       If A.Item(i3).BackColor = RGB(20, 10, 255) Then
           A.Item(i3).Text = ""
           B.Item(i3).Text = ""
           C.Item(i3).Text = ""
           D.Item(i3).Text = ""
       End If
    Next i3
End Sub

[ 本帖最后由 爱的力量 于 2014-1-4 22:46 编辑 ]
搜索更多相关主题的帖子: 哥哥 记录 
2014-01-04 22:35
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:0 
I21...I24=?

无知
2014-01-05 11:00
爱的力量
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-4
收藏
得分:0 
回复 2楼 Artless
I21,I22,I23,I24 是四个公共变量,在Module模块里定义。由数组控件A(),B(),C(),D()赋值。
    我保存的数据文件是由十个数值组成的,写了一个搜索功能。第2,3,4,5,6个数值与输入值相等则TextBox数组控件 A.Item(1).Text=第1个数值,B.Item(1).Text=第二个数值,C.Item(1).Text=第三个数值,D.Item(1).Text=第四个数值。
    单击数组控件B给I21,I22,I23,I24 赋值
        I21=A.Item(1).Text
        I22=B.Item(1).Text
        I23=C.Item(1).Text
        I24=D.Item(1).Text
    单击删除时在数据文件里找出与I21,I22,I23,I24四个变量都相等的一组数据删除。
    我写的代码单击删除时,只要与其中一个变量相等就会删除。我用的是and,判定结果却不对。不明白是怎么回事。正确的删除代码应该怎么写呢?还请版主指点。谢谢!

[ 本帖最后由 爱的力量 于 2014-1-5 22:09 编辑 ]
2014-01-05 20:47
alike
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:34
注 册:2014-1-8
收藏
得分:20 
逻辑出错了,你用的是不等号,要用or做判断
比如:if A=1 and B=2 then DoEvent
等价于 if A<>1 or B<>2 then ... else DoEvent


[ 本帖最后由 alike 于 2014-1-8 12:08 编辑 ]
2014-01-08 12:04
爱的力量
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2014-1-4
收藏
得分:0 
回复 4楼 alike
谢谢您!为了表示对您的感谢我把所有可用的分都给您了。
2014-01-09 03:15
w1316141414
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-1-9
收藏
得分:0 
学习中
2014-01-09 08:57
快速回复:求诸位帮忙看一下代码哪里出错了
数据加载中...
 
   



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

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