直接用TString.Text := TString.Text + string不行,只能得到string的一行,怎么把所有内容都添加到tstring里面去?

解决方案 »

  1.   

    var
    s:TString;
    begin
    s:=s+'你要加的字符串';
      

  2.   

    Delphi 里没有TString,有TStrings, TStringList
      

  3.   

    增加上一个string 是什么意思?多加一行?
    aTstrings.add(aString);

    aTStrings.Text := aTStrings.Text + #13+ aString;
      

  4.   

    aTstrings.add(aString);也只有一行
      

  5.   

    TStrings.Text := TStrings.Text + TStrings.LineBreak + string
      

  6.   

    抱歉,标准的TStrings在取Text的时候是自动添加了LineBreak的,我这里的控件是可以不需要的...
      

  7.   

    咋可能哩
    var
      strings:TStrings;
    begin
      strings := TStringList.Create;
      strings.Add('sss');
      strings.Add('qqqqq');
      Memo1.Lines :=  strings;
      strings.Free;
    end;
      

  8.   

    lz不好意思,太粗心了
    var
    s:string;
    ts:TStrings;
    begin
    s:='abc'+#13+'3';
    ts:=TStringList.Create;
    ts.Add(s);
    ShowMessage(ts.Text);
      

  9.   

    不是,我的string是很多行SynEditor1.Lines.Text := SynEditor1.Lines.Text + str;
    //SynEditor1.Lines是个TStrings
    只增加了一行,Add也是
    很疑惑,是不是我的文件读取有问题?
    这里是全部的代码:
    procedure TForm1.File_TemplateClick(Sender: TObject);
    var
      path: String;
      vfile:Textfile;
      str:  string;
    begin
      //检查是否有模板目录
      path := ExtractFilePath(Application.ExeName);
      path := path+'tamplate\';
      if not DirectoryExists(path) then
        if not CreateDir(path) then
          Exception.Create('没找到模板目录且不能创建。' + path);
      //
      path := OpenDialog.FileName;
      OpenDialog.Execute;
      if opendialog.FileName = '' then
      begin
        exit;
      end;
      AssignFile(vfile, OpenDialog.FileName);
      Reset(vfile);
      Read(vfile, str);
      CloseFile(vfile);
      SynEditor1.Lines.Text := '';
      SynEditor1.Lines.Add(str);
      OpenDialog.FileName := path;
    end;
    怎么读出全部的内容?
      

  10.   

    不知道lz什么意思,下面代码可以保存多行数据
    var
      StrList:TStringList;
      str:string;
      i,j:Integer;
    begin
      StrList:=TStringList.Create;
      for   i   :=   0   to  10   do
        begin
            Str   := ' ';
            Str   := IntToStr(i)+#9;
            for j := 0 to 5 do
             begin
               str:=str+CHR(j+ord('A'))+#9;
             end;
            StrList.Add(Str);
        end;
      StrList.SaveToFile('e:\ss.xls');
      StrList.Free;
    end;