我想把字符串存到文本文件中 请哪位高人指点一下 delphi

vari:Integer;j:Integer;strConfigPath:string;strConfig:string;String2:TStringList;stri... var
i: Integer;
j: Integer;
strConfigPath: string;
strConfig: string;
String2 : TStringList;
string1:string;
begin
Result := False;
strConfigPath := getConfigPath();
strConfig := strConfigPath + ifthen(copy(strConfigPath, length(strConfigPath), 1) = '\', '', '\') + USER_Config; //target .txt file

string1:='<item class="1" id="dac68b64c0b54278b09823cc4d843434" plug="CBDataSet.CBDateSetPlugin"/><item class="2" id="dac68b64c0b54278b09823cc4d843434" plug="CBDataSet.CBDateSetPlugin"/>';
String2 := TStringList.Create;
String2.LoadFromFile(strConfig);
for i:=0 to String2.Count-1 do
begin
j:= pos('<CBCONFROOT>',String2.Strings[i]);
if j > 0 then
begin
String2.Insert(j,string1);
String2.SaveToFile(strConfig);
Result := True;
end
else break;
end;
展开
 我来答
Hoper0226
2013-06-26 · TA获得超过135个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:121万
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var
  s:TStringList;
  i,j:Integer;
  str1,str2:string;
begin
  OpenDialog1.Execute;
  s:=TStringList.Create;
  s.Text:=Memo1.Text; //先给s值,
  str1:='插入值';     //我这里在有#号的位置的前面写上“插入值”
  str2:=s.Text;       //再给str2变量赋一个s的值,用于后面的循环
  i:=0;               //初始化循环中的变量
  j:=0;               //初始化循环中的变量
  while Pos('#',str2) > 0 do      //while..do 循环,循环到str2里面有没#号为止
  begin
    i:=Pos('#',str2);            //首选获取str2的#的位置,
    j:=i+j;
    {然后+上j的值,这里逻辑可能有点复杂,j用于copy  s的值,i用于copy str2的值
    因为str2的值每次循环都会删除#号前面的部分,所以会越来越少,而s值每次循环会再#号前加str1,所以会越来越多
    所以用i和j区分,i每次循环重新定义,j每次循环累加。 }
    s.Text:=Copy(s.Text,0,j-1) + str1 + Copy(s.Text,j,Length(s.Text));
    //copy看你代码用过,应该会用,这里就是截取,#号前的值+str1+#号后面的值,如果你加'<CBCONFROOT>',
    //那么记得到时候j还要加上你这个字符的长度。
    j:=j+length(str1); //每次结束后,j还要加上插入值的长度
    str2:=Copy(str2,i+1,Length(str2)); //这里就是将str2中#号以及#号之前的部分删除,然后继续循环,直到没有#号
  end;
  s.SaveToFile(OpenDialog1.FileName);  //存入文本就这么写。没有问题的。
  {这是我自己写的DOME运算的值:
      sdfasdfasdfhjsf#123123123
      sdfskj#12312
      dcvnm,nf#53242
      fksjflkas#12315
  下面是结束后文本保存的值
      sdfasdfasdfhjsf插入值#123123123
      sdfskj插入值#12312
      dcvnm,nf插入值#53242
      fksjflkas插入值#12315
  }
end;
aku0806
2013-06-25 · 超过12用户采纳过TA的回答
知道答主
回答量:46
采纳率:0%
帮助的人:27.7万
展开全部
FINI:= TIniFile.Create(Extractfilepath(Application.ExeName)+'aaa.ini');
FINI.WriteString('Configuration','A', 'bbb'));
FINI.Destroy;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式