本帖最后由 hjhf445 于 2011-12-27 00:47:03 编辑

解决方案 »

  1.   

    基本的文本操作,没有偷懒的方法,一行行读取,一行行替换
    var
      s: string;
      f: TextFile;
    begin
      AssignFile(F,FileName);
      Reset(F);  //只读打开
      Readln(F, s);   //读取
    ......
      CloseFile(F);
      

  2.   

    刚才少敲了一点,读取之后可以生成一个新文件,要用rewrite,reset仅限读操作,或者用文件流操作也可以,filestream,查delphi帮助里面有例子
      

  3.   

    或者用memo或者tstringlist也可以
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      s,fPath,fName:string;
      sList:TStringList;
    begin
      sList:=TStringList.Create;
      sList.LoadFromFile('d:\1.txt');{这里是文本文件的路径}
      try
        for i:=0 to sList.Count-1 do
        begin
          s:=sList.Strings[i];
          if Trim(s)='' then
             continue;
          if SetCurrentDir(s) then
          begin
             fPath:=s;
             continue;
          end;      s:=s+',';
          j:=pos(',',s);
          while j>0 do
          begin
            fName:=Trim(copy(s,1,j-1));
            if fileexists(fPath+fName) then
               deletefile(fPath+fName);
            delete(s,1,j);
            j:=pos(',',s);
          end;
        end;
      showmessage('处理完毕!');
      finally
        sList.Free;
      end;
    end;
      

  5.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,j:integer;
      s,fPath,fName:string;
      sList:TStringList;
    begin
      sList:=TStringList.Create;
      sList.LoadFromFile('d:\1.txt');{这里是文本文件的路径}
      try
        for i:=0 to sList.Count-1 do
        begin
          s:=sList.Strings[i];
          if Trim(s)='' then
             continue;
          if SetCurrentDir(s) then
          begin
             fPath:=s;
             continue;
          end;      s:=s+',';
          while true do
          begin
            j:=pos(',',s);
            if j=0 then break;
            fName:=Trim(copy(s,1,j-1));
            if fileexists(fPath+fName) then
               deletefile(fPath+fName);
            delete(s,1,j);
          end;
        end;  finally
        sList.Free;
      end;  showmessage('处理完毕');
    end;