找出a1中的b1,并把所有的b1显示到edit3里
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var a1,b1:string;
 i:integer;
begin
   a1:=edit1.Text;
   b1:=edit2.Text;
   i:=pos(b1,a1);
while i<=length(a1) do
   begin
   edit3.Text:=copy(a1,i,1);
   i:=i+1;
   end;
end;end.

解决方案 »

  1.   

     i:=pos(b1,a1); 
    放循环里面~
      

  2.   

    假如:a1的值为acscwe2ccsew72xcwe3cwd
         b1的值为c
        那么EDIT3.text:='cccccc'
    程序的目的是:找出a1里面的字符c,并把所有的c字符显示到EDIT3
    代码如下: 
    procedure   TForm1.Button1Click(Sender:   TObject); 
    var   a1,b1:string; 
      i:integer; 
    begin 
          a1:=edit1.Text; 
          b1:=edit2.Text; 
          i:=pos(b1,a1); 
    while   i <=length(a1)   do 
          begin 
          edit3.Text:=copy(a1,i,1); 
          i:=i+1; 
          end; 
    end; end. 这个循环好像只执行了一次!
      

  3.   

    用b1跟a1的每个字符比较,相同的就加到edit3里呢
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
        s : array of char;
        a1, b1 : string; 
        i : integer;
    begin
      a1 := edit1.text;
      b1 := edit2.text;
      setlength(s,length(a1)-1);
      edit3.clear;
      for i:=0 to length(a1)-1  do
      begin
        if b1 = s[i] then
          edit3.text := edit3.text + b1;
      end;
    end;
    end. 我随便写的,没测试。你试试/
      

  5.   

    edit3.Text:=copy(a1,i,1);   
    这样写循环再查到的字符串会覆盖原来查到的,肯定只会找到最后一个了。
    要这样:
    edit3.Text:=edit3.Text+copy(a1,i,1);
    或者定义个字符串变量,在赋值给edit3.Text。
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);var   
      a1,b1:string;
      i:integer;
    begin
      a1:=edit1.Text;
      b1:=edit2.Text;
      i := 0 ;
      Edit3.clear;
      while   i <=length(a1)   do
      begin
        i:=pos(b1,a1);
        edit3.Text:=edit3.Text + Copy(a1,i,1);
        a1 := rightstr(a1, (Length(a1)-i));
      end;end;
      

  7.   

    補充下:
    要用rightstr()
    先要uses StrUtils,
      

  8.   

    分几种情况找出a1中的b1,
    1:如果只有一个,哪个就直接用POS
    2:好多个A1在b1,那么就用到pos,copy和循环 连用判断才解决问题