LER ARQUIVO TEXTO.PROBLEMA COM VIRGULA.
Saudações,
Estou lendo um arquivo txt com o seguinte código.
Arq = FreeFile 'Identifica arquivo
Open pathArq For Input As #Arq 'Abre arquivo de Entrada
Do While Not EOF(Arq)
Input #Arq, linha
Loop
Close #Arq
So que nas linhas onde tem virgula ele considera como termino de linha.
Ex:
AAA0000MARCELO SOARES DE MENEZES AV. BARTOLOMEU MITRE 166, 4
Ele pega somente até a virgula
AAA0000MARCELO SOARES DE MENEZES AV. BARTOLOMEU MITRE 166
E considera o caracter 4 como outra linha.
Alguém sabe como resolver isso??
Estou lendo um arquivo txt com o seguinte código.
Arq = FreeFile 'Identifica arquivo
Open pathArq For Input As #Arq 'Abre arquivo de Entrada
Do While Not EOF(Arq)
Input #Arq, linha
Loop
Close #Arq
So que nas linhas onde tem virgula ele considera como termino de linha.
Ex:
AAA0000MARCELO SOARES DE MENEZES AV. BARTOLOMEU MITRE 166, 4
Ele pega somente até a virgula
AAA0000MARCELO SOARES DE MENEZES AV. BARTOLOMEU MITRE 166
E considera o caracter 4 como outra linha.
Alguém sabe como resolver isso??
Essa tua dúvida acabou me resolvendo um problema que postei neste forum mesmo.
"Impressão direta caso da virgula"
Eu pensava que era na impressão que o programa imprimia errado.
Nem reparei que na verdade era na leitura.
Pra resolver teu caso primeiro pode tentar com LINE INPUT
Se o arquivo tem tamanho fixo por registro, pode comparar com o tamanho do registro, se não for igual, quer dizer que leu uma virgula então adiciona a virgula e concatena com o próxima linha a ser lida.
Outra possibilidade é ler byte a byte, e ir concatenando numa string
daà leria também o CFLF teria então que interpreta-lo como sendo final de linha
Eu mesmo vou ter que testar todas essas alternativas
exatamente para resolver o problema que falei
e pelo que me lembro tem uma outra parte do meu programa que leio o texto com virgulas, não me lembro que alternativa utilizei naquele caso, pelo que me lembro também tinha encontrado o problema da virgula lá
Esse problema acontece por herança do DOS
no DOS o comando INPUT lia variáveis separadas por virgula Ex.
Input a, b, c
esperaria tres entradas do teclado e colocaria cada uma delas numa variável
"Impressão direta caso da virgula"
Eu pensava que era na impressão que o programa imprimia errado.
Nem reparei que na verdade era na leitura.
Pra resolver teu caso primeiro pode tentar com LINE INPUT
Se o arquivo tem tamanho fixo por registro, pode comparar com o tamanho do registro, se não for igual, quer dizer que leu uma virgula então adiciona a virgula e concatena com o próxima linha a ser lida.
Outra possibilidade é ler byte a byte, e ir concatenando numa string
daà leria também o CFLF teria então que interpreta-lo como sendo final de linha
Eu mesmo vou ter que testar todas essas alternativas
exatamente para resolver o problema que falei
e pelo que me lembro tem uma outra parte do meu programa que leio o texto com virgulas, não me lembro que alternativa utilizei naquele caso, pelo que me lembro também tinha encontrado o problema da virgula lá
Esse problema acontece por herança do DOS
no DOS o comando INPUT lia variáveis separadas por virgula Ex.
Input a, b, c
esperaria tres entradas do teclado e colocaria cada uma delas numa variável
Tópico encerrado , respostas não são mais permitidas