speedbutton1的caption的值为'内销库存查询',是做换行处理的,也就是在代码中设置的'内销库存'+#13+'查询'
但是在以下代码中
procedure Terp.SpeedButton1Click(Sender: TObject);
var bdm:string;
    a,b:string;
begin
  a:=Tspeedbutton(sender).caption;
  b:=copy(a,1,7);
  qya.close;
  qya.sql.clear;
  qya.sql.add('select * from qxb where caption='''+a+'''');
  qya.open;
  showmessage(qya.sql.text);
  bdm:=qya.fieldbyname('form').asstring;
  createform(bdm);
end;
a的值为
a:='内销库存'#$D'查询'
请问怎样把赋给a的值中的'#SD'去掉,使a的值为'内销库存查询'

解决方案 »

  1.   

    procedure TForm1.cxButton1Click(Sender: TObject);
    var
      a:string;
    begin
      a:='內銷庫存'#$D'查詢';
      ShowMessage(Copy(a,1,8)+copy(a,10,13));
      //a:=內銷庫存查詢
    end;
      

  2.   

      可以先定义一个整形数  计算出  #13 在字符串中的位置 
      然后再删了这个字符就可以了var
      TmpInt:Integer;  TmpInt:=Pos(#13,a);   //找出#13  在字符串中的位置
      delete(a,TmpInt,1);   //然后删了 #13 这个字符
      

  3.   


    var
      a:string;
    begin
      a:='內銷庫存'#$D'查詢';
      a := StringReplace(a,#$D,'',[rfReplaceAll]);
      ShowMessage(a);
    end;
      

  4.   

    var
      s:string;
    begin
       s:='內銷庫存'#$D'查詢';
       s:=trim(stringReplace(s,'%$D','',[rfReplaceAll,rfIngnoreCase]));
       showmessage(s);
    end;