none
ARQUIVO TXT RRS feed

  • Pergunta

  • Boa noite pessoal,

    Preciso desenvolver um programa que lê ma tabela no banco SQL Server e gere um arquivo txt co várias informações, ou seja, 

    EX:

    1Garibaldo1963sao pauloSP

    2Garibaldo1963progrmador

    ou seja, dentro desse arquivo eu tenho vários registros com tamanhos iguais, porém tipos de registros diferentes. Uma linha do arquivo pode conter muitas informações. Eu encontrei na internet vários exemplos, porém, sempre criando um texto e não várias informações.

    Alguém teria algum exemplo que pudesse me ceder para que eu desenvolva o meu projeto?

    Desde já agradeço;

    Garibaldo 

    quinta-feira, 19 de janeiro de 2017 01:51

Respostas

  • Olá GaribaldoGuerreiro

    Você pode gerar o seu arquivo da seguinte forma

                string nomeArquivo = "C:/Temp/Arquivo.txt";
    
                if (!System.IO.File.Exists(nomeArquivo))
                {
                    System.IO.File.Create(nomeArquivo).Close();
                }
    
                System.IO.TextWriter arquivo = System.IO.File.AppendText(nomeArquivo);
                
                arquivo.WriteLine("1;Garibaldo;1963;sao paulo;SP");
                arquivo.WriteLine("2;Garibaldo;1963;progrmador");
    
                arquivo.Close();
    Adicionei o limitado ';' isso irá te ajudar quando for utilizar este arquivo!


    Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.


    Daniel Ribeiro Arrais
    Consultor Sênior
    Site: www.danielarrais.com.br
    Linkedin: http://www.linkedin.com/in/danielarrais
    E-mail: arraishapkido@gmail.com
    Skype: dani.arrais

    quinta-feira, 19 de janeiro de 2017 10:20

Todas as Respostas

  • Olá Garibaldo,
    Pelo que entendi, seu problema é em padronizar isso,certo?
    Se for, recomendo você dar uma lida sobre o padrão csv(comma-separeted value-separando por virgulas cada dado e pulando linha a cada registro).No seu exemplo ficaria:

    1,Garibaldo,1963,sao paulo,SP

    2,Garibaldo,1963,progrmador

    Agora se você quer ter as descrições das informações(os campos),uma outra opção seria gravar esse registro em XML:
    <cadastro>
    <pessoa>
    <id>1</id>
    <nome>Garibaldo</nome>
    <estado>RJ</estado>
    <profissao>programador</profissao>
    </pessoa>

    <pessoa>
    <id>2</id>
    <nome>Jose</nome>
    <estado>SP</estado>
    <profissao></profissao>
    </pessoa>
    </cadastro>

    Certo?
    []'s

    --

    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta! 



    quinta-feira, 19 de janeiro de 2017 02:42
  • Boa noite Rodrigo

    Não seria um xml. Eu preciso de um arquivo txt,ou seja, cada registro em uma linha.

    só que cada registro contém várias informações

    quinta-feira, 19 de janeiro de 2017 02:58
  • Oi Garibaldo,
    Mas qual a dificuldade em sí?Formatar?
    Você pode usar ainda um csv(separado por virgula) com dois pontos entre os campo e o valor:

    [campo]:valor, [campo2]:valor;campo3:valor
    Ex:
    nome:Garibaldo,profissao:Programador,Estado:SP
    nome:Garibaldo,profissao:,Estado:SP
    ou

    Ex:
    nome:Garibaldo,profissao:Programador,Estado:SP
    nome:Garibaldo,Estado:SP

    Na hora de ler, vc mandar fazer o string.split por virgula.AI voce vai ter a quantidade de dados na linha.
    Ai com outro string.split(pelos 2 pontos) , você recupera o campo informado e o valor.

    []'s
    --
    Se a resposta for relevante ou tenha resolvido seu problema, marque como útil/resposta

    quinta-feira, 19 de janeiro de 2017 10:09
  • Olá GaribaldoGuerreiro

    Você pode gerar o seu arquivo da seguinte forma

                string nomeArquivo = "C:/Temp/Arquivo.txt";
    
                if (!System.IO.File.Exists(nomeArquivo))
                {
                    System.IO.File.Create(nomeArquivo).Close();
                }
    
                System.IO.TextWriter arquivo = System.IO.File.AppendText(nomeArquivo);
                
                arquivo.WriteLine("1;Garibaldo;1963;sao paulo;SP");
                arquivo.WriteLine("2;Garibaldo;1963;progrmador");
    
                arquivo.Close();
    Adicionei o limitado ';' isso irá te ajudar quando for utilizar este arquivo!


    Se ajudei Vote como Útil, se resolvi seu problema clique em Marcar como Resposta.


    Daniel Ribeiro Arrais
    Consultor Sênior
    Site: www.danielarrais.com.br
    Linkedin: http://www.linkedin.com/in/danielarrais
    E-mail: arraishapkido@gmail.com
    Skype: dani.arrais

    quinta-feira, 19 de janeiro de 2017 10:20