none
Formatar String - Na ausencia da informação como preencher um campo em branco RRS feed

  • Pergunta

  • Boa tarde alguém poderia me ajudar nisso?

    4.2. Alfanumérico: na ausência de informação, os campos deverão ser preenchidos com brancos.

    • Denominação do Campo                 Conteúdo                   Tamanho          Posição           Formato 
      Razão Social                               Razão Social                     50                    45|94              x
    •                        do estabelecimento 

    Estou montando um registro TXT muito simples onde já tenho as informações que preciso e só passo elas para as novas variaveis string que criei, porém como coloquei acima como exemplo o TAMANHO é 50 e oque acontece, esse tamanho nao pode ficar gravado menos no TXT, quando eu pego o preencho com o nome da razão social e se ele for menor que 50 tenho que terminar de preencher com espaço em branco mais nao estou conseguindo fazer isto, o nome que eu trago ele preenche toda a varivel e não da o espaço.
    private void btnGerarRegistro_Click_1(object sender, EventArgs e)
            {
                string razaoSocial = new string(' ', 50);
                razaoSocial = InformacoesCliente.Nome;
    
                StreamWriter SWT_Arquivo;
                SWT_Arquivo = new StreamWriter("C:/Program Files (x86)/Registro do PAF-ECF/RegistrosPafEcf.txt");
                SWT_Arquivo.WriteLine(razaoSocial);
                SWT_Arquivo.Close();
                gerarEAD();
    
                MessageBox.Show("Arquivo Gerado em: C:/Program Files (x86)/Registro do PAF-ECF", "Informação", MessageBoxButtons.OK);
    
            }
    
    
    Vou mostrar como esta saindo a informação final na variavel
    
    razaoSocial = "Empório Cerrado Ltda"; esta gravando assim
    
    
    Vou mostrar como deveria sair
    
    razaoSocial = "          Empório Cerrado Ltda";

    Alguém poderia me ajudar como faço esse espaço?

    Agradeço.


    terça-feira, 4 de novembro de 2014 18:04

Respostas

  • Use a função PadLeft para preencher com espaços a esquerda. Exemplo:

                String razaoSocial = "Empório Cerrado Ltda";
                String string50 = razaoSocial.PadLeft(50);
    

    • Sugerido como Resposta Deric Ferreira terça-feira, 4 de novembro de 2014 18:37
    • Marcado como Resposta Sr.Prosperidade terça-feira, 4 de novembro de 2014 19:05
    terça-feira, 4 de novembro de 2014 18:14

Todas as Respostas

  • Use a função PadLeft para preencher com espaços a esquerda. Exemplo:

                String razaoSocial = "Empório Cerrado Ltda";
                String string50 = razaoSocial.PadLeft(50);
    

    • Sugerido como Resposta Deric Ferreira terça-feira, 4 de novembro de 2014 18:37
    • Marcado como Resposta Sr.Prosperidade terça-feira, 4 de novembro de 2014 19:05
    terça-feira, 4 de novembro de 2014 18:14
  • Entendi o que você quer fazer é de acordo com o seu leiaute limitado por tamanho 50, para isso você pode comparar o tamanho da string e a partir do tamanho fazer um loop com replace para preencher com "" (vazio).

    Veja exemplo que fiz com seu codigo:

    string razaoSocial = string.Empty;
               razaoSocial = InformacoesCliente.Nome;
    
               StreamWriter SWT_Arquivo;
               SWT_Arquivo = new StreamWriter("C:/Program Files (x86)/Registro do PAF-ECF/RegistrosPafEcf.txt");
               if (razaoSocial.Length <= 50)
               {
                  SWT_Arquivo.WriteLine(razaoSocial.PadLeft(50));
               }
               
               SWT_Arquivo.Close();
               gerarEAD();
    
               MessageBox.Show("Arquivo Gerado em: C:/Program Files (x86)/Registro do PAF-ECF", "Informação", MessageBoxButtons.OK);


    • Editado Mr. GMSOFT terça-feira, 4 de novembro de 2014 18:22
    • Sugerido como Resposta Mr. GMSOFT terça-feira, 4 de novembro de 2014 18:36
    terça-feira, 4 de novembro de 2014 18:20
  • O meu amigo Deric valeu cara, era oque eu precisava, estava desde ontem procurando uma forma pra isso, não sou muito experiente em programar, e to muito satisfeito com sua atenção e a do  Mr. GMSOFT , isso faz toda diferença para nós que somo inexperiente. Valeu
    terça-feira, 4 de novembro de 2014 19:00
  • Por nada,

    Marca a resposta que te ajudou
    terça-feira, 4 de novembro de 2014 19:01
  • O meu amigo, muito obrigado pela ajuda, eu optei pela forma do Deric porque vou adicionar mais 4 registros aqui, mais to muito satisfeito pela ajuda, isso faz toda diferença pra mim...

    Deus Abençõe.

    terça-feira, 4 de novembro de 2014 19:02
  • O meu amigo Deric valeu cara, era oque eu precisava, estava desde ontem procurando uma forma pra isso, não sou muito experiente em programar, e to muito satisfeito com sua atenção e a do  Mr. GMSOFT , isso faz toda diferença para nós que somo inexperiente. Valeu

    Que bom Sr.N, só não esqueça de marcar e votar por favor!

    Abs.,

    terça-feira, 4 de novembro de 2014 19:05
  • Sem problemas o importante é ajudar :)
    terça-feira, 4 de novembro de 2014 19:05
  • Eu sou novo no forum eu posso marcar as duas ou é só uma?
    terça-feira, 4 de novembro de 2014 19:07
  • Pode marcar todas que te levaram a obter a resposta para a sua solução
    terça-feira, 4 de novembro de 2014 19:22