TC官方合作论坛

标题: 保存TXT文件时,如何编写可以正常保存的代码. [打印本页]

作者: tloovee    时间: 2014-11-3 00:22
标题: 保存TXT文件时,如何编写可以正常保存的代码.
本帖最后由 tloovee 于 2014-11-3 08:51 编辑

我自己想弄个最简单的记事本, 界面如下图

这个记事本的构造很简单, 与指定的TXT文件连绑在一起,
打开窗口,点击读取就能把内容载入到窗口里的编辑框里,
点击保存就能把编辑框里的内容更新到(也就是保存)TXT文件里.
读取的功能已经完成,现在的问题是保存问题,我试过以下方法,不过存的时候都有问题,不象Windows自带记事本一样保存的.
出现的问题如下:
1,使用 文件.写入 功能的时候,会把TXT里的内容覆盖掉,没有覆盖的部分继续保留,这样的话经过多次存储就乱套了,
2,使用 文件.末尾写入 功能的时候,会保留TXT里的原有内容,并在后面追加新的内容,但这不是我的要求.
3,文件.写一行 功能 就更不用说了,

我的要求是整存整取指定的TXT文件, 就是说界面中编辑框里的内容什么样子,保存后的TXT就是什么样子,

我自己有个方法能解决,但是这个方法比较笨,所以我想请高手们帮忙找到更简单好用的方法
我的方法是,保存时,先删除指定TXT文件,再重新创建指定TXT文件,之后写入道指定的TXT文件.就能打到我要的效果.
可是这样子,又删除,又创建,好象给电脑更多的压力,实在是心疼
求各位高手指条明路,






作者: cylhb    时间: 2014-11-3 00:27
编辑框输入内容的时候其实也是 保存旧文字,然后清空,再加上新文字才显示出来。电脑没你想象中那么不堪
作者: q273814    时间: 2014-11-3 00:32
你的思路没问题 如果存在就删除 很正常 你把你的电脑想象的太不堪了 这就有压力了 那你估计开机都成问题了
作者: tloovee    时间: 2014-11-3 05:11
谢谢楼上两位的提点,
我还是觉得应该是有其它更好的方法,  在保存之前让指定TXT文件变成空文件,然后写入就可以,
但是我不知道怎么让它变成空文件,

这个记事本的构造很简单, 与指定的TXT文件连绑在一起,
打开窗口,点击读取就能把内容载入到窗口里的编辑框里,
点击保存就能把编辑框里的内容更新到(也就是保存)TXT文件里.

继续等高手来帮忙,
作者: tloovee    时间: 2014-11-3 08:37
求高手指点迷津, 在线等待`
作者: emperra    时间: 2014-11-3 08:40
你不是说使用文件.写入的时候 会把之前的覆盖掉么. 清空你就先写入个空好了
作者: tloovee    时间: 2014-11-3 08:48
emperra 发表于 2014-11-3 08:40
你不是说使用文件.写入的时候 会把之前的覆盖掉么. 清空你就先写入个空好了 ...

写入 空字符的话 指定的TXT文件什么变化都没有, 原来的内容仍在,   
作者: emperra    时间: 2014-11-3 08:59
tloovee 发表于 2014-11-3 08:48
写入 空字符的话 指定的TXT文件什么变化都没有, 原来的内容仍在,

不好意思,你的要求我没看太明白,刚才我自己写了个临时的试了试,比如你的文件是d:\\admin.txt 你用编辑框0来显示读出来的内容 然后你对编辑框0做了改动 然后保存之后admin.txt就保存为改动后的,对吧. 那直接写入新内容就好了 他会自己清空的吧
作者: emperra    时间: 2014-11-3 09:04
emperra 发表于 2014-11-3 08:59
不好意思,你的要求我没看太明白,刚才我自己写了个临时的试了试,比如你的文件是d:\\admin.txt 你用编辑框0 ...

我刚试了一下,不会清空,没测试就说话果然是自己打脸啊...那就做个临时文件保存,然后删掉源文件,再改名回去这样吧.这样的话,起码内容能保存到.
作者: tloovee    时间: 2014-11-3 09:06
emperra 发表于 2014-11-3 08:59
不好意思,你的要求我没看太明白,刚才我自己写了个临时的试了试,比如你的文件是d:\\admin.txt 你用编辑框0 ...

文件.写入 是把原文件内容覆盖的, 没有被覆盖的部分就照着原文件的内容保留,  让我头痛的地方就是这一点
作者: tloovee    时间: 2014-11-3 10:03
emperra 发表于 2014-11-3 09:04
我刚试了一下,不会清空,没测试就说话果然是自己打脸啊...那就做个临时文件保存,然后删掉源文件,再改名回 ...

谢谢热心的帮助, 你的方法应该是可行的, 只是跟我的方法差不多,只是稍微改变方法而已, 都接触到删除和新建命令,   我希望有个高人指点一下,在不删除和新建的情况下能简单实现的方法,
作者: tloovee    时间: 2014-11-3 11:57
继续求高手相助,在线等.....   
作者: tloovee    时间: 2014-11-3 12:56
顶, 求高手帮忙一下,  在线等待...
作者: tloovee    时间: 2014-11-3 19:43
顶...
作者: tloovee    时间: 2014-11-4 02:42
顶下, 静等大神的出现,,,  

这是最后一次顶,实在没人知道的话就让它沉吧,





欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1