
22.08.2010, 16:21
|
 |
Активный
|
|
Регистрация: 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;
|