Pascal/Turbo Pascal - Error 106, como evitarlo ?

 
Vista:

Error 106, como evitarlo ?

Publicado por Eleazar (6 intervenciones) el 23/04/2004 03:26:13
Como puedo hacer para que el programa me reconozca cuando se ingresa una variable ilegal ?

Por ej: estoy haciendo un programa con una variable entera (integer), pero si le ingreso el valor 2a3 o el afgd, etc, el programa se cae...

Estuve viendo si se podría usar el mismo codigo de errores de pascal, pero no he podido encontrar nada....

o es que primero hay que hacerlo char y despues con un var pasarlo a integer ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Error 106, como evitarlo ?

Publicado por Roberto Garcia (128 intervenciones) el 23/04/2004 08:13:14
Pues la forma mas sencilla es como tu dices, capturarlo como cadena e intentar convertirlo a entero, otra forma ms fresona es desactivar el chequeo de errores de entrada y salida y verificar el valor ioresult

{$i-}
read(i);
{$i+}
if ioresult <> 0 then {esto para un error general}
write('Erro');

Si quieres saber especificamente que error se presento, ioresult guarda el numero de error de los errores de entrada y salida . o sea que es lo mismo poner

{$i-}
read(i);
{$i+}
if ioresult =106 then
write('Formato numerico no vlaido');

Ademas si creas una funcion checar los errores de una u otra forma no es tan problematico.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 106, como evitarlo ?

Publicado por Hurricane (73 intervenciones) el 23/04/2004 14:17:55
Prueba lo siguiente:

Program Valida;

Var
DatoEntero :Integer;
VarDeEntrada :String;
ValidaError :Integer;

Begin
Write('Ingrese un número entero:'');
ReadLn(VarDeEntrada);
Val(VarDeEntrada, DatoEntero, ValidaError);
If (ValidaError=0) then
Writen('Ingresó el valor correctamente')
Else
Writen('Valor no válido');
End.

Cualquier duda, envíame un e-mail. Saludos ;-)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error 106, como evitarlo ?

Publicado por Eleazar (6 intervenciones) el 23/04/2004 17:04:36
Muchas gracias, realmente ambas respuestas fueron de gran ayuda.

Respondieron justo a tiempo para mi examen !! :-p

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar