FSoftware Postado 16 Outubro, 2015 Postado 16 Outubro, 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 Postado 16 Outubro, 2015 Fundadores Postado 16 Outubro, 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.
FSoftware Postado 16 Outubro, 2015 Autor Postado 16 Outubro, 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 Postado 4 Julho, 2019 Postado 4 Julho, 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] Postado 3 Maio Postado 3 Maio 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 Postado 4 Maio Moderadores Postado 4 Maio 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
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora