标题:求教对TXT文件的灵活定位修改的程序写法
取消只看楼主
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
结帖率:69.81%
已结贴  问题点数:20 回复次数:8 
求教对TXT文件的灵活定位修改的程序写法
如附件TXT文本文件,想用三种方法来修改,修改完后保存的文件名不变。
第一种方法:
一键修改:按一下按钮,原来乱序的NO:,被重新命名从NO:1——NO: n,(只修改NO行,其他行不变。)

第二种方法:
顺序修改:按“开始”键,出现第一个NO,例如NO: 19,在后面的一个文本框内输入一个数字,如5,该行就变成NO: 5;按“下一个”键,出现第一个NO,例如NO: 18,在后面的文本框内输入一个数字,如7,该行就变成NO: 7。。。。。。以此类推,直至该文本文件里的所有NO全部改完,如果文本框为空并点击“下一个”键,则文本文件中对应的NO值不变。注意:还要有“上一个”的功能。按保存键保存。

第三种方法:
跳跃修改:按“开始”键,两个文本框解除锁定,分别输入一个数字,前一个文本框里的数字用于寻找,寻找文本文件中NO:后面的数字;后边文本框里的数字是用于替换的。逻辑是,先在文本文件中的NO:后面查找前一个数字,如果不存在就提醒,如果存在就将后面一个数字在文本文件中替换前面找到的数字。。按保存键保存。

记录.rar (589 Bytes)
搜索更多相关主题的帖子: 文本文件 文本框 命名 
2017-04-06 11:15
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
第二种方法写的有问题,重改如下:
顺序修改:按“开始”键,软件界面上出现第一个NO,例如NO: 19,在后面的一个文本框内输入一个数字,如5,按“下一个”键,文本文件中的NO: 19就被改成NO: 5,同时界面上出现第二个NO,例如NO: 18,在后面的文本框内输入一个数字,如7,按“下一个”键,文本文件中的NO: 18就被改成NO: 7。。。。。。以此类推,直至该文本文件里的所有NO全部改完,如果文本框为空并点击“下一个”键,则文本文件中对应的NO值不变。注意:还要有“上一个”的功能。。
2017-04-06 16:17
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
关于第一种方法,我已经可以做到以下地步(读出该行内容、准备写入的内容、行号也可以提取出来),问题是如何写入该行号,也就是将该行替换,写入临时文件,然后删原文件,改名
Dim h As Long, LTxt As String, wjt As Variant
Dim temp
h = FreeFile
Dim N As Long, m1 As Long
m1 = 1
Open (Dir1.Path & "\" & File1.FileName) For Input As h
Do While Not EOF(h)
    Line Input #h, LTxt
    N = N + 1
    wjt = Split(LTxt, "NO: ")
    If UBound(wjt) = 1 Then
                Label1.Caption = LTxt
                Label2.Caption = "NO: " & m1
                m1 = m1 + 1
   End If
Loop
Close
 MsgBox "结束"


恳求这一段功能源码,谢谢!
2017-04-06 17:28
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
麻烦版主大大帮我看看,谢谢!
2017-04-06 20:33
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
谢谢版主大大的帮助,好好让我消化消化,相信一定会从中学习到很多经验和知识,再次谢谢!
2017-04-06 22:27
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
经过这段时间的学习和试运行,有个问题想请教版主:

程序中修改序号的第一种方法(顺序修改),程序里只能从1开始自动编号修改,但是我想添加一个文本框,默认是1,但也可以从文本框内手填的数字开始自动编号,这个功能怎么增加呢?我尝试了很久,感觉无处可加。请版主教教我。谢谢!
2017-04-11 16:57
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
版主大大,又遇见新问题了,如果编号为纯数字,上面的程序没有问题,但如果编号为各种字符(数字+字母+小数点或其他字符),可能就没法处理了,请大大帮忙看看。
编号.rar (4.17 KB)


附件中的“记录1”文档是编号为纯数字,“记录2”文档是编号为各种字符(数字+字母+小数点或其他字符)混加。
2017-04-19 11:16
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
好的,我试试,另外是不是还要考虑一下数据类型的问题?有些Dim就不能用 long,得改成String?
2017-04-19 13:36
ictest
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:325
专家分:114
注 册:2010-2-17
得分:0 
您好,版主大大,我考虑再三,认为只是输入和输出的字符数据类型问题。Long是数值型,将部分Long换成String,把order(j) = Val(Mid(m(i), 5))的Val()去除,就可以输入,显示,修改成功了。
再次感谢版主大大。
2017-04-19 15:32



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




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

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