回 帖 发 新 帖 刷新版面

主题:如何将txt(大文件)逐段加入到备注中?

m.txt = filetostr("tt.txt")
m.txt = chrt(m.txt,chr(10),'')
for jj=1 to 4000
go jj+1
  repl txt with left(m.txt,at(chr(13)+chr(13),m.txt))
  m.txt = subs(m.txt,at(chr(13)+chr(13),m.txt)+2)
  if empt(m.txt)
    exit
  endif
endf

但是好象当tt.txt超过大约59000个字节时后面的就截去超出部分了,并且txt中共有1000个段落,数据库有4001条记录,从2到1001将1000个段落逐段加入到备注中,从1002到2001再重新将这1000个段落逐段加入到备注中......即需要重复4次逐段加入到备注中

回复列表 (共3个回复)

沙发

手中找不到这么大的TXT文件,不妨把你的文件传过来试一试。
Mail:sywzs@163.com

板凳

好像是“如何将txt逐段加入到备注中?”的问题没讨论完,就被结贴了。

假如你的文本文件是“TT.txt”,用下面的程序应该是没问题的。用你的大文件试一试吧。
STORE FOPEN("TT.txt") TO nFileHandle
STORE FSEEK(nFileHandle, 0, 2) TO nEnd
STORE FSEEK(nFileHandle, 0) TO nTop
CREATE CURSOR LS(TXT M)
cStr = ""
FOR I=0 TO nEnd
    Str0=FGETS(nFileHandle, nEnd)
    IF LEN(Str0) = 0
        APPEND BLANK
        REPLACE TXT WITH cStr
        cStr = ""
    ELSE
        cStr = cStr + Str0 + CHR(13)
    ENDIF
    I = FSEEK(nFileHandle, 0, 1)
NEXT
IF LEN(cStr)>0
    APPEND BLANK
    REPLACE TXT WITH cStr
ENDIF
= FCLOSE(nFileHandle)

3 楼

哇,好大的文件,竟然有1000个段落,文件共有多少字节?有没有16,777,184字节(约16M)?如果没有,那并不难办。假设文件是 “temp.txt”,表是"tb.dbf",其中备注字段是"xxx"。

cData=FILETOSTR("temp.txt")

nParagraphs=ALINES(aParagraphs,cData,5)
nP=1
FOR nI=2 TO 4001
    REPLACE tb.xxx with aParagraphs(nP) RECORD nI
    nP=IIF(nP<nParagraphs, nP+1, 1)
ENDFOR

试试看。

我来回复

您尚未登录,请登录后再回复。点此登录或注册