Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3855 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado
Olá pessoal.
 
Utilizo componente ACBR com Delphi 2010.
 
Estou fazendo a importação de um XML de NFe e estou tendo problemas com vários caracteres que estão aparecendo em vários campos, como: Razão Social, endereço e etc.
 
Veja um exemplo:
 
Razão Social: UNIÃO VALÉRIO COMERCIAL LTDA-ME
 
Quando o componente ACBrNFe é carregado com o XML, pego a informação da razão social da seguinte forma:
 
For n:=0 to ACBrNFe1.NotasFiscais.Count-1 Do
With ACBrNFe1.NotasFiscais.Items[n].NFe Do
TreeView1.Items.AddChild(Nota,'RAZÃO SOCIAL = ' + AnsiUpperCase(UTF8Encode(Dest.xNome)));
 
Também já tentei assim:
 
For n:=0 to ACBrNFe1.NotasFiscais.Count-1 Do
With ACBrNFe1.NotasFiscais.Items[n].NFe Do
TreeView1.Items.AddChild(Nota,'RAZÃO SOCIAL = ' + UTF8Encode(AnsiUpperCase(Dest.xNome)));
 
Também já tentei assim:
 
For n:=0 to ACBrNFe1.NotasFiscais.Count-1 Do
With ACBrNFe1.NotasFiscais.Items[n].NFe Do
TreeView1.Items.AddChild(Nota,'RAZÃO SOCIAL = ' + UTF8Encode(Dest.xNome));
 
Qualquer forma que é feito a leitura deste campo, sempre vai aparecer no TreeView da seguinte forma:
 
UNIÃO VALÉRIO COMERCIAL LTDA-ME
 
 Fiz um teste jogando o conteúdo do campo numa variável String e AnsiString e a razão social já vem com aqueles caracteres.
 
Ex.:
 
var
teste: AnsiString;
teste1: String;
 
teste := Dest.xNome

teste1 := Dest.xNome

 

Seja lá qual for a maneira que obtenho o conteúdo do campo, ele sempre vem com esses caracteres.
 
Qual é o segredo para que estes caracteres não apareçam?
 
Obrigado,
 
Rogério.

 

  • Membros Pro
Postado

Juliomar,

 

Infelizmente não funcionou!

 

Na verdade, o Delphi nem compila. Erro:

 

Too many actual parameters

 

Entendo que seja pq a propriedade LoadFromFile do ACBR não possui mais de um parâmetro.

 

Tem outra sugestão?

 

Obrigado,

 

Rogério.

 

 

 

  • Membros Pro
Postado

Juliomar,

 

Matou à pau!!!

 

Fiz a alteração na linha 518 do ACBrNFeNotasFiscais.pas e ficou assim:

 

ArquivoXML.LoadFromFile(CaminhoArquivo,TEncoding.UTF8);

 

Agora o XML é carregado perfeitamente.

 

Obrigado,

 

Rogério.

  • 10 meses depois ...
  • 2 meses depois ...
Postado (editado)

Tente alterar o .LoadFromFile(FileName,TEncoding.UTF8);

quem sabe resolve

 

Tente alterar o .LoadFromFile(FileName,TEncoding.UTF8);

quem sabe resolve

Bom dia, tudo bem?

 

vi este post hoje que é do ano passado e estou com uma dificuldade, gostaria de saber se pode me ajudar.

 

um cliente me pediu para colocar no sistema um módulo para abri o xml do fornecedor e pegar os produtos e lançar no cadastro tipo:

 

Código,Produto,Cfop etc , até ai tudo bem utilizei o componente Acbr e ja consigo visualizar e gravar o que preciso, o problema é que

 

o nome dos produtos vem com caracteres estranhos quando tem acentos, já utilizei a função TirarAcentos e moveu porem ficou faltando letras.

Fiz também  assim:    ACBrNFe1.NotasFiscais.LoadFromFile(UTF8Encode(OpenDialog1.FileName)); 

 

continua a mesma coisa, e aqui você postou para utilizar  = TEncoding.UTF8  -

 

ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName,TEncoding.UTF8);   dá um erro ao compilar:  [Error] Unit1.pas(100): Undeclared identifier: 'TEncoding'

 

tem que declarar algo na Uses ou é uma função?   Utilizo o Delphi 7 ,  Obrigado.

Editado por sandrovillas
  • Este tópico foi criado há 3855 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.