怎样反向查找字符串中的指定的字符串?解决方法

怎样反向查找字符串中的指定的字符串?
比如一串字符“ab3cdd3450”
我要从最后查找这串里面的第1个“3”在这串字符中的位置,结果应该是第7个才对,函数该怎么写?

------解决方案--------------------
uses SysUtils.pas


Edit1.Text := StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
StrRScan(PChar('ab3cdd3450'), '3');
------解决方案--------------------
上面是找单个字符的,改成下面就可以找字串了,
Delphi(Pascal) code

function GetCharPos(SubStr,MainStr:String):integer;
var
  s1,s2: String;
  i,Pos1,Pos2: Integer;
begin
  Result := 0;
  for i := Length(SubStr) downto 1 do
    s1 := s1 + SubStr[i];
  for i := Length(MainStr) downto 1 do
    s2 := s2 + MainStr[i];
  Pos1 := Pos(s1,s2);
  Pos2 := Length(MainStr) - Pos1 - Length(s1) + 1 + 1;
  Result := Pos2;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  s1,s2: String;
  ipos: Integer;
begin
  s1 := 'd345';
  s2 := 'ab3cdd3450';
  iPos := GetCharPos(s1,s2);
  ShowMessage(IntToStr(iPos));
end;