Verificar si el valor introducido en un edit1.text es un numero o una cadena
el titulo es muy descriptivo, lo unico que deseo es poder saber si el valor introducido en un edit es un numero o una cadena y en base a ello realizar cierta acción, ¿hay alguna funcion como isnumeric(); isstring(); ó algo parecido que me ayude a saber si es un texto o o numero.
Gracias por la ayuda que puedan darme. |
Fíjate en el procedimiento Val:
S es la cadena que quieres probar, por ejemplo Edit1.Text. Val intenta convertir S en un número y lo coloca en V. Si S no representa un número entonces Code será distinto de cero e indicará el prmer carcater de S que no es número. // Saludos |
disculpa mi ignorancia, pero no me queda muy claro. Este procedimiento ya existe en delphi como funcion o algo asi?, yo lo genero?, val que codigo tiene ò como es que intenta convertir S en numero, en fin creo que no lo supe interpretar bien.
gracias |
Cita:
Se podría implementar una función isnumber usando Val, por ejemplo:
// Saludos |
En delphi 6 tienes la funcion trystrtoint(cadena:string; valor:integer):Boolean
Este otro metodo lo propongo yo para validar cadenas. Lo que hace es eliminar los caracteres que no pertenece al ConjuntoValido
Si validas caracteres sería algo así como chrvalidos:=['a'..'z','A'..'Z','ñ','Ñ'] Saludos y espero te sirva. |
Gracias a ambos, probe lo de la Val ocupandola en la función que pusiste de ejemplo isnumber y funciono sin problemas, ya entendi bien como funciona y adapte a mis necesidades.
|
Hola ctronx!!!!
si tienes Delphi 6 o Delphi 7, ya hay varius funciones que te ayuidan a convertir uun cierto valor a otro, y si no puede hacer la conversion, no dispara un error, simplementye te devuelve un valor la funcion.... una de ellas es la que nos puso nuestro camarada Lepe.... trytostrtoint... y hay mas....! y muchas mirate la ayuda de delphi..... (ahi esta la pista... y tienes todo un manjar de funciones......) parte buscate en la red creo que se llaman las JExperts, me parece, son varias unidades con funciones... que esten bien |
La franja horaria es GMT +2. Ahora son las 23:08:04. |
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