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 30-12-2005
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Restringir entrada a combobox

Hola,me gustaria restringir una entrada al combobox,es decir,que el usuario solo pueda introducir integer, y en el caso de introducir un caracter salte una excepcion diciendo que debe introducir un numero.Quisiera saber si existe un filtro en el combobox y como utilizarlo.Gracias
Responder Con Cita
  #2  
Antiguo 30-12-2005
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Podrías probar en el evento OnChange del Combobox algo así:

Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
var a : Integer;
begin
  try
    a := StrToInt(ComboBox1.Text);
  except
    ShowMessage('Solo caracteres númericos');
    Combobox1.Text := "";
  end
end;

Si lo quieres hacer más bonito el OnKeyPress puedes validar que el caracter introducido sea un número con
Código Delphi [-]
if key in ['0'..'9']
en caso contrario muestrale un error

Espero que te sirva

Saludos
Responder Con Cita
  #3  
Antiguo 30-12-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Una función curiosa que se ha referido aquí a veces es "TryStrToInt", la cual tratará de convertir un "string" en un "integer", devolviendo "true" si puede hacerlo y "false" en caso contrario.

Tal vez quepa añadir que tanto "TryStrToInt" como "StrToInt" no funcionarán si el número/cadena que trata de convertirse supera al propio tipo "integer". Tal vez esto sea de perogrullo... qué sé yo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 30-12-2005
Avatar de Albano
Albano Albano is offline
Miembro
 
Registrado: oct 2004
Ubicación: Nogales, Sonora, Mexico
Posts: 422
Poder: 20
Albano Va por buen camino
on key press

Yo creo que la mejor opcion de las mencionadas anteriormente para lo que quieres es la de on key press, porque al momento de presionar la tecla te verifica que sea numerica y es ahi donde te mostraria el mensaje de error...
Código Delphi [-]
if not(key in['0'..'9', #8]) then
ahi muestras tu mensaje de error y le das abort, para que no se escriba la tecla... lo de #8 lo pones si quieres que puedan borrar con el backspace.
Responder Con Cita
  #5  
Antiguo 31-12-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
Cita:
Empezado por Albano
Yo creo que la mejor opcion de las mencionadas anteriormente para lo que quieres es la de on key press
...Solo que no se valida si usa copiar y pegar dentro del combo.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 31-12-2005
pepecharlie67 pepecharlie67 is offline
Miembro
 
Registrado: nov 2005
Posts: 48
Poder: 0
pepecharlie67 Va por buen camino
Muchas gracias.Al final utilice la opcion de OnKeyPress, y con respecto a ...Solo que no se valida si usa copiar y pegar dentro del combo. en mi caso, me lo hace bien.De todas maneras muchas gracias a todos.FELIZ AÑO!
Responder Con Cita
  #7  
Antiguo 31-12-2005
Delfino Delfino is offline
Miembro
 
Registrado: jul 2003
Ubicación: Madrid
Posts: 974
Poder: 21
Delfino Va por buen camino
Cita:
"TryStrToInt" como "StrToInt" no funcionarán si el número/cadena que trata de convertirse supera al propio tipo "integer"
Para eso estan las funciones del mismo nombre con sufijo 64; TryStrToInt64 y StrToInt64..
__________________
¿Microsoft? No, gracias..
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 22:31:18.


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