Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-11-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
como crear una mascara personalizada

Hoola a todos
Estoy desarrollando un sistema donde el código de un documento está conformado con una estructura de esta forma: A-2005-0000000-0 y lo muestro por un editmask. Mi consulta es la siguiente:
Quisiera hacer una máscara conformada por 16 caracteres que queden de esta forma

B-2005-0000000-0

Donde el primer caracter empezando por la izq es una( letra - año - número - versión)

Y donde el Usuario empiece a escribir en el número reemplazando ceros por un valor de derecha a izquierda de esta forma:

B-2005-0000000-0
B-2005-0000001-0
B-2005-0000011-0
B-2005-0000115-0

Saludos a Todos y Muchas Gracias por la ayuda
Responder Con Cita
  #2  
Antiguo 15-11-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Poder: 24
vtdeleon Va por buen camino
Saludos

Estas en la seccion de Impresion: Que reporteador utilizas?
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!
Responder Con Cita
  #3  
Antiguo 15-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Al estar este mensaje en el foro de impresión, me deja un poco groki.

En principio, te recomiendo crear 2 rutinas:


pasando la letra, el año y numero, te devuelve en Codigo el texto de 16 caracteres
EncodeCode(var Codigo; letra:char; año:integer; Numero:integer;
version:String);


Pasando la tira de 16 caracteres, devuelve la letra, año y número.
DecodeCode(const Codigo;var letra:char;var año:integer;var
Numero:integer;var Version:integer);

De esta forma, puedes decodificar y codificar facilmente.

Un maskEdit tiene el problema de que puede meter como año el 0000 y lo toma como válido; teniendo esas 2 rutinas, puedes incluso ponerle el año automáticamente.

Rellenar de derecha a izquierda, es un problema que no le veo solución con el maskEdit.

Si explicas más a fondo qué vas a hacer con esa tira de caracteres, si los números son consecutivos o no, si estas usando bases de datos y cual es, etc, quizás podamos orientarte mejor.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 15-11-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Unhappy solo en un formulario

HOla no estoy haciendo un reporte me pasé a la parte de impresión porque no me contesta nadie solo quiero mostrar eso en un maskedit y que me vaya rellenando los números en el orden comentado anteriormente porque el cod del documento de mi aplicación está compuesto por 16 caracteres. y los caracteres que no se rellenan por el usuario tienen que cargarse con ceros.

Te agredezco la ayuda.
Saludos
Responder Con Cita
  #5  
Antiguo 15-11-2005
fidel fidel is offline
Miembro
 
Registrado: mar 2005
Posts: 381
Poder: 20
fidel Va por buen camino
Hola:

Pon cuatro edits, uno para cada sección controlando en cada uno la entrada de solo letras o solo números según corresponda.

Después rellenas la tercera sección con ceros delante para el número hasta los 7 dígitos que parece que debe llevar
edit3.text := RighStr ( '0000000' + edit3.text, 7 );

y después juntas los 4 metiendo entre ellos el guión
CodigoFinal := edt1.text + '-' + edt2.text + '-' + edt3.text + '-' + edt4.text

Un saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:09:25.


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
Copyright 1996-2007 Club Delphi