注册 登录
编程论坛 VFP论坛

我想把备注型字段导出到文本文件。但导出的却是空文件。我查不出错在哪。谁能帮我找找错。

Wayneboc 发布于 2023-10-28 17:56, 473 次点击
只有本站会员才能查看附件,请 登录

问题和代码都在附件中。请帮助。
5 回复
#2
schtg2023-10-28 19:08
回复 楼主 Wayneboc
是这个意思吗?
只有本站会员才能查看附件,请 登录

程序代码:
set safety off
close all
use plantry
go top
scan
   cstr = memout
   cfile = sys(5) + curdir() + alltrim(str(nn)) + [.txt]
   = strtofile(cstr,cfile)
endscan


还是这个意思?
只有本站会员才能查看附件,请 登录

程序代码:
set safety off
close all
use plantry
go top
cstr = []
scan
   ctxt = memout
   cstr = cstr + ctxt + 0h0D0A
ENDSCAN
cfile = sys(5) + curdir() + [文本.txt]
= strtofile(cstr,cfile)



[此贴子已经被作者于2023-10-28 19:49编辑过]

#3
sdta2023-10-28 19:19
USE plantry
COPY MEMO memout TO aa1027 ADDITIVE
#4
Wayneboc2023-10-29 14:01
谢谢2楼schtg和3楼sdta的帮助,你们给我的方法很好用。不过,没有解决我的问题。
Main.prg的目的是让客户选择txt文件名,再导出备注型字段。但经过运行发现导出的文件都是空的。我反复看代码,看不出有什么不妥。我很想知道问题出在哪里。你能帮我看看问题在哪吗?
为方便阅读,我把main.prg抄过来:   
use textfile
dsavefile=getfile("txt","新建文件","导出")  &&&打开新建文件对话框
if !empty(dsavefile)
copy memo textfile.mem to "&dsavefile"
endif
------------------------------------------------------------
另外,你程序中有一行:
cstr = cstr + ctxt + 0h0D0A
这里面+ 0h0D0A是什么意思?



[此贴子已经被作者于2023-10-29 14:04编辑过]

#5
schtg2023-10-29 16:18
回复 4楼 Wayneboc
0h0D0A,就是回车换行的意思,若将多个记录的备注字段导出一个文件时,便于查看,所以换行。
#6
Wayneboc2023-10-30 12:02
问题找到了。我不小心把textfile.dbf 的mem字段写成空值了。刚刚发现。
程序没有错。给大家添麻烦了。抱歉。
1