Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Mascara 00000000001 en fastreport (https://www.clubdelphi.com/foros/showthread.php?t=61729)

hecospina 19-11-2008 22:06:12

Mascara 00000000001 en fastreport
 
Buenas tardes amigos del foro

Utilizo FastReport 4

Requiero hacer esto, tengo el campo NoFactura que es de tipo entero
Hasta el momento se viene imprimiento sin ningun tipo de problemas, si la factura es la 2500 se imprime dicho numero

Ahora mi cliente necesita que el numero sea de 12 caracteres y si no los contiene sea completado con ceros

Por ejemplo el numero 2500 deberia quedar 000000002500

Como puedo hacerlo ? :(

Gracias por dedicar tiempo a leer este mensaje

droguerman 19-11-2008 23:44:12

Usa el evento OnBeforePrint del control y cambia la propiedad memo.text del control usando la función format, algo así (no tengo fastreport a la mano asi que me puedo equivocar en la sintaxis)

Código Delphi [-]
control.memo.text := format('%.12d', [   < dataset."numero" >   ]);

si no funciona eso crear una función que concatene ceros hasta que el valor tenga una longitud de 12 (era la forma que usaba yo)

saludos

TOPX 20-11-2008 15:30:05

Buenas,

Yo tampoco tengo FR a la mano en el momento, pero recuerdo que el componente Text tiene la propiedad DisplayFormat, puede probar poniendo el %.12d que le indicó droguerman allí.

Si de pronto no es compatible, podría hacer que la consulta Sql le devuelva el dato formateado; por ejemplo, si es MsSql podría usar la función Replicate().

hecospina 20-11-2008 17:04:20

Solucionado
 
Gracias Droguerman y Topx
Ya lo solucione con la idea que me dio Droguerman
Hay dos formas

1. Al hacer clic derecho en el memo aparece la opcion formato de visualizacion, alli se marca Número y en formato se coloca #000000000000

2. Dentro del memo donde bajo el campo quedaria asi [<ibxquery1."numero"> #n #00000000000]

La cantidad de ceros es el numero de caracteres que se desea visualizar

Me imagino que desde el inspector de objetos se puede hacer tambien

Muchas gracias por su colaboracion :D


La franja horaria es GMT +2. Ahora son las 05:04:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi