Здравствуйте форумчане

Мне надо сделать функцию удаления части строки НЕ по индексу (как функция delete), а по нужному символу (или букве) и до нужного символа (или буквы).
Объясняю, вот примерно, какой должен быть синтаксис функции:
Код:
function DelStr(S: String; What, WhatTo: String): String;
И например надо найти и удалить в тексте все буквы (если они есть), от "t" (например) и до "e" (например текст: "the cat", функция должна вернуть " cat" (убирается в нашем случае слово "the").
То есть надо удалять часть строки от и до выбранной буквы (а если нет одной из букв, то не удалять не чего).
Так же надо в функции предусмотреть удаление от нужной буквы до конца строки.
Вот примерно как то так. Есть идеи хоть у кого то?
ЗЫ Варианты наподобие таких не предлагать, т.к. это не подходит:
Код:
function GetWord(Str,Smb:String; WordNmbr: Byte):String;
var
SWord: String;
StrLen,N: Byte;
begin
StrLen:=SizeOf(Str);
N:=1;
while ((WordNmbr >= N) and (StrLen <> 0)) do
begin
StrLen := Pos(Smb,str);
if StrLen <> 0 then
begin
SWord:=Copy(Str,1,StrLen-1);
Delete(Str,1,StrLen);
Inc(N);
end
else SWord:=Str;
end;
if WordNmbr <= N then Result:=SWord else Result:='';
end;
/// или такой:
function DelStr(S: String; What: String): String;
begin
Result := Copy(S, 1, Pos(What, S) - 1);
end;
Прошу, помогите!!!
Заранее спасибо!