未加验证,仅供参考var s :pchar;
     r :string;
     i:integer;
begin
  i:=RichEdit1.FindText('tablename',0,5,[stMatchCase]);   //find position
  s:=RichEdit1.Lines.GetText;             //getall
  r:= copy(s,i,20) ;            //find behind
  r:=copy(r,1,pos(' ',r)-1);

解决方案 »

  1.   

    将richtext的内容读出来,转化为对字符串的查找操作了:
    var s,sresult:string;
    var bPos,ePos:integer;
     begin
        s:=richtext1.text;
        bpos:=pos('select',s);
        epos:=pos('from',s);
        sresult:=copy(s,bPos+6,epos);
     end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      S: string;
      I, J: Integer;
    begin
      S := RichEdit1.Text;
      I := Pos('SELECT', UpperCase(S)) + 5;
      J := Pos('FROM', UpperCase(S));
      Delete(S, J, MaxInt);
      Delete(S, 1, I);
      S := Trim(S);
      ShowMessage(S);
    end;
      

  3.   

    以空格为分隔符,将字符串导入一个TStringList中,然后只需对TStringList中的成员进行查找就可以了
    procedure TForm1.Button1Click(Sender: TObject);
    const
      s = 'abc defg higk 112213 ';
    var
      StrList: TStringList;
      bPos,ePos:integer;
    begin
      StrList := TStringList.Create;
      try
        StrList.Delimiter := ' ';
        StrList.DelimitedText := s;
        For i:=0 to StrList.count-1 do
         begin
             if StrList.string[i]='Select' then bPos:=i;
             if StrList.string[i]='From' then ePos:=i;
         end; 
        For i:=bPos to ePos-1 do 
          begin
             Fieldname:=Fieldname+' '+StrList.string[i];
          end;
        For i:=ePos to StrList.count-1 do 
          begin
             Tablename:=Tablename+' '+StrList.string[i];
          end;  finally
        FreeAndNil(StrList);
      end;
    end;
      

  4.   

    非常感谢 tygh2000(峰)两次解答这个问题!你的程序有一点没看明白:const
      s = 'abc defg higk 112213 ';      //这个常量定义来干什么?做分隔符?
    var
      StrList: TStringList;
      bPos,ePos:integer;
    begin
      StrList := TStringList.Create;
      try
        StrList.Delimiter := ' ';  //这两个TstringList的属性在help里没有
        StrList.DelimitedText := s;//找到,请告知!
    再次感谢大家的帮忙!有更好解决方法的朋友,请稍微留意一下,一定高分!    
      

  5.   

    常量s是为了测试用的
    Tstringlist的两个属性在delphi 6中有的,好像delphi 5是没有的
      

  6.   

    我用的是D5这么说常量s和Tstringlist的两个属性都不是非常重要咯,只要后面的代码应该也能行的。我的程序需要多次(大概几百次)的查找这个东东,应该在你后面的代码外围再加一个循环了,这样做是不是效率不高?