Quantcast
Channel: Relatórios – André Alves de Lima
Viewing all articles
Browse latest Browse all 61

Dica rápida: Numerando páginas frente e verso no Crystal Reports

$
0
0

Hoje eu recebi uma dúvida de um inscrito sobre numeração de páginas frente e verso no Crystal Reports. Ao invés de simplesmente respondê-lo, resolvi escrever um post rápido detalhando a solução.

Veja a questão (editada para fins de publicação):

André bom dia,

Estou fazendo um relatório em Crystal Reports e o cliente quer que os números de páginas saiam da seguinte forma: “Pag. 1″ e a próxima “Pag. 1 verso” e assim sucessivamente, pois ele vai imprimir o relatório em frente e verso, creio eu que um loop no crystal resolveria isto, mas não tenho muita intimidade com o Crystal e não sei como fazer este loop, se fosse no desenvolvimento eu faria tranquilamente.

Se puder me ajudar te agradecerei muito

Claro que eu posso ajudar. A maneira como eu pensei em solucionar essa questão foi utilizando uma simples fórmula. Com a página atual real (função “PageNumber” no Crystal Reports), podemos detectar se estamos em uma página ímpar (páginas “frente“) ou em uma página par (páginas “verso“). Dependendo do resultado se a página for par ou ímpar, utilizamos “Pag. X” ou “Pag. X verso“. Veja a tabela abaixo:

Note que a fórmula para descobrir o número final da página é diferente dependendo da página ser par ou ímpar. Para páginas ímpares (páginas “frente“), utilizamos a fórmula: (“Página Real” + 1) / 2. Para páginas pares (páginas “verso“), utilizamos a fórmula: “Página Real” / 2.

Na linguagem de fórmulas do Crystal Reports, para descobrirmos se um número é ímpar, basta utilizarmos o operador “mod” de 2. Esse operador retorna o resto da divisão de um número pelo outro (nesse caso o número “dois“). No caso do resto da divisão ser “1“, o número é ímpar. Caso contrário (resto zero), o número é par. Aí basta aplicar a fórmula para calcular o número final conforme vimos na tabela:

// Página ímpar
if (PageNumber mod 2) = 1 then
    "Página " + CStr((PageNumber + 1) / 2, 0)
// Página par
else
    "Página " + CStr(PageNumber / 2, 0) + " verso"

E com isso temos o resultado esperado. Na página 1, temos “Página 1″. Na página 2, temos “Página 1 verso”. E aí por diante.

É isso aí. Espero que essa dica ajude outras pessoas também. Como você pode perceber, eu costumo dar bastante atenção para os meus inscritos. Caso você também queira ficar por dentro das novidades do meu site, além de receber dicas que eu só compartilho por e-mail, assine a minha newsletter agora mesmo através desse link ou utilizando o formulário abaixo.

Até a próxima!

André Lima

Newsletter do André Lima

* indicates required



Powered by MailChimp

The post Dica rápida: Numerando páginas frente e verso no Crystal Reports appeared first on André Alves de Lima.


Viewing all articles
Browse latest Browse all 61

Trending Articles


Girasoles para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Tagalog Quotes About Crush – Tagalog Love Quotes


OFW quotes : Pinoy Tagalog Quotes


Long Distance Relationship Tagalog Love Quotes


Tagalog Quotes To Move on and More Love Love Love Quotes


5 Tagalog Relationship Rules


Best Crush Tagalog Quotes And Sayings 2017


Re:Mutton Pies (lleechef)


FORECLOSURE OF REAL ESTATE MORTGAGE


Sapos para colorear


tagalog love Quotes – Tiwala Quotes


Break up Quotes Tagalog Love Quote – Broken Hearted Quotes Tagalog


Patama Quotes : Tagalog Inspirational Quotes


Pamatay na Banat and Mga Patama Love Quotes


Tagalog Long Distance Relationship Love Quotes


BARKADA TAGALOG QUOTES


“BAHAY KUBO HUGOT”


Vimeo 10.7.0 by Vimeo.com, Inc.


Vimeo 10.7.1 by Vimeo.com, Inc.