PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Dúvida Alinhamento a Esquerda Campo E1_NUM
Versão:
11.8
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO 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

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO 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

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário AFREIRE AFREIRE em 11/06/2018, 08:23 h
Local: SP  Registro: 06/07/2016  Postagens: 19
troque o padl por alltrim()

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário EMERSON.EN 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

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO 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!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO 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!

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário VRTN 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

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário ZERO 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

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal