2016-05-30 82 views
-1

我正在使用德尔福7上的文本文件,我需要修复文本文件的每一行中的错误,但我不确定要使用什么代码。德尔福7编码修复文本文件

我已经有了打开并在丰富的编辑中显示文本文件的代码,但我不知道该从哪里去。

AssignFile(myFile, 'Test.txt'); 
    Reset(myFile); 
    while not Eof(myFile) do 
    begin 
    ReadLn(myFile, text); 
    Richedit.lines.add(myFile); 
    end; 
    CloseFile(myFile); 
end; 
+0

“修复文本文件每一行中的错误”你究竟是什么意思?你想对文本进行编辑,然后再保存回去吗? –

+0

使用'TMemo'可以在编辑完成后使用'LoadFromFile()'读取整个文件和'SaveToFile()'来保存内容。 –

+0

'而不是eof(myfile)做ReadLineAndFixErrors(myfile);' –

回答

3

你真的不应该使用1970年代的assignfile/reset等电话了。

下面的代码将工作:

RichEdit1.Lines.LoadFromFile(Filename); 

当保存你的文件:

RichEdit1.Lines.SaveToFile(Filename); 

如果你想注入(所以spreak)之前检查文本行他们进入编辑控件请执行以下操作:

var 
    SL: TStringList; 
    i: integer; 
begin 
    SL:= TStringList.Create; 
    try 
    SL.LoadFromFile(Filename); 
    for i:= 0 to SL.Count -1 do begin 
     //Fixup is a function that reads the line and returns a corrected line. 
     SL[i]:= FixUp(SL[i]); 
    end; 
    RichEdit1.Lines.Assign(SL); 
    finally 
    SL.Free; 
    end; 
end; 

如果要确保文件是纯文本文件,请使用改为。
它的工作原理与TRichEdit的相同。