Programación General => Pascal => Mensaje iniciado por: little_doom en Sábado 23 de Junio de 2007, 00:59
Título: Como Solucionar Error Al Insertar Un Dato
Publicado por: little_doom en Sábado 23 de Junio de 2007, 00:59
Hola!! Como podria detectar si un usuario cuando le pido que meta un dato de tipo numerico con un rango de 0-9999 me mete eso y no otra cosa?? habia pensado en un string[4] y luego convertir cada caracter a numero y luego preguntarle si ese es su numero que aunque no fuera si accepta no da error y es como si lo ubiera escrito el pero no domino mucho y estoy un poco liado, no se usar la funcion val() si alguien me ayudara se lo agradeceria!!
SALudos!!! PD.es para introducir una matricula de un coche por partes primero los numeros y luego las letras y que lo que se introduzca sea lo que pido.
Título: Re: Como Solucionar Error Al Insertar Un Dato
Publicado por: cybdario en Sábado 23 de Junio de 2007, 03:57
El formato de val es:
Val (cadena, nro, codigoRespuesta);
cadena: es el string que queres convertir. nro: es el nro convertido, es decir, un integer o real. codigoRespuesta: es un integer que te retorna 0 si la conversión fue exitosa, si es mayor a cero indica la posición del primer caracter de la cadena que impide la conversión.
Por lo tanto si queres chequear que el valor sea entre 0 y 9999 debías fijarte que el codigoRespuesta sea cero, y si lo es el nro debe estar entre 0 y 9999, porque podría ser mayor o negativo.
algo asi como:
Código: Text
val(elString, elNro, codR);
If codR = 0 and elNro >= 0 and elNro <= 9999 Then
writeln ('ok');
Depende como lo hagas, tambien podrías ir pidiendo caracter a caracter y chequear que sea lo que necesitas, por ejemplo
Código: Text
If caracter in ['0'..'9'] then
writeln ('Es un numero');
If Upcase(caracter) in ['A'..'Z'] then
writeln ('Es una letra');
Espero te sirva.
Saludos!
Título: Re: Como Solucionar Error Al Insertar Un Dato
Publicado por: little_doom en Sábado 23 de Junio de 2007, 17:41