Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
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.

  • Membros Pro
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...
The popup will be closed in 10 segundos...