Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-10-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Valor maximo de un campo

Buenas a todos.

Tengo una pequeña duda a ver si alguien me puede encender una bombilla que me alumbre.

En una tabla Firebird 1.5, tengo 35 campos numericos cuyo valor debe estar comprendido entre 0 y 5 ambos inclusive.

En el MinValue he puesto valor 0 y en el MaxValue 5, con lo que si introduzco un valor distinto a este rango me lanza un aviso de Firebird advirtiendome del error de valores.

Este comportamiento para mi es correcto aunque el mensaje que sale esta en ingles y me gustaria poder verlo en la lengua de Cervantes, es posible?

Tambien me gustaria que al dar Ok al error, se borrara el valor erroneo y mandara el foco al edit en cuestion para volver a teclear el valor.

Otra opcion que se me ocurre es esta:

Código Delphi [-]
 
procedure TF_ModulDades.PuntuacionsPV11Change(Sender: TField);
begin
        If PuntuacionsPV11.Value > 5 then
        begin
                ShowMessage ('El valor tiene que ser igual o menor que 5');
                PuntuacionsPV11.Clear;
                PuntuacionsPV11.FocusControl;
        end;
end;

Es esto correcto o alguien tiene alguna sugerencia?

Tambien podria poner una excepcion?, si es asi como la manejaria?

Gracias a todos y saludos

Josep
Responder Con Cita
  #2  
Antiguo 25-10-2013
Avatar de defcon1_es
defcon1_es defcon1_es is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuenca - España
Posts: 533
Poder: 21
defcon1_es Va por buen camino
Hola.
Yo lo que haría es prevenir que puedan teclear en el edit un valor distinto a los permitidos:

Código Delphi [-]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if not(Key in ['0'..'5', #8])
  then Key := #0;
end;

Y te puedes olvidar de capturar excepciones y traducirlas...
__________________
Progress Openedge
https://abevoelker.com/progress_open...dered_harmful/


Delphi forever...

Última edición por defcon1_es fecha: 25-10-2013 a las 18:09:17.
Responder Con Cita
  #3  
Antiguo 25-10-2013
Avatar de jafera
jafera jafera is offline
Miembro
 
Registrado: may 2007
Ubicación: Llagostera (Girona)
Posts: 582
Poder: 17
jafera Va por buen camino
Gracias Defcon1_es.

Efectivamente si no pulso un valor entre 0 y 5 no lo admite y ya esta, pero no me limpia el edit y me manda el foco allá mismo para que lo introduzca de nuevo, supongo que le debo dar valor 0 al campo o limpiarlo y mandar un focuscontrol.

Sigo con los progresos

Saludos

Josep
Responder Con Cita
  #4  
Antiguo 25-10-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si quieres que le dé el foco:
Código Delphi [-]
PuntuacionsPV11.SetFocus;

Aunque yo lo haría todo en la BD, tanto el control del valor como la excepción.
Responder Con Cita
  #5  
Antiguo 25-10-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Josep.
Cita:
...pero no me limpia el edit y me manda el foco allá mismo para que lo introduzca de nuevo...
Por ahí estoy entendiendo mal la situación, pero según ese código, si presionas otro carácter que los contemplados no se pierde el foco por que no se sale del Edit. Y tampoco hay que introducir nuevamente, ya que directamente no permite el ingreso de caracteres fuera del rango establecido.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Valor Maximo de un campo en un ttable johurgi Varios 1 16-04-2008 17:16:07
valor maximo del autoincrement anubis Tablas planas 2 16-07-2007 07:04:32
consultar el maximo valor beatriz g SQL 4 16-08-2006 17:35:53
Valor máximo de varias columnas jsf48 SQL 3 10-05-2004 00:49:37
consulta con Valor maximo isc_hilda SQL 3 29-04-2004 22:17:20


La franja horaria es GMT +2. Ahora son las 06:10:24.


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