Ir para conteúdo
Fórum Script Brasil
  • 0

Formatar String - Ajuda (Resolvido)


Tbaiano

Pergunta

Estou trabalhando com Boleto Bancário, Doc etc...

A empresa para qual estou trabalhando faz a impressão de seus doc num serviço tercerizado. E atraves do programa organizo a linhas que serão impressas po essa empresa. O fato é que não consigo organizar essas linha para que fiquem uma embaixo da outra.

Exemplo:

.

.

.

Var Valor1, Valor2, Valor3, Valor4 : String;

//essas Strings recebem valores com os devidos Campos assim.

Valor1 := 'CONDOMÍNIO = R$' + IBVlCondomínio;

Valor2 := 'BOX = R$' + IBVlBox;

beleza. mas essa parte está tranquilo... Agora que não fica legal...

Faço uma rotina para que Valor1 e Valor3 Fiquem com Tamanho 39 OK!! Assim:

while Length(Valor1)< 39 do

Begin

Valor1 := Valor1 + ' ';

End;

while Length(Valor3) < 39 do

Begin

Valor3 := Valor3 + ' ';

End;

e depois :

Table1LIN001 := Valor1 + Valor2;

Table2LIN002 := Valor3 + Valor4;

Na minha lógica Valor 1 e 3 sempre teão o mesmo tamanho e Valor 2 e 4 serão inseridos sempre na mesma posição o que não acontece.

Então na hora de Imprimir o Valor 4 teria que estar na mesma posição do Valor 2 o que não acontece....

Se alguém puer me ajudar.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Olá TBaiano,

tenta fazer isso:

Adiciona mas duas variaveis tam1, tam2 : string;

ae em vez disso:

while Length(Valor1)< 39 do

Begin

Valor1 := Valor1 + ' ';

End;

while Length(Valor3) < 39 do

Begin

Valor3 := Valor3 + ' ';

End;

faz isso:

tam2 := '                                       ';//tam. 39 letras
tam1 := IntToStr(39-length(valor1));
tam2 := Copy(Tam2,1,StrToInt(Tam1));
Insert(valor1,tam2,1);
valor1 := tam2;

tam2 := '                                       ';//tam. 39 letras
tam1 := IntToStr(39-length(valor3));
tam2 := Copy(Tam2,1,StrToInt(Tam1));
Insert(valor3,tam2,1);
valor3 := tam2;

ae sim depois:

Table1LIN001 := Valor1 + Valor2;

Table2LIN002 := Valor3 + Valor4;

Abs. Progr'amador.

Link para o comentário
Compartilhar em outros sites

  • 0

O código em si ficou melhor sem fazer repetições mas o problema continua, fica no doc, a quastaão do alinhamento.

Exemplo:

CONDOMÍNIO = R$ 10,20@@@@@@@@ DMAE = R$ 87,74

GAS = R$ 67,15@@@@@@@@@TARIFA = R$ 10,20

F. RESERVA = R$ 300,00@@@@@@ BOX = R$ 110,00

@@ são espaços em Branco a pagina apaga espaços em branco

Ou seja o Length da parte Sublinhada é 39 só que o problema ocorre que a letra 'C' é 1 caracter mas ' ' tb ocupa 1 caracter e é bem menor. E consequentemente 5 'CCCCC' são maior q 5 ' '.Acho que é por isso que ocorre esse problema.

O que você Acham? Será que tem uma maneira de resolvar isso.

Eu teria q fazer de uma forma q.

CONDOMÍNIO = R$ 10,20 @@@@@@@@DMAE = R$ 87,74

GAS = R$ 67,15@ @@@@@@@@@@@@TARIFA = R$ 10,20

F. RESERVA = R$ 300,00@@@@@@@@@BOX = R$ 110,00

Obrigado Tbaiano

Link para o comentário
Compartilhar em outros sites

  • 0

Não eu estou gravando isso Num Banco de dados, FireBird varChar (78), imprimo tb.

Mas mesmo com a Fonte um espaço em branco sempre sera do mesmo tamanho.

Estou vendo outras formas de gravar talvez, inicializando as variaveis já com 39 e nove espaços vou ver e qualquer coisa aviso. Se tiver mais dicas agradeço.

valeu pela ajuda. Tbaiano. huh.gif

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...