Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Boa tarde pessoal,

Estou fazendo alguns relatórios gerenciais no sistema seguindo o exemplo DemoDanfeEscPos para impressão de relatórios diversos via serial! Gostaria de saber se tem como alinhar dois textos, um a esquerda e outro a direta, na mesma linha.. Assim como é feito no Danfe da NFC-e onde tem o CNPJ da empresa alinhado à esquerda e a IE alinhado à direita..

Tentei utilizar

Add('<ae>CNPJ.: ' + CNPJ + '</ae><ad>IE.: ' + IE + '</ad>');

Ele até faz o alinhamento, porém, ficam em linhas separadas! Há como fazer na mesma linha?

  • Fundadores
Postado

No EscPos, o comando de alinhamento só funciona se for o primeiro comando da linha...

Use o PadSpace() ,exemplo:

Add(PadSpace('#|COD|DESC|QTD|UN|VL UN R$|(VLTR R$)*|VL ITEM R$', FPosPrinter.ColunasFonteCondensada, '|'));

No comando acima... O PadSpace irá inserir espaços no meio da String, sempre que encontrar o "|" para que a linha tenha o tamanho total de "ColunasFonteCondensada"...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Criei uma função semelhante que adiciona espaços e que resolveu meu problema

function CompletaString(texto, Caractere: string; Tamanho: Integer): string;
begin
  Result := Copy(texto, 1, Tamanho) + Repl(Caractere, (Tamanho - Length(texto)));
end;

E uso da seguinte forma

Add(CompletaString(cdsGerencialFPFORMA.AsString, '.', 30) + ': ' + FormatFloat('R$ #0.00', cdsGerencialFPVALOR.AsFloat));

o resultado seria:

(Exemplo)

Dinheiro......................: R$ 10,00

Cartão........................: R$ 5,00

  • 3 anos depois...
Postado
Em 16/10/2015 at 18:53, FSoftware disse:

Está dando erro em Repl, como posso reslver?

 

Criei uma função semelhante que adiciona espaços e que resolveu meu problema


function CompletaString(texto, Caractere: string; Tamanho: Integer): string;
begin
  Result := Copy(texto, 1, Tamanho) + Repl(Caractere, (Tamanho - Length(texto)));
end;

E uso da seguinte forma


Add(CompletaString(cdsGerencialFPFORMA.AsString, '.', 30) + ': ' + FormatFloat('R$ #0.00', cdsGerencialFPVALOR.AsFloat));

o resultado seria:

(Exemplo)

Dinheiro......................: R$ 10,00

Cartão........................: R$ 5,00

 

  • 5 anos depois...
  • Moderadores
Postado
14 horas atrás, [email protected] disse:

como foi resolvido substitui pelo copy?

estou com o mesmo problema delphi não reconhece, Repl

Repl(Caractere, (Tamanho - Length(texto)

Essa função não é nativa do Delphi.

Use StringOfChar().

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...