ini对象一般都要通过 ini:=Tinifile.create('path') 这样来创建,现在有个需求要把memo里面的的内容复制过来,应该如何做呢?

解决方案 »

  1.   

    MEMO裏面是不是標准的INI文件的格式?還是其它格式?如果標准的格式,直拉 memo1.savetoFile('XX.ini'); 如是不是,貼出內容來
      

  2.   

    Memo1.Lines.SaveToFile()这样保存到文件不行吗?
      

  3.   


    糾正下: memo1.lines.savetoFile('XX.ini'); 
      

  4.   

    是标准的ini格式,我的目的是拷贝过来方便利用tinifile对象的一些方法来对内容进行分析,而不是为了把它保存下来,如果是保存下来再分析的话,会增加一个文件读写的步骤。
      

  5.   


     那就直接對 memo1.lines.savetofile  就行了。
      

  6.   

    savetofile这个方法不是我想要的,我只是想请教大家有没有复制的方法。
      

  7.   


    你什麼樣的復制形式?要說清楚啊,:) copy_Data  一樣?? 發送一個信息就把信息COPY到一個地方還是??
      

  8.   

    copy到ini文件中,利用tinifile对象进行分析?你分析不也要先打开文件么?你必然要增加打开文件,和你增加文件读写是一样的,你要用对象进行分析也要进行读写才能分析啊~
      

  9.   

    或者我换个说法 就是想利用tinifile的方法分析memo空间里面的内容,除了保存之后再打开分析还有没有其他办法呢。
      

  10.   

    TINIFILE 最終就是調用系統API:GetPrivateProfileString來做的,必須提供文件名;不過可翠提供你另外一個方法:function TMemIniFile.ReadString(const Section, Ident,
      Default: string): string;
    var
      I: Integer;
      Strings: TStrings;
    begin
      I := FSections.IndexOf(Section);
      if I >= 0 then
      begin
        Strings := TStrings(FSections.Objects[I]);
        I := Strings.IndexOfName(Ident);
        if I >= 0 then
        begin
          Result := Copy(Strings[I], Length(Ident) + 2, Maxint);
          Exit;
        end;
      end;
      Result := Default;
    end;
    這是 inifiles 單元裏的。可翠參考下; 通過TLIST來處理。
      

  11.   

    应该很简单吧ini:=Tinifile.create('mypath');
    ini.writestring('mysec','myide',memo1.text);
    stemp:=ini.readstring('mysec','myide');
    ...
      

  12.   

    但要注意:
    Ini文件是分行的,而Memo的内容有可能是多行
    所以以上代码未测试是否通过,请自己测试
      

  13.   

    楼主啊  
    从MEMO里面 一行行的读 然后在一行行的往ini写吧 
      ini:=Tinifile.create('MyIniFile');
      for i:=0 to  Memo1.Lines.Count-1 do
       begin
       ini.writestring('Sections','Sections',memo1.Lines[i]);
       end;