Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   validar que las cajas de texto solo acepten valores enteros y decimales (https://www.clubdelphi.com/foros/showthread.php?t=76975)

dimer18 10-12-2011 01:42:23

validar que las cajas de texto solo acepten valores enteros y decimales
 
hola q tal soy nuevo en el club delphi, bueno toy haciendo una aplicacion para realizar el metodo de gauss seidel en delphi, y bueno yo kiero ingresar valores a una matriz cuando doy clik en un button que se guarde en mi matriz lo que este en la caja de texto , pero kiero validar por medio de un codigo al dar click en el button que solo acepten valores enteros y decimales...... les agradezco por la ayuda que me puedan brindar...

Caral 10-12-2011 01:57:21

Hola
Me parece que anda por el envento onkeypress del edit.
Aunque este tema se ha visto muchas veces y es cuestion de darle una buscadita.
Yo me encontre esto:
Código Delphi [-]
if StrScan ('1234567890', Key)=nil then
Por ahi andan los tiros.
Saludos

Casimiro Notevi 10-12-2011 10:19:23

Cita:

Empezado por dimer18 (Mensaje 420867)
hola q tal soy nuevo en el club delphi, bueno toy haciendo una aplicacion para realizar el metodo de gauss seidel en delphi, y bueno yo kiero ingresar valores a una matriz cuando doy clik en un button que se guarde en mi matriz lo que este en la caja de texto , pero kiero validar por medio de un codigo al dar click en el button que solo acepten valores enteros y decimales...... les agradezco por la ayuda que me puedan brindar...

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración.


ecfisa 10-12-2011 17:04:11

Hola dimer18.

Para que acepte sólo números enteros (0-9):
Código Delphi [-]
procedure SoloNumeros(Hnd: THandle);
begin
  SetWindowLong(Hnd, GWL_STYLE, GetWindowLong(Handle, GWL_STYLE) or ES_NUMBER);
end;
...
begin
  SoluNumeros(Edit1.Handle);
end;

Para que acepte números decimales usá este código en el evento OnKeyPress:
Código Delphi [-]
procedure TForm.EditKeyPress(Sender: TObject; var Key: Char);
begin
  if not (Key in [#8,',',' ','0'..'9']) then  //quitando: #8 y ',' sirve para numeros enteros
  begin
    MessageBeep(MB_ICONERROR);
    Key:=#0;
  end;
end;

Si querés ampliar la verificación contemplando que pudieran pegar contenido desde el portapapeles, agrega este código al evento OnExit:
Código Delphi [-]
procedure TForm.EditExit(Sender: TObject);
var
  v: Double;
begin
  if not TryStrToFloat((Sender as TEdit).Text, v) then
  begin
    MessageBeep(MB_ICONERROR);
    (Sender as TEdit).SetFocus;
  end;
end;

Saludos.

Caral 10-12-2011 19:41:43

Hola
Osea: Tarea cumplida.:D:D:D
Saludos Amigo ecfisa:)

ecfisa 10-12-2011 19:49:46

Cita:

Empezado por Caral (Mensaje 420883)
Hola
Osea: Tarea cumplida.:D:D:D
Saludos Amigo ecfisa:)

No puedo con mi genio :(, siempre me traiciona... :D:D:D

Un abrazo y espero que estes disfrutando esas merecidas vacaciones. ;):)

Caral 10-12-2011 19:54:46

Hola
Que va amigo, me queda una semana de trabajo todavía.
Pero gracias por tus sentimientos.
Saludos
Pd: No creas, aveces estar en casa no es nada descansado (pinta aquí, corta el césped, arregla el tubo, lava los coches si esta aburrido ):D:D:D;)
Estoy casado amigo, recuerda lo :D:D:D.

microbiano 11-12-2011 04:47:34

Jajajajaja Creo Que Solo Los Que Estamos Casados Entendemos Amigos Caral Que Vacaciones En Casa No Son Vacaciones Jejjeje.

Casimiro Notevi 11-12-2011 11:30:17

¿Vacaciones y casado, en casa?, no son vacaciones. Seguro.

dimer18 11-12-2011 12:59:56

les agradezco por su colaboracion..... Por cierto una preguntita mas.. en mi aplicacion cuando la ejecuto una vez me calcula el resutado de las incognitas pero para calcular otra ecuacion tengo que cerrer el programa y volverlo a ejecutar... hay alguna forma de que mi aplicacion se reinicie sin tener que cerrarlo....

ecfisa 11-12-2011 18:55:12

Hola dimer18.

Por favor poné tu nueva pregunta en un nuevo hilo. (Guía de estilo, punto ocho )

Saludos y gracias por tu colaboración :)

PepeLolo 12-12-2011 01:58:30

Cita:

Empezado por dimer18 (Mensaje 420867)
hola q tal soy nuevo en el club delphi, bueno toy haciendo una aplicacion para realizar el metodo de gauss seidel en delphi, y bueno yo kiero ingresar valores a una matriz cuando doy clik en un button que se guarde en mi matriz lo que este en la caja de texto , pero kiero validar por medio de un codigo al dar click en el button que solo acepten valores enteros y decimales...... les agradezco por la ayuda que me puedan brindar...

Usa un componente TMaskEdit, en la propiedad "MaskEdit", puedes especificar la mascara que necesitas, de modo que solo acepte los valores que requieres. :D


La franja horaria es GMT +2. Ahora son las 19:42:26.

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