Показать сообщение отдельно
  #8  
Старый 22.08.2010, 16:21
Аватар для pesi
pesi pesi вне форума
Активный
 
Регистрация: 12.09.2008
Сообщения: 275
Репутация: 43
По умолчанию

А почему В равна 5?
Код:
function PosSrc(S: String): String;
const
  Scr = 'src="';
var
    B, E: Integer;
begin
    B:= Pos(Scr, S) +Length(Scr);  { ищим Scr в S и прибавляем длинну Scr }
    { функция PosEx идентична Pos но она может искать с указанной позиции  }
    E:= PosEx('"', S, B); { здесь ищем '"' в S. Третий параметр тобишь "B"
    указывает на то с какой позиции начать поиск, вот для чего мы прибавляли длинну Scr
    если бы мы этого не сделали то PosSrc вернула бы "src="}
    Result:= Copy(S, B, E-B);  { копируем:
    "S" это строка из которой копируем,
    "B" здесь равна 22,
    "E" равна 36.
    Тобишь "B" указывает с какой позиции копировать
    "E-B" сколько символов скопировать(от 36 отняли 22 получили 14)}
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 a: string;
begin
  a:= '<img id="login" src="newcaptcha.php" width="80" height="20"';
  memo1.Text:= PosSrc(a);
end;
Ответить с цитированием