Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   rango de numeros (https://www.clubdelphi.com/foros/showthread.php?t=74416)

rogercito 17-06-2011 18:49:23

rango de numeros
 
hola , tengo que introducir numeros en un edit , una vez que sepa que son numeros , esos numeros tiene que estar en un rango de 5000000 y 50000000 millones , cmo lo debo hacer
gracias

AndyLupa 17-06-2011 18:52:49

Val
 
La funcion Val te permite ver si son numericos

Ej;

var
code,yy:integer;
begin

Val(Edit,code,yy);
if code=0 then
//Es numerico y validas el rango
else
//No es numerico

:-)

rogercito 17-06-2011 18:57:11

gracias por responder ... yo tengo este codigo :

procedure TForm1.edit10keypress(Sender: TObject; var Key: Char);
begin
if (key <#48) or (key >#57) then
if key<>#8 then
begin
beep;
showmessage('Solo Puede Ingresar Números');
key:=#0;
end;
end;

ahora necesito establecer un rango de numeros , cmo lo hago no entiendo gracias

Casimiro Notevi 17-06-2011 19:17:22

Por favor, recordad usar las etiquetas para el código:





.

rogercito 17-06-2011 23:59:44

no puedo encontra la solucion , agradesco toda respuesta

rogercito 18-06-2011 00:01:31

para ser mas especifico mi rango de nuemros que incerto tiene que estar entre 5000000 millones y 50millones porque es para el documento gracias

oscarac 18-06-2011 00:09:59

quieres ingresar un numero...
ese numero es para multilpicar? o es nu Numero de documento ?

rogercito 18-06-2011 00:13:31

yo ingreso los numeros en el edit , una vez validados que sean numeros ( eso ya lo consegui ) , necesito que tambien esos numeros que yo ingreso esten en un rango de 5000000 millones y 500000000 millones...si estan en ese rango que los tome y si no que slte un eerror para que vuelva a ingresar los datos
gracias

Casimiro Notevi 18-06-2011 00:23:02

Como son números muy grandes, quizás sea más cómodo comprobar que el primer dígito es un 5 o menos de 5 y que la longitud del texto introducido corresponde con la longitud del número que hay que introducir.

rogercito 18-06-2011 00:24:46

si lo pense pero no se como hacerlo, estoy perdido , soy nuevo y me cuesta
gracias

Casimiro Notevi 18-06-2011 00:46:35

¿Y qué sabes hacer?, ¿qué llevas hecho?, ¿no tienes nada de código?, ¿te hacemos el trabajo? ;)

rogercito 18-06-2011 00:53:47

ya realize la validacion para permitir que ingrese numeros , con el siguiente codigo :
procedure TForm1.edit2keypress(Sender: TObject; var Key: Char);

begin
if (key <#48) or (key >#57) then
if key<>#8 then

begin
beep;
showmessage('Solo Puede Ingresar Números');
key:=#0;
end;
end;


ahora me falta validar para que esos numeros que yo ingreso este correctois si estan en un rango entre 10 y 100 por Ej

oscarac 18-06-2011 00:57:08

pues puedes usar el ONEXIT
y pregnutar si es numero ingresado es mayor que los 5000000 y menor que los 50000000 o el rango que quieras

Casimiro Notevi 18-06-2011 01:02:00

Cita:

Empezado por rogercito (Mensaje 404157)
ya realize la validacion para permitir que ingrese numeros , con el siguiente codigo :
procedure TForm1.edit2keypress(Sender: TObject; var Key: Char);

begin
if (key <#48) or (key >#57) then
if key<>#8 then

begin
beep;
showmessage('Solo Puede Ingresar Números');
key:=#0;
end;
end;


ahora me falta validar para que esos numeros que yo ingreso este correctois si estan en un rango entre 10 y 100 por Ej


Pues es lo mismo que cuando empezamos, ¿no has hecho nada nuevo desde entonces?
Por cierto, te recomiendo que leas nuestra guía de estilo.
Y vuelvo a recordarte que pongas etiquetas al código, ejemplo:




.

Caro 18-06-2011 16:40:35

Hola rogercito, como te han indicado puedes utilizar el evento OnExit de tu Edit y hacer la verificación ahí:

Código Delphi [-]
procedure .......Edit1Exit(Sender: TObject);
var
 valor: Real;
begin
 valor := StrToCurr(Edit1.Text);
 if Not ((valor>=5000000) and (valor<= 500000000)) then
  begin
   //Si no esta en el rango, no dejamos que salga del Edit
   Edit1.SetFocus;
   Edit1.SelStart := Length(Edit1.Text);
   Edit1.SelLength := 0;
  end;
end;

Ahora si tu rango es de 10-100 como lo ultimo que has dicho, lo manejas como Integer.

Saluditos


La franja horaria es GMT +2. Ahora son las 22:28: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