{
Skip n words of string s, return trailing part of string s after n'th word.
}
function SkipWords(n:Integer;s:String):String;
 function SkipLeft(s:String):String;
 var P:Integer;
 begin
  P:=Pos(ExtractWord(1,s),s);
  if P>0 then SkipLeft:=Copy(s,P) else SkipLeft:='';
 end;
 function SkipWord(w,s:String):String;
 var P,L:Integer;
 begin
  L:=Length(w);
  if L>0 then P:=Pos(w,s) else P:=0;
  if P>0 then SkipWord:=SkipLeft(Copy(s,P+L+1)) else SkipWord:='';
 end;
begin
 if (n>0) and (Length(s)>0)
 then SkipWords:=SkipWords(n-1,SkipWord(ExtractWord(1,s),s))
 else SkipWords:=s;
end;
