Code: Select all
// Pascal script
// Извлечение из текста ссылок
var
i,j: integer;
list:TStrings;
st:string;
begin
i := ScriptUtils.PosFrom('http://', Document.Text, 0);
list:= TStringList.Create;
while i <> 0 do
begin
j := i + 7;
while not (Document.Text[j] in ['/', ' ', '''', '"', '>']) do inc(j); //тут перечисляем признаки конца домена
st := copy(Document.Text, i, j - i);
list.Add(st); //куда-нибудь добавляем
i := ScriptUtils.PosFrom('http://', Document.Text, i + 1);
end;
MainApp.NewDocument('');
[color=#FF0000]list.Duplicates := dupIgnore;[/color]
Document.Text:= list.text;
list.free;
end.
PS.
I solved the problem.
Code: Select all
// Pascal script
//get links from text
// Извлечение из текста ссылок
var
i,j: integer;
list:TStringList;
st:string;
begin
i := ScriptUtils.PosFrom('http://', Document.Text, 0);
list:= TStringList.Create;
Document.BeginUpdate();
list.sorted:= true;
list.Duplicates := dupIgnore;
while i <> 0 do
begin
j := i + 7;
while not (Document.Text[j] in ['/', ' ', '''', '"', '>']) do inc(j); //тут перечисляем признаки конца домена
st := copy(Document.Text, i, j - i);
list.Add(st); //куда-нибудь добавляем
i := ScriptUtils.PosFrom('http://', Document.Text, i + 1);
end;
MainApp.NewDocument('');
Document.Text:= list.text;
list.free;
Document.EndUpdate();
end.