hur.cn - 华软网

 热门搜索

PB 数据窗另存文件或者操作文件的问题

  作者:未知    来源:网络    更新时间:2018/5/16
我现在要把数据窗口里面的数据按照分号分割,保存成.dat的文本数据。
用什么方法实现啊?

我现在用SaveAsAscii(),可是这样有header
用SaveAS(),没有参数能指定分割符。

除了调用其他工具写的DLL,有没有别的办法啦?
------华软网友回答------
1.用SaveAsAscii()保存然后写语句把文件的第一行数据删除!

2.自己写代码,把列的数据用;号来连结起来,然后逐行写入文件中
------华软网友回复------
SaveAs存到普通TXT,再读TXT,把~t替换成分号;再保存,改名为DAT
------华软网友回复------
to  lzheng2001(1加1):
    老兄真厉害,佩服!
------华软网友回复------
其实就是写个循环,把每个单元的数据读出来,之后写到文件中保存。
没办法直接用SaveAs,就直接用代码写喽,就是几个函数的问题嘛
fileopen
filewrite
fileclose
------华软网友回复------
to TTLOVEYOU3344(笨笨): 我在这里也得到过其它朋友的帮助,也很感谢帮过我的人, 花点时间能帮到别人,对自己也有好处,乐事也!
------华软网友回复------
没做过这样的事,帮你顶。
------华软网友回复------
请问lzheng2001(1加1)
1.用SaveAsAscii()保存然后写语句把文件的第一行数据删除!
没有直接删除文件中记录的办法啊!

我现在用的是这样的方法,可是删除第一行记录,很麻烦啊。
我问了编C的,好像也是没有什么好的办法啊,他们是读取需要的记录,重新写一个新文件。

------华软网友回复------
1、SaveAsAscii保存到txt
2、FileOpen这个txt文件(行模式),FileOpen你要存的dat文件
3、行读取txt文件的内容,跳过第一行,然后写入dat文件直到结束。

------华软网友回复------
用GetItem取数据,然后用文件操作的函数写进去.
------华软网友回复------
我以前做过,逐行写的效率也是可以的. 
只要做个循环,把各列用;号连成一个字串,然后写到文件中就行,用dw_1.object.colname[i] 的方法访问dw数据会提高取数据的速度.


另外,如果要删除文件的第一行,可以用一个richtextedit控件,然后
rte_1.InsertDocument("c:\1.dat",TRUE, FileTypeText!)
读入文件的内容,然后用代码控件删除第一行数据,然后用SaveDocument(),保存.      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。