R_Kder 0 Denunciar post Postado Março 28, 2007 Ola Pessoal,Estou finalizando um software e estou tendo dificuldade em conseguir localizar e copiar um texto em um Tmemo.Tenho um texto lá já, é um XML, preciso chegar até a tag e copiar o conteúdo dela para uma variavel:<titulo>TESTE</titulo>Alguma sugestão?Obrigado!:) Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 28, 2007 Esse assunto já foi discutido... Utilize a busca do fórum... http://forum.imasters.com.br/index.php?sho...amp;hl=richtext Compartilhar este post Link para o post Compartilhar em outros sites
R_Kder 0 Denunciar post Postado Março 28, 2007 Eu já tinha visto esse, mas é um pouco diferente do que estou tendo dificuldade em fazer.Obrigado de qualquer maneira.[]´s Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 28, 2007 Qual a sua dificuldade???Seja um pouco mais específico...que ai da pra ter uma noção melhor!!!Se possível poste o code que já fez para podermos ter uma noção!!! Compartilhar este post Link para o post Compartilhar em outros sites
R_Kder 0 Denunciar post Postado Março 28, 2007 O problema está sendo identificar as tags e copiar somente o conteúdo delas, pois o tamanho do texto varia de uma para outra.<titulo>TESTE</titulo>To tentando identificar o ">" depois ir até o próximo "<" e contar os caracteres entre um e outro, mas nao ta dando muito certo.Não tenho muita experiência com Delphi, ai me enrolo um pouco nesse tipo de coisa. :DValeu[]´s Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 28, 2007 você pega uma string, certo? Para saber a posição de um determinado caracter nela utilize o POS (para saber mais use a busca do forum) e ai você faz um novo Copy, Copiando da posição do > + 1 até a posição do segundo <... é isso aew! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
R_Kder 0 Denunciar post Postado Março 28, 2007 Vou tentar.Obrigado pela ajuda.[]´s Compartilhar este post Link para o post Compartilhar em outros sites
Hugo Slepicka 0 Denunciar post Postado Março 28, 2007 Ok! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
marcio.theis 3 Denunciar post Postado Março 29, 2007 Já precisei de algo como você precisa, criei uma function que faz esta busca: function TForm1.BuscaEntreTags(tagIni, tagFim: string; richEdit: TRichEdit): string;var posIni, posFim: integer; ret: string;beginret:='';//Verifica se existe as tagsif ((StrPos(PChar(richEdit.Text),PChar(tagIni)) <> nil) and (StrPos(PChar(richEdit.Text),PChar(tagFim)) <> nil)) then begin //Pega posição de inicio da tagIni e acrescenta mais o length dela posIni:=richEdit.FindText(tagIni,0,Length(richEdit.Text),[]) + Length(tagIni) + 1; //Pega posição de inicio da tagFim posFim:=richEdit.FindText(tagFim,0,Length(richEdit.Text),[]) + 1; if ((posIni >= 0) and (posFim > 0)) then ret:=copy(richEdit.Text,posIni,posFim - posIni); end;BuscaEntreTags:=ret;end; Para o seu exemplo pode chamar assim: retorno:=BuscaEntreTags('<titulo>','</titulo>',RichEdit1); Única coisa que muda é que é utiliza um RichEdit para armazenar o texto, e o mesm é passado na function, pois o RichEdit tem os comandos para buscar o texto e retornar posições.... Compartilhar este post Link para o post Compartilhar em outros sites