Página 1 de 1

eliminar caracteres especiais

Enviado: 04 Jul 2017 09:05
por dbdc5554
BOm dia

alguêm teria uma função para trocar caracteres INVÁLIDOS na NFE e nfe-Consumidor ?
Minha rotina troca alguns caracteres inválidos pelo correto

letraori := "µÖàé ‚¡¢£Ç奯䤷…¶Òâ×ꃈŒ“–€‡/=|¦§õïüûý"
letrades := "AEIOUaeiouAONaonAaAEOIUaeiouCc 3 12"

+ esta aparecendo MUITOS caracteres inválidos NOVOS rs.


ate pensei em apos fazer isso verificar em um vetor de caracteres validos se esta la caso contrario trocar por espaço

+ ta complicado

desde ja agradeço

PAiva

eliminar caracteres especiais

Enviado: 04 Jul 2017 11:15
por Jairo Maia
Na verdade é que o leiaute da NF-e e NFC-e é em UTF8. Então ao fazer a leitura ocorre esse problema. Você pode ao carregar o XML, usar a função Hb_UTF8ToStr( cXML ), então pode usar sua função normalmente.

eliminar caracteres especiais

Enviado: 04 Jul 2017 13:46
por dbdc5554
Jairo, Obrigado pela atenção

Não entendi sua resposta ou não me expliquei direito.

os cliente cadastram produtos tipo:

M³ ou usam caracteres como ¹ ³ ↓ ² § ç ☻ ┬ etc

queria uma função que trocasse os caracteres inválidos por um VALIDO

tipo: M³ ficaria M3
se for muito difícil trocasse os inválidos por ESPAÇO

PAiva

eliminar caracteres especiais

Enviado: 07 Jul 2017 14:46
por rochinha
Amiguinhos,

dbdc5554
Duas dicas:

- Primeira monte uma tabela de medidas(no SEFAZ-downloads você encontra a lista) e coloque para que o usuário ESCOLHA ao invés de digitar para não te atrapalhar.
- Segunda monte um while que leia a string contendo o seu conteúdo. Leia caractere por caractere, critique se o mesmo faz parte do a..z, A..Z, 0..9, se fizer grave numa nova string e vá montando a nova string. Use-a.

Ao invés de separar a sujeira do arroz, você estará separando o arroz(bom) da sujeira. Já que a sujeira nem sempre mostra o caractere para você montar a string de limpeza.