Fórum Como Filtrar Links #371165
10/06/2009
0
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
Curtir tópico
+ 0Posts
14/06/2009
Andepunk
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
14/06/2009
Gabrielgrisi
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
14/06/2009
Andepunk
//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
14/06/2009
Andepunk
//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
14/06/2009
Gabrielgrisi
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
14/06/2009
Andepunk
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
14/06/2009
Gabrielgrisi
http://map
http://new
http://ww
http://grou
http://mail.
http://ww
http://boo
Continua nao pegando o link completo hehehe :(
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)