Membros Pro FSoftware Posted October 16, 2015 Membros Pro Posted October 16, 2015 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 Daniel Simoes Posted October 16, 2015 Fundadores Posted October 16, 2015 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"... Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976.
Membros Pro FSoftware Posted October 16, 2015 Author Membros Pro Posted October 16, 2015 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
Alessandro Assis Posted July 4, 2019 Posted July 4, 2019 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
[email protected] Posted May 3 Posted May 3 Em 04/07/2019 at 09:10, Alessandro Assis disse: como foi resolvido substitui pelo copy? estou com o mesmo problema delphi não reconhece, Repl Repl(Caractere, (Tamanho - Length(texto)
Moderadores BigWings Posted May 4 Moderadores Posted May 4 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(). BigWingsAjude o Projeto ACBr crescer - Assine o SAC
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now