Como Filtrar Links
Olá senhores,
Eu gostaria fazer o seguinte; tenho um Memo1 com um codigo HTML, e gostaria de saber como pegar somentes os links(http://meusite.com.br/) deste código que está no Memo1 e jogar no Memo2. Como faço?? não consigo desenvolver isto sozinho :(
Att,
Gabriel Grisi
Eu gostaria fazer o seguinte; tenho um Memo1 com um codigo HTML, e gostaria de saber como pegar somentes os links(http://meusite.com.br/) deste código que está no Memo1 e jogar no Memo2. Como faço?? não consigo desenvolver isto sozinho :(
Att,
Gabriel Grisi
Gabrielgrisi
Curtidas 0
Respostas
Andepunk
10/06/2009
Olá senhores,
Eu gostaria fazer o seguinte; tenho um Memo1 com um codigo HTML, e gostaria de saber como pegar somentes os links(http://meusite.com.br/) deste código que está no Memo1 e jogar no Memo2. Como faço?? não consigo desenvolver isto sozinho :(
Att,
Gabriel Grisi
Seguinte: voce gostaria de pegar a linha que contem um site ou pegar exatamente a linha q contem um site e capturar o site?
se for pegar a linha toda que contem um site voce pode fazer assim:
declare a variavel I como Integer
//pega o numero total de linhas For I:=0 To Memo1.lines.count-1 Do // a funcao pos se encontrar o texto http:// retorna a posicao que esta o //texto sendo assim >0 if Pos(´http://´, Memo1.Lines.Strings[I]) > 0 Then //repassa a linha que contem o link para o memo2 Memo2.Lines.Add(Memo1.Lines.Strings[I]);
nao compilei o codigo aqui pq neste maquina nao tem o delphi, mas se nao der certo me retorna que eu arrumo o procedimento.
Anderson de Oliveira
GOSTEI 0
Gabrielgrisi
10/06/2009
Obrigado pela atenção Anderson, mas não deu certo.. veja como ficou no memo2;
href=´http://imag
href=´http://map
href=´http://new
href=´http://ww
href=´http://grou
href=´http://mail.
href=´http://ww
gostaria que fosse só o http:// com o restante ... entendeu ? valeu ;)
href=´http://imag
href=´http://map
href=´http://new
href=´http://ww
href=´http://grou
href=´http://mail.
href=´http://ww
gostaria que fosse só o http:// com o restante ... entendeu ? valeu ;)
GOSTEI 0
Andepunk
10/06/2009
//pega o numero total de linhas For I:=0 To Memo1.lines.count-1 Do // a funcao pos se encontrar o texto http:// retorna a posicao que esta o //texto sendo assim >0 if Pos(´http://´, Memo1.Lines.Strings[I]) > 0 Then //repassa a linha que contem o link para o memo2 Memo2.Lines.Add(StringReplace(´href="´, Memo1.Lines.Strings[I],[]);
GOSTEI 0
Andepunk
10/06/2009
assim vai remover o texo (href=´´)
//pega o numero total de linhas For I:=0 To Memo1.lines.count-1 Do // a funcao pos se encontrar o texto http:// retorna a posicao que esta o //texto sendo assim >0 if Pos(´http://´, Memo1.Lines.Strings[I]) > 0 Then //repassa a linha que contem o link para o memo2 Memo2.Lines.Add(StringReplace(´href="´, Memo1.Lines.Strings[I],[]));
GOSTEI 0
Gabrielgrisi
10/06/2009
[Error] Unit1.pas(93): Incompatible types: ´String´ and ´Set´
então.. deu erro no final desta linha
Memo2.Lines.Add(StringReplace(´href=´´, Memo1.Lines.Strings[I],[]));
O que seria?
Outra coisa .. se nao for pedir demais, como seria pra colocar um progressbar e ir colocando as linhas no memo e rolando o progressbar ..
:)
então.. deu erro no final desta linha
Memo2.Lines.Add(StringReplace(´href=´´, Memo1.Lines.Strings[I],[]));
O que seria?
Outra coisa .. se nao for pedir demais, como seria pra colocar um progressbar e ir colocando as linhas no memo e rolando o progressbar ..
:)
GOSTEI 0
Andepunk
10/06/2009
mete ficha que agora vai funcionar com o progress.
procedure TForm1.Button1Click(Sender: TObject); var i : Integer; mDescricao : Boolean; begin //limpa memo2 Memo2.clear; //define o maximo para o progress ProgressBar1.Max := Memo1.lines.count; //pega o numero total de linhas For I:=0 To Memo1.lines.count-1 Do begin // a funcao pos se encontrar o texto http:// retorna a posicao que esta o //texto sendo assim >0 if Pos(´http://´, Memo1.Lines.Strings[I]) > 0 Then //repassa a linha que contem o link para o memo2 Memo2.Lines.Add(StringReplace(Memo1.Lines.Strings[I],´href="´,´´,[rfReplaceAll, rfIgnoreCase])); //incrementa o progess a cada lnha percorrida ProgressBar1.Position := I; end; end;
GOSTEI 0
Gabrielgrisi
10/06/2009
http://imag
http://map
http://new
http://ww
http://grou
http://mail.
http://ww
http://boo
Continua nao pegando o link completo hehehe :(
http://map
http://new
http://ww
http://grou
http://mail.
http://ww
http://boo
Continua nao pegando o link completo hehehe :(
GOSTEI 0