Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 20-11-2007
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Asignar máscara y valor por defecto en un Field

Hola,

Tengo un campo dónde guardo la hora (con el formato 00:00). Ahora mismo edito este campo des de un grid (concretamente un TwwDBGrid) y tengo cómo máscara (mask) de la columna #[#]:#[#].

Lo que quiero es conservar esta máscara (que funciona bien) pero que por defecto los minutos te salgan a :00 pero que el usuario pueda cambiarlos.
He probado con #[#]:00 pero lo que hace es poner 00 en los minutos pero no deja poner ningún valor más. Esto es en las propiedades del campo del grid. He visto que en el TstringField también hay la propiedad EditMask pero tampoco se cómo hacer lo que he dicho anteriormente. He probado de poner en DefaultExpression ':00' pero no hace nada.

Agradecería mucho cualquier ayuda.

Gracias.
Responder Con Cita
  #2  
Antiguo 20-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, no se si has probado con esto, en el campo persistente hay una propiedad que se llama DisplayFormat ahi le pones la mascara de la siguiente forma:

Código Delphi [-]
hh:mm AM/PM // hora y minutos en formato de 12 horas
hh:mm // hora y minutos en formato 24 horas
hh:mm:ss AM/PM // hora, minutos y segundos en formato de 12 horas
hh:mm:ss // hora, minutos y segundos en formato de 24 horas

Espero que te ayude.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #3  
Antiguo 20-11-2007
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Ya tengo dado el formato, el problema es el valor por defecto.

El formato ahora mismo ya me funciona bien. El problema que tengo es que no sé cómo conservar el formato y a la vez que me salgan los minutos a 0 por defecto (__:00) pero que el usuario puede modificarlos (si en la mascaro pongo el 00 me sale fijo, sin opción a modificar los valores.


Por cierto, gracias enecumene por el interés, de todos modos en el campo no me sale la propiedad DisplayFormat pero igualmente cómo he dicho no veo dónde poner un valor por defecto que se pueda modificar.
Responder Con Cita
  #4  
Antiguo 20-11-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
Hola, por cierto donde estas aplicando la mascara? en la columna del dbgrid, en un maskedit o dentro de la base de datos?

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #5  
Antiguo 20-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
No sé que tipo de tablas estás utilizando, pero puedes mirar el evento OnNewRecord y hacer:

MiTablaCampo.Value:=Time - Time;

De esta manera aparecerá el campo con dicho valor.

Recuerda que la máscara 00 obliga a escribir ambos números, por ejemplo para escribir las siete de la mañana no sirve 7:00, habrá que escribir 07:00

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 20-11-2007
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Gracias marcoszorrilla, con lo del .value más o menos lo he solucionado.
Ahora hago MiTablaCampo.Value:= ':00' y por defecto sale esto.

El único problema es que ahora tienen que utilizar el ratón para seleccionar la posición, ya que si empiezan a teclear la hora se borra todo. De todas formas de momento lo dejaré así si el cliente no dice nada.

Por cierto, ¿para que sirve el campo DefaultExpression del Field?
Responder Con Cita
  #7  
Antiguo 20-11-2007
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
DefaultExpression, es el valor por defecto que va a tener el campo, pero sería importante que digas que motor y tablas utilizas para ver como utilizar dicha propiedad del campo en este caso concreto.


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #8  
Antiguo 21-11-2007
Minotaure Minotaure is offline
Miembro
 
Registrado: ene 2006
Ubicación: Sabadell (Catalunya)
Posts: 29
Poder: 0
Minotaure Va por buen camino
Cita:
Empezado por marcoszorrilla Ver Mensaje
DefaultExpression, es el valor por defecto que va a tener el campo, pero sería importante que digas que motor y tablas utilizas para ver como utilizar dicha propiedad del campo en este caso concreto.


Un Saludo.
La motor base de datos que utilizo es Firebird 1.5, mi versión de Delphi es la 6 y los componentes que utilizo para acceder a datos son los FreeIB Components, en este caso concreto el FIBTableSet.

Muchas gracias por el interés mostrado en mi problema.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Como asignar action:=caFree por defecto para todo formulario? Cheerpipe OOP 8 14-05-2007 20:34:13
Asignar un Generator Field en tiempo de diseño JoanKa Varios 0 19-05-2006 16:56:51
Valor por defecto en DBLookUpComboBox Durbed OOP 1 08-07-2005 19:05:54
Valor por defecto en OnNewRecord RyAr Conexión con bases de datos 4 22-06-2004 10:49:32
Valor por defecto en un dbgrid NuncaMas Conexión con bases de datos 3 28-01-2004 20:31:19


La franja horaria es GMT +2. Ahora son las 07:38:39.


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