Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Внизне получается работа со строкой Найти похожие ветки
← →
Рашид (2006-06-03 11:21) [0]привет мастерам,помогите разобраться не пойму в чем ошибка
в мемо находится html код,данный код выдерает из мемо ссылку:
var
i: integer;
s,f:string;
begin
s:="href="http://";
i := Pos(s,memo1.Text);
f:=Copy(Memo1.text, i+length(s) , i+length(s));
Delete(f,pos("/"",f),i);
label1.Caption:=f;
end;
но выдерает первую попавшиюся,пытаюсь выдернуть все ссылки не получается:( в чем ошибка?
var
i: integer;
s,f:string;
begin
s:="href="http://";
i := Pos(s,memo1.Text);
while i >0 do
begin
f:=Copy(Memo1.text, i+length(s) , i+length(s));
Delete(f,pos("/"",f),i);
end;
label1.Caption:=f;
i := Pos(s,memo1.Text);
end;
← →
Mr tray (2006-06-03 11:28) [1]
> выдерает первую попавшиюся
Вообще, по-моему, pos ищет первую попавшуюся комбинацию символов
> Copy(Memo1.text, i+length(s) , i+length(s))
к символам строки можно обращаться, как к элементам массива (memo1.text[i+length(s)])
← →
Mr tray (2006-06-03 11:33) [2]
> > Copy(Memo1.text, i+length(s) , i+length(s))к символам
> строки можно обращаться, как к элементам массива (memo1.
> text[i+length(s)])
простите. третий аргумент функции copy это count, а не index2. обшибся :)
← →
Loginov Dmitry © (2006-06-03 11:34) [3]В данном случае целесообразно использовать регулярные выражения. В Дельфи для этого существует класс TRegExpr (легко отыскивается в Интернете).
← →
Mr tray (2006-06-03 12:04) [4]const
cs1="href="http://";
cs2="/"";
var
i2,i,n:cardinal;
ar:array of string;
s:string;
begin
s:="href="http://delphigfx.mastak.ru/" oijiojioj href="http://www.kolnmck.ru/" yugyug yuguygyug uyguyg href="http://www.delphimaster.ru/cgi-bin/"";
i2:=1;
i:=1;
n:=0;
repeat begin
i:=pos(cs1,s);
if i>0 then begin
s:=copy(s,i,length(s)-i+1);
i2:=pos(cs2,s);
inc(n);
setlength(ar,n);
ar[n-1]:=copy(s,1,i2+1);
s:=copy(s,i2+2,length(s)-i2+1);
end;
end until i<=0;
for i:=0 to high(ar) do
writeln(ar[i]);
readln;
end.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c