Usuário com melhor resposta
Criar Arquivo TXT

Pergunta
-
Olá pessoal Boa Noite!!!
Preciso criar um arquivo txt nesse formato abaixo, alguém pode dar uma ideia de como fazer isso.
A|3.10|NFe| B|35||VDA.MERC.SUJ.REG. ST|1|55|1|32132|2017-03-16T09:50:31-02:00|2017-03-16T09:50:31-02:00|1|1|3549805|1|1||2|1|1|3|3|3.10 C|EMPRESA TESTE|EMPRESA TESTE FANTASIA |648358798141||||1 C02|03131230000144 C05|RUA SAO PAULO|2038||VILA MACENO|3549805|SAO JOSE DO RIO PRETO|SP|15060035|1058|BRASIL|32024323 E|CONSTROESTE CONST. PARTICIPACOES LT|1|647050393117||| E02|06291846001429 E05|ROD.ASSIS CHATEAUBRIAND|2,5||JD.YOLANDA|3549805|SAO JOSE DO RIO PRETO|SP|15061500|1058|BRASIL|21362200 H|1| I|7898474351994||LIMPA VIDRO MUNDIAL 5 LT|34021900||5405|UN|3.0000|22.00|66.00||UN|3.0000|22.00|0.00|0.00|0.00|0.00|1 I05c|1111111| M|22.99 N| N10g|0|500|0.00|0.00| O|||||999 O07|50|0.00 O10|0.00|0.00 Q| Q05|99|0.00| Q07|0.00|0.00| S| S05|99|0.00| S07|0.00|0.00| W W02|0.00|0.00|0.00|0.00|0.00|66.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|0.00|66.00|22.99 X|9 X03|O MESMO|||SAO JOSE DO RIO PRETO|SP X26|1|Diversos |Diversas||15.000|16.200 Y| Y07|032132-01|2017-04-13|66.00 Z||n pedido 264624 N PEDIDO 264624 - DOCUMENTO EMITIDO POR ME OU EPP OPTANTE PELO SIMPLES NACIONAL; NAO GERA DIREITO A CREDITO FISCAL DE IPI e ISS.
Como faz para aparecer as letras e essas barrinhas entre os dados???
Tentei assim mais não funciona,
Dim SW As New StreamWriter("C:\Users\PabloAdmin\Desktop\MeuArquivoDeTexto.txt") ' Cria o arquivo de texto SW.WriteLine() SW.WriteLine(Me.txtcliente) ' Grava o texto no arquivo SW.WriteLine() SW.WriteLine(Me.txtcpfcliente) ' Grava o texto no arquivo SW.WriteLine() SW.WriteLine(Me.txtdata) ' Grava o texto no arquivo SW.WriteLine() SW.Close() 'Fecha o arquivo de texto SW.Dispose() 'Libera a memória utilizada
o resultado desse codigo,
System.Windows.Forms.TextBox, Text: MARCOS DA SILVA System.Windows.Forms.MaskedTextBox, Text: 295.650.788-13 System.Windows.Forms.TextBox, Text: 20/04/2017
Alguem sabe como resolver isso???
Desde já agradeço, muito obrigado.
PabloSousa
Respostas
-
Olá,
No seu cenário, você terá de montar o layout do seu arquivo txt concatenando o pipe "|". Veja:
'Cria o arquivo Dim sw As New StreamWriter("E:\ExemploArquivo.txt") 'Cria a instancia do StringBuilder Dim sb As New StringBuilder 'Bloco A sb.Append("A|") sb.Append("3.10|") sb.Append("NFe|") sw.WriteLine(sb.ToString()) sb.Clear() 'Limpa o StringBuilder 'Bloco C sb.Append("C|") sb.Append(Me.txtcliente.Text & "|") sb.Append(Me.txtcpfcliente.Text & "|") sw.WriteLine(sb.ToString()) sb.Clear() 'Limpa o StringBuilder 'Fecha o arquivo sw.Close() sw.Dispose()
Veja o bloco C. Basta você concatenar o resultado de sua variável com o pipe.
Uma outra forma, é você utilizar o String.Format. Assim, você poderá deixar o layout do arquivo definido e apenas introduzir as variáveis. Veja o exemplo abaixo para o bloco C:
Dim linhaArquivo As String linhaArquivo = String.Format("C|{0}|{1}|", Me.txtcliente.Text, Me.txtcpfcliente.Text) sw.WriteLine(linhaArquivo)
Espero ter ajudado!
Hudson Carvalho
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 24 de abril de 2017 12:20
-
Amigo,
Primeiro de tudo, o ideal seria você saber a especificação técnica de cada valor dentro desse seu arquivo, pois ele a primeira vista, parece confuso, mas tem significado para algum outro programa que vai ler, certo? :)
Eu aconselho você a montar linha por linha usando o StringBuilder, concatenando os valores, e gerando as informações que deseja, tudo de acordo com a especificação que eu havia citado acima.
Depois, usando o StreamWriter, voce vai montando as linhas do arquivo que serão geradas.
Como usar StreamWriter: https://msdn.microsoft.com/pt-br/library/system.io.streamwriter(v=vs.110).aspx
Como usar StringBuilder: https://msdn.microsoft.com/pt-br/library/system.text.stringbuilder(v=vs.110).aspxSe a resposta foi útil para você, não esquece de marca-la como útil, gerando assim pontuação.
- Sugerido como Resposta José Carvalheira sexta-feira, 21 de abril de 2017 16:03
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 24 de abril de 2017 12:20
Todas as Respostas
-
-
-
Olá,
No seu cenário, você terá de montar o layout do seu arquivo txt concatenando o pipe "|". Veja:
'Cria o arquivo Dim sw As New StreamWriter("E:\ExemploArquivo.txt") 'Cria a instancia do StringBuilder Dim sb As New StringBuilder 'Bloco A sb.Append("A|") sb.Append("3.10|") sb.Append("NFe|") sw.WriteLine(sb.ToString()) sb.Clear() 'Limpa o StringBuilder 'Bloco C sb.Append("C|") sb.Append(Me.txtcliente.Text & "|") sb.Append(Me.txtcpfcliente.Text & "|") sw.WriteLine(sb.ToString()) sb.Clear() 'Limpa o StringBuilder 'Fecha o arquivo sw.Close() sw.Dispose()
Veja o bloco C. Basta você concatenar o resultado de sua variável com o pipe.
Uma outra forma, é você utilizar o String.Format. Assim, você poderá deixar o layout do arquivo definido e apenas introduzir as variáveis. Veja o exemplo abaixo para o bloco C:
Dim linhaArquivo As String linhaArquivo = String.Format("C|{0}|{1}|", Me.txtcliente.Text, Me.txtcpfcliente.Text) sw.WriteLine(linhaArquivo)
Espero ter ajudado!
Hudson Carvalho
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 24 de abril de 2017 12:20
-
Amigo,
Primeiro de tudo, o ideal seria você saber a especificação técnica de cada valor dentro desse seu arquivo, pois ele a primeira vista, parece confuso, mas tem significado para algum outro programa que vai ler, certo? :)
Eu aconselho você a montar linha por linha usando o StringBuilder, concatenando os valores, e gerando as informações que deseja, tudo de acordo com a especificação que eu havia citado acima.
Depois, usando o StreamWriter, voce vai montando as linhas do arquivo que serão geradas.
Como usar StreamWriter: https://msdn.microsoft.com/pt-br/library/system.io.streamwriter(v=vs.110).aspx
Como usar StringBuilder: https://msdn.microsoft.com/pt-br/library/system.text.stringbuilder(v=vs.110).aspxSe a resposta foi útil para você, não esquece de marca-la como útil, gerando assim pontuação.
- Sugerido como Resposta José Carvalheira sexta-feira, 21 de abril de 2017 16:03
- Marcado como Resposta Robson William SilvaModerator segunda-feira, 24 de abril de 2017 12:20
-
-