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 04-04-2006
Avatar de MadeInBsAs
MadeInBsAs MadeInBsAs is offline
Miembro
 
Registrado: dic 2005
Ubicación: Bs As, Argentina.
Posts: 34
Poder: 0
MadeInBsAs Va por buen camino
Como se si un campo es numerico?

Digamos que quiero hacer un calculadora, de manera que le "doy" al usuario un componente del tipo TEdit para que ingrese un numero y luego lo imprimo
por pantalla el resultado a travez de un Label, si?
Como hago para saber o evitar que el usaurio me ingrese una letra en lugar de un numero?
Es que todo funcionaba barbaro, hasta que mi sobrina de 5 añitos metio sus deditos y me mostro algo que no habia previsto. Erroneo ingreso de datos
__________________
"Dime que presumes, y te dire de que careces"
Responder Con Cita
  #2  
Antiguo 04-04-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
hola! a ver si te ayudo..en el evento OnKeyPress del edit pones:
Código Delphi [-]
    If not (Key IN ['0'..'9',#8]) then
             Key := #0;  // no es ninguno de esos caracteres lo borra

espero te sirva..sino tambien podrias usar una mascara.

saludos y exitoss

LA PATRIA SERA LIBRE!
Responder Con Cita
  #3  
Antiguo 04-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Por lo visto Reina se me adelanto, bueno entonces te dejo otra cosa que puede serte util.

Aqui tienes una forma de comprobar si el texto introducido en el edit se puede convertir en un numero, de esta forma si alguien introduce letras puedes darte cuenta y avisar del error o tomar las medidas que consideres oportunas.

Código Delphi [-]
var
  R: Real;
  E: Integer;
begin
  Val(edit1.Text, R, E);
  if E = 0 then
  begin
    // El texto se puede convertir a numero
    // y tenemos su valor almacenado en R
  end
  else
  begin
    // El texto no se puede convertir en un numero
    // avisamos del error o lo que sea.
  end;
end;

Ten en cuenta que aunque impidas que alguien introduzca letras siempre puede haber algun simpatico que te pegue un texto desde el portapapeles.

Última edición por seoane fecha: 04-04-2006 a las 20:56:30.
Responder Con Cita
  #4  
Antiguo 02-09-2007
ManiacPC ManiacPC is offline
Miembro
 
Registrado: jul 2007
Ubicación: Chile
Posts: 14
Poder: 0
ManiacPC Va por buen camino
Validacion en tiempo real

Este codigo es de saiyine,
en la cadena CAD eliges lo que pondrás, (en el ejemplo es para un edit hexadecimal)
En tu caso sería

Código Delphi [-]
cad:='0123456789';

Me parece bastante util en tiempo real, pones el procedimiento en OnChange y evitas los pillos pegados y validaciones posteriores.


Código Delphi [-]
procedure TForm1.FiltroEdit(Sender: TObject);
var
i : integer;
aux,aux2,cad : string;
begin
        cad:='0123456789abcdefABCDEF';   // Solo se admiten estos caracteres
        aux2:='';
        with (Sender as TEdit) do
        begin
                aux:=text;
                for i:=1 to length(aux) do
                if pos(aux[i],cad)>0 then aux2:=aux2+aux[i];
                text:=aux2;
                SelStart:=length(aux2);
        end;
end;

Saludos
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
Cómo Redondear a 4 decimales un campo de tipo Numérico vick Conexión con bases de datos 1 11-10-2005 01:04:23
Relacion campo numérico vs campo string JorgeBec Varios 1 11-04-2005 18:26:51
Como formatear un DBEdit, para un campo numérico Roger_Fernandez Conexión con bases de datos 3 25-10-2004 08:22:43
como puedeo incrementa un campo auto numerico simon Conexión con bases de datos 1 01-06-2004 20:55:12
Como Validar un campo numerico? Ricsato Varios 10 19-11-2003 17:31:05


La franja horaria es GMT +2. Ahora son las 19:14:57.


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