|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
Dúvida Alinhamento a Esquerda Campo E1_NUM |
|
Versão: |
11.8 |
|
Plataforma: |
Microsoft |
Complemento: |
|
|
DB: |
SQL Server |
Complemento: |
|
|
|
|
|
Mensagem do
ZERO
em 10/06/2018, 22:28 h
Local: RJ Registro: 09/02/2015 Postagens: 235 |
Pessoal uma dúvida relativamente boba creio eu.
Estou imprimindo alguns campos em um relatório PDF, porém estou tendo problemas com o campo E1_num, na questão do alinhamento dos campos.
O engraçado é que em outro campo consigo alinhar sem problemas os valores.
Possuímos títulos com numeros como 00150A, 00150B, 0011648, 001215, 00387, 020, a questão então é simples, alinhar o campo a direita
Num Titulo
00150A
00150B
0011648
001215
00387
020
Após realizar a Query que busca os dados, os resultados são armazenados em um array, depois percorro o Array imprimindo os dados, basicamente:
oPrinter := FWMSPrinter():New( cArq, IMP_PDF, lAdjustToLegacy, cLocal, lDisableSetup, lTReport , , , , , .F. , .T. , )
For nX :=1 To Len(aArray)
cTitulo := aArray[nXT][01] // Numero do Titulo
dVencTit := aPDF[nXT][02]
nDiasDiff := DateDiffDay( dVencTit , date() ) // Dias de Atraso do Titulo
oPrinter:Say( nLinha, 20, padl( cTitulo ,9,"") ) // Titulo
oPrinter:Say( nLinha, 80, padl( cvaltochar(nDiasDiff),4,"") ) // Dias de atraso
Next nX
cFilePrint := cLocal
File2Printer( cFilePrint, "PDF" )
oPrinter:cPathPDF:= cLocal
oPrinter:Preview()
MsgAlert("Relatorio Gerado com Sucesso! ")
Já tentei de várias maneiras formatar cTitulo mas sempre fica assim:
00150A
00150B
0011648
001215
00387
020
já o numero de dias fica correto:
105
88
79
125
...
Alguém sabe o q posso estar errando? já até usei o comando ValType e cTitulo é do tipo C, então não vejo o porque de não seguir a formatação desejada..
Obrigado |
|
|
Mensagem do
ZERO
em 10/06/2018, 22:29 h
Local: RJ Registro: 09/02/2015 Postagens: 235 |
Peço perdão, escrevi no título do post alinhamento a esquerda, mas era a direita |
|
|
Mensagem do
AFREIRE
em 11/06/2018, 08:23 h
Local: SP Registro: 06/07/2016 Postagens: 19 |
troque o padl por alltrim() |
|
|
Mensagem do
EMERSON.EN
em 11/06/2018, 08:28 h
Local: SP Registro: 20/08/2010 Postagens: 670 |
acrescente alltrim()
oPrinter:Say( nLinha, 20, padl( alltrim(cTitulo),9,"") ) // Titulo
|
|
|
Mensagem do
ZERO
em 11/06/2018, 08:39 h
Local: RJ Registro: 09/02/2015 Postagens: 235 |
@!#$% !!! esqueci dos espaços que já vem no campo, valeu AFREIRE
fiz
cTitulo := alltrim(aArray[nXT][01])
e depois
oPrinter:Say( nLinha, 20, padl( cTitulo ,9,"") ) // Titulo
Funcionou de boa.
Valeu! |
|
|
Mensagem do
ZERO
em 11/06/2018, 08:49 h
Local: RJ Registro: 09/02/2015 Postagens: 235 |
Valeu EMERSON.EN
Serviria do seu jeito tb :)
Obrigado! |
|
|
Mensagem do
VRTN
em 11/06/2018, 09:39 h
Local: MG Registro: 09/11/2009 Postagens: 191 |
Bom dia!
A Classe FWMsPrinter possui o método SayAlign que permite o alinhamento tanto horizontal, quanto vertical, e permite alinhar à esquerda, direita, centralizar ou até justificar.
Everton Alves |
|
|
Mensagem do
ZERO
em 04/07/2018, 10:58 h
Local: RJ Registro: 09/02/2015 Postagens: 235 |
@VRTN, não conhecia esse método.
engraçado eu nunca ter visto ele lá na documentação O.o
Na próxima vou testar isso, valeu! |
|
Para postar no Fórum você precisa efetuar o seu login ou se registrar
|
|