我有个.TXT文件有以下内容.
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
MO-030123D000041RM0101OG5050
我想把这个TXT文件用DELPHI语言实现字段与字段之间划逗号分隔符...再存储到另一个TXT文件里.
如MO-030123,D000041,R,M,01,01,O,G,50,50
  MO-030123,D000041,R,M,01,01,O,G,50,50
  MO-030123,D000041,R,M,01,01,O,G,50,50
   .....怎么实现.............

解决方案 »

  1.   

    如果你知道这个格式应该可以很好实现的,使用
    copy(Str,i,count)
    就是麻烦点
      

  2.   

    MO-030123D000041RM0101OG5050 这串字符按什么来划分字段的?  是按每个字段的字符数目还是什么?
      

  3.   

    到http://www.codelphi.com技术囊中去找吧,并且带例子的。
    写入
    var
      str: TStringList;
    begin
      str := TStringList.Create;
      str.Text := 'Hello';
      str.SaveToFile('c:\test.txt');
      str.Free;
    end
    ////////////////////////
    writeln(text,'asdf');
    \\\\\\\\\\\\\\\\\\\\\
    用两种方法:
    1、Memo.SavetoFile(FileName)
    2、Pascal方法:
       var f : textfile;
         begin
           assignfile(f,filename);
            rewrite(f);
             writeln(f,'要保存的内容');
           closefile(f);
         end.(这个方法能写所有是TextFile格式的文件)    
    \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

    var 
       l:tstringlist;begin
      l:=tstringlist.Create ;
      l.Clear ;
      l.LoadFromFile('c:\1.txt');          //从文件导入
      edit1.text:=inttostr(l.Count); //行数
      edit2.text:=l[0];                       //第一行内容
      l.add('新的一行');
      l.insert(1,'第2行');
      l.savetofile('c:\2.txt');
      l.free;
    end;
    在使用
    copy(Str,i,count)
      

  4.   

    function ChangeOneLine(tmp:String):String;
    begin
      result:=format('%s,%s,%s,%s,%s,%s,%s,%s,%s',[copy(tmp,1,9),copy(tmp,10,7),...]);
    end;
    procedure save;
    begin
    Source := TStringList.Create;
    Result := TStringList.Create;
    Source.LoadFromFile('你的老文件');
    for i:=0 to Source.Count-1 do
      Result.Add(ChangeOneLine(Source[i])); //调用上面的函数Result.SaveToFile('你的新文件');
    end;