注册 登录
编程论坛 VFP论坛

请教结果写入txt文件

fdxxhjc 发布于 2021-02-01 22:01, 2132 次点击
先生您好,我有个代码可以求质数,并将所求得的质数写入“表.dbf”文件,现在我想修改成质数定稿“质数.txt”文件,修改了几次总没成功,请先生指点,谢谢
CLEAR
CLOSE  all
SET TALK ON
SET SAFETY OFF
USE 表
 PACK
 ZAP
*-------------------------------
input '      请输入第一个适当的正整数:' to n
input '      请输入第二个适当大的正整数:' to m
JS=0
FOR I=n TO m
         FOR J=2 TO int(sqrt(M))
            if INT(I/J)=I/J
              EXIT
              ELSE
             ENDIF
          ENDFOR
           if j>int((i/j))
             ppp=i
             js=js+1   
             APPEND BLANK     
             REPLACE 变量 WITH ppp
           ENDIF
ENDFOR
DELETE FILE *.BAK
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')
只有本站会员才能查看附件,请 登录
7 回复
#2
吹水佬2021-02-02 09:11
COPY命令将DBF输出到文本文件
#3
fdxxhjc2021-02-02 15:36
回复 2楼 吹水佬
COPY 表.dbf to 表2.txt  先生这样也没成功,谢谢指点

CLEAR
CLOSE  all
SET TALK ON
SET SAFETY OFF
USE 表
 PACK
 ZAP
*-------------------------------
input '      请输入第一个适当的正整数:' to n
input '      请输入第二个适当大的正整数:' to m
JS=0
FOR I=n TO m
         FOR J=2 TO int(sqrt(M))
            if INT(I/J)=I/J
              EXIT
              ELSE
             ENDIF
          ENDFOR
           if j>int((i/j))
             ppp=i
             js=js+1   
             APPEND BLANK     
             REPLACE 变量 WITH ppp
           ENDIF
ENDFOR
CLOSE  all
USE 表
COPY 表.dbf to 表2.txt
DELETE FILE *.BAK
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')


[此贴子已经被作者于2021-2-2 15:43编辑过]

#4
radiofan2021-02-02 15:48
以下是引用fdxxhjc在2021-2-2 15:36:18的发言:

COPY 表.dbf to 表2.txt  先生这样也没成功,谢谢指点

CLEAR
CLOSE  all
SET TALK ON
SET SAFETY OFF
USE 表
 PACK
 ZAP
*-------------------------------
input '      请输入第一个适当的正整数:' to n
input '      请输入第二个适当大的正整数:' to m
JS=0
FOR I=n TO m
         FOR J=2 TO int(sqrt(M))
            if INT(I/J)=I/J
              EXIT
              ELSE
             ENDIF
          ENDFOR
           if j>int((i/j))
             ppp=i
             js=js+1   
             APPEND BLANK     
             REPLACE 变量 WITH ppp
           ENDIF
ENDFOR
CLOSE  all
USE 表
COPY 表.dbf to 表2.txt
DELETE FILE *.BAK
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')



*************************************
Visual FoxPro 9.0 语言参考
COPY TO 命令
请参阅 示例

示例
在下面的示例中,先打开 Customer 表,然后复制 3 条记录到新的 DELIMITED 数据文件 Temp.txt 中。

  复制代码
CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
USE Customer  && 打开 Customer 表.

COPY NEXT 3 TO Temp TYPE DELIMITED
WAIT WINDOW '这是分隔的文本文件' NOWAIT
MODIFY FILE Temp.txt
DELETE FILE Temp.txt
 


[此贴子已经被作者于2021-2-2 15:49编辑过]

#5
fdxxhjc2021-02-03 13:54
回复 4楼 radiofan
先生还是没搞成,可否帮我修改下,谢谢先生
#6
吹水佬2021-02-03 17:56
回复 5楼 fdxxhjc
试试:
COPY TO 表2.txt FIELDS 变量 SDF
#7
radiofan2021-02-04 09:54
以下是引用fdxxhjc在2021-2-1 22:01:37的发言:

先生您好,我有个代码可以求质数,并将所求得的质数写入“表.dbf”文件,现在我想修改成质数定稿“质数.txt”文件,修改了几次总没成功,请先生指点,谢谢
CLEAR
CLOSE  all
SET TALK ON
SET SAFETY OFF
USE 表
 PACK
 ZAP
*-------------------------------
input '      请输入第一个适当的正整数:' to n
input '      请输入第二个适当大的正整数:' to m
JS=0
FOR I=n TO m
         FOR J=2 TO int(sqrt(M))
            if INT(I/J)=I/J
              EXIT
              ELSE
             ENDIF
          ENDFOR
           if j>int((i/j))
             ppp=i
             js=js+1   
             APPEND BLANK     
             REPLACE 变量 WITH ppp
           ENDIF
ENDFOR
DELETE FILE *.BAK
MESSAGEBOX('本 次 运 行 结 束 !!',64,'信息提示')


其实,我没有明白,你是想把实现代码保存为文本文件还是要把计算结果保存为文本文件?

如果要把变量保存为文本文件
select 表
go top
scan
    strtofile(alltrim(str(变量,12,2))+chr(13)+chr(10),"质数.TXT",1)
endscan

直接存表应该也是可以的,没试!

[此贴子已经被作者于2021-2-4 10:13编辑过]

#8
fdxxhjc2021-02-04 13:19
回复 6楼 吹水佬
先生您的办法成了,谢谢
1