FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
||||
|
||||
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! |
#3
|
||||
|
||||
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. |
#4
|
|||
|
|||
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 |
#5
|
|||
|
|||
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. |
|
|
|