Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ultra

Buscar Palavra

Recommended Posts

Bom dia pessoal, estou eu com um pequeno problema, e cá estou para pedir uma ajuda amiga...

 

Bom, tenho um arquivo.TXT e gostaria de buscar uma palavra dentro dele, vou dar o exemplo:

 

 

<FONT COLOR=RED>Were summarized <FONT COLOR=WHITE >7</FONT> frames of left</FONT><BR>

<TABLE>

<TR><TH COLSPAN=4><FONT COLOR=WHITE>Final decision.</FONT></TH></TR>

<TR>

<TD WIDTH="25%" ALIGN="CENTER" BGCOLOR=GRAY><FONT COLOR=WHITE>Final</FONT></TD>

</TR>

 

 

quero jogar a posição ou as palavras da linha vermelha numa variável, ou dentro de algum Memo..... tem como fazer isso ? o máximo q consegui foi jogar todo o .txt numa só variável, mas não ajudou muito

 

Agradeço desde já !!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

por exemplo: você joga esse código html dentro de um MEMO

 

e veja este código

 

var

i,j:integer;

linha:string;

begin

for i:=0 to memo.lines.count-1 do

begin

linha:=memo1.lines.strings;

for j=1 to length(linha) do //suponha que essa linha j é a linha <TD WIDTH="25%" ALIGN="CENTER" BGCOLOR=GRAY> e você queira encontrar WIDTH

if copy(linha, j,5) then //copia da posicção jota 5 caracteres que é o tamanh o da palavra WIDTH

showmessage(copy(linha, j,5));//só um exemplo você faz o q quiser, copia o valor 25%, a lógica eu já te passei

end;

end;

 

 

bom isso aí, espero que tenha dado pra você pegar a lógica da coisa, qualquer coisa pergunta ae ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu WiCkEd !! é isso mesmo q eu queria....... com algumas poucas alterações..... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Mas só tem 1 probleminha...... quando eu faço :

 

ASP [/tr][tr]copy(linha, j,5)[/tr]

 

ele manda o resultado como string, certo ?? eu queria checar pra ver se essa letra é numérico, então eu tentei fazer :

 

ASP [/tr][tr]If StrToInt(copy(linha, j,1)) in [0..9] then[/tr]

 

Mas ele diz q não é compativel tipos String e Integer :o .......... você sabe o por quê ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que não tenho certeza, mas acho que o in['0'..'9'] só vale se comparado a um único caracter,

 

por exemplo if linha[j] in [0..9] then

 

mas tem um erro no seu, você está tentando converter a string antes de saber se ela é realmente numero

 

If StrToInt(copy(linha, j,1)) in [0..9] then

 

tente assim

 

If copy(linha, j,1) in [0..9] then

 

Se não funcionar,

 

a solução é

 

try

strtofloat(copy(linha, j,1));

showmessage('é numerico');

except

showmessage('não é numérico');

end;

 

ou seja ele tenta converter, se não conseguir ele diz q não é numerico, mas fique atento, você só verá isso se executar o programa fora do Delphi, se você der um F9, (rodar em modo debug) ele acusa erro de conversao

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, valeu denovo WiCkEd...... vou tentar essa solução mesmo

 

eu tava usando uma solução bem porca:

 

ASP [/tr][tr] if (copy(linha, j, 1) = '0') or (copy(linha, j, 1) = '1') or (copy(linha, j, 1) = '2') or

(copy(linha, j, 1) = '3') or (copy(linha, j+k, 1) = '4') or (copy(linha, j, 1) = '5') or

(copy(linha, j, 1) = '6') or (copy(linha, j+, 1) = '7') or (copy(linha, j, 1) = '8') or

(copy(linha, j, 1) = '9') then

[/tr]

 

Ahuaeuhauh..... era provisória, só até achar o modo ideal http://forum.imasters.com.br/public/style_emoticons/default/hug.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.