Fórum Como faço para copiar elementos do TreeView #10231

22/10/2009

0

Boa tarde!   Carreguei um arquivo XML no TreeView, como faço para copiar os elementos de uma determinada raiz ou todas para  Edit.text.   a minha intenção e copiar para o banco de dados.   Obrigado.   Henrique 11 67253401
Henrique Rocha

Henrique Rocha

Responder

Posts

23/10/2009

Rodrigo Mourão

Olá Henrique,

Se você conseguiu ler um XML e colocar numa TreeView então ja fez a pior parte. Porque ao inves de querer pegar o conteudo da treeview para colocar no EDit na hora que vc ler o XML ja não colocar o conteudo no Edit.


Acho que fica mais fácil, não acha ???


Mude seua rotina, ao inves de colocar na treeview leia direto para o Edit !!!

Abs!!1


Responder

Gostei + 0

26/10/2009

Rodrigo Mourão

Olá Amigo, Podemos ajudar em algo mais ????

Att,


Responder

Gostei + 0

26/10/2009

Henrique Rocha

Bom dia!   Rodrigo,   Embora eu consegui ler o xml esse xml tem algo diferente, pois não consegui ler ele diretamente para os edit, pois por exemplo posso ter até 99 contratos nesse xml, então eu preciso somente de um determinado contrato, gostaria de fazer o seguinte:   Quero selecionar um no raiz e o sub-nó filho ou seja os elementos desse nó filho copiar para os edits pois quando eu selecionar ainda tenho que fazer cálculo com alguns desses campos.   poderia mandar um exemplo de como eu copio o que esta selecionado  no TreeView para esses campos?     Obrigado.   Henrique.
Responder

Gostei + 0

27/10/2009

Rodrigo Mourão

Hum, entendi.

Bem vc poderia fazer o seguinte. Criar um arquivo xtr que e um arquivo que transforma um XML em um DataPackt para poder colocar num ClientDataSet. Tem dois artigos artigos que foram publicados um de XML Mapper e um de minha autoria que mostra como criar um xtr para colocar o retorno de um webService em um CDS.

Acho que os dois vao te ajudar.


https://www.devmedia.com.br/articles/viewcomp.asp?comp=14380 ;   
(Observe a parte onde uso o XML Mapper para gerar o XTR.)

https://www.devmedia.com.br/articles/viewcomp.asp?comp=12988 ;
https://www.devmedia.com.br/articles/viewcomp.asp?comp=11138

Caso não tenha acesso ao artigos nos avise para liberarmos o acesso.

Att,
Responder

Gostei + 0

27/10/2009

Henrique Rocha

Boa tarde!     no artigo https://www.devmedia.com.br/articles/viewcomp.asp?comp=11138   tem um exemplo:   procedure TForm1.TreeView1Click(Sender: TObject); var   NoAtivo : TTreeNode; begin   if AnsiContainsText(TreeView1.Selected.Text,'codigo') then   begin     NoAtivo := TreeView1.Selected;     Produto := Estoque.Produto[NoAtivo.Parent.IndexOf(NoAtivo)];     with Produto do     begin       edtCodigo.Text := IntToStr(Codigo);       edtNome.Text := Nome;       edtQuantidade.Text := IntToStr(Quantidade);       edtPreco.Text := CurrToStr(Preco);     end;   end   else   begin     Produto := nil;     edtCodigo.Clear;     edtNome.Clear;     edtQuantidade.Clear;     edtPreco.Clear;   end;   btnAtualizar.Enabled := Assigned(Produto); end;     Neste exemplo ele usa Inteface para se referenciar aos elementos no Nó Selecionado,   no meu caso estou usando os elementos do TreeView já carregados, mas não consigo. por exemplo:        Pessoa  <--  primeiro Nó         + Cadastro             ID  = 1             nome = henrique           +   Parcelas  <--  segundo nó        esse que eu Selecionei                    NU_parcela =  2                    Vencimento = '2009-10-10'                     Valor    = 200.20                  Digamos que eu selecionei o nó Parcelas                 como eu copio os  valores para os edit, seguindo o exemplço acima?                      Edit1.text:= ???                    Edit2.text:= ???                    Edit3.text:= ???   Amigo me ajuda.   Obrigado.   Henrique                                                      
Responder

Gostei + 0

28/10/2009

Rodrigo Mourão

Henrique vc leu o artigo sobre o XML Mapper ???

O que eu escrevi onde que carrego um XML para unm ClientDataSet ???  É a maneira mais facil e mais coesa para seu problema. Mas enfim se vc insiste em pegar da treeview então me mande oque vc tem pronto que vejo como posso lhe ajudar.

Mande pelo disco virtual !!!


Att,


Responder

Gostei + 0

28/10/2009

Henrique Rocha

  Boa dia!   Bem Rodrigo, li o artigo e não consegui fazer mesmo seguindo o exemplo, desculpe!, mas quero fazer de modo mais coerente possivel, por isso peço novamente sua ajuda para isso, estou mandando um exemplo que consegui fazer usando seu artigo, pode ver se você consegue carregar os dados no DBgrid, o XML esta em um campo Memo na aplicação.   a  aplicação esta em :   C:\XML Mapper\   Mandei o arquivo .RAR no Central do Autor.   XML Mapper.rar     Obrigado.   Henrique
Responder

Gostei + 0

29/10/2009

Rodrigo Mourão

Olá HEnrique,

Mande o link eu nao tenho acesso ao disco virtual.

Veja co,o publicar aqui:  https://www.devmedia.com.br/imagens/videos/4/Video%20disco%20virtual.htm

Att,


Responder

Gostei + 0

29/10/2009

Henrique Rocha

  Bom dia!   segue link...   http://video.devmedia.com.br/discovirtual/18998/XML%20Mapper.rar   Obrigado.
Responder

Gostei + 0

03/11/2009

Rodrigo Mourão

Olá Henrique.

Eu baixei seu exemplo e tem um detalhe no sue XML. ELe não é um xml comum, ele é um pacote de resposta SOAP. O que chamamos de Envelope.

Sendo assim o arquivo xtr que é gerado não mapeia corretamente o XML fazendo com que os dados não sejam carragados no CDS. Agora é estranho ele ser retornado pelo XML, mas enfim isso tem que ser verificado junto a empresa que disponibliza o serviço.

Para resolver eu tive que editar o XML e tirar o cabeçalho do soap:Envelop mas foi um trabalho manual que fica inviável quando pensamos no sistema como um todo.

Mas para você poder ver funcionando estou te mandando o link com o exemplo funcionando que fiz com o XML que eu editei. Você poderá comparar com o seu XML.

Verifique a documentação do WebService para se certificar que não haja um outro metodo que retorno o XML sem o cabeçalho SOAP, até por que como eu falei, este tipo de retorno não é comum.

No mais estou a disposição !!

Att,


Responder

Gostei + 0

03/11/2009

Rodrigo Mourão

Só faltou o link

video.devmedia.com.br/RodrigoCarreiro/Consultoria/XML_Mapper.rar

Sorry !!!!

Responder

Gostei + 0

03/11/2009

Henrique Rocha

Obrigado.

Não consigo dar o Feedback, a pagina esta dando erro.

erro:    Erro no formulário de feedback.


 






Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar