Pascal/Turbo Pascal - Validacion de datos

 
Vista:

Validacion de datos

Publicado por lucman (7 intervenciones) el 14/02/2005 22:38:55
Alguien sabe como hacer para validar datos?
yo tengo q un programa q en un menu te pide q elijas una opcion de 1 a 4. Lo q todavia no pude hacer es validar si por ejemplo me ingresan una letra o una palabra. Ahi se me cuelga el programa, obviamente. Si pude validar para que si ingresan un numero mayor a 4 que me repita, pero no pude lograr que me repita el menu si es q se ingresa un dato de tipo char o string.
Creo q tendria q utilizar los procedimientos VAL y STR pero no se hacerlo.
Por favor ayudenme!
Gracias
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:Validacion de datos

Publicado por Ivanchuk (7 intervenciones) el 14/02/2005 23:33:02
eemmm, si solo tiene que ingresar un numero, podes usar keypressed con readkey, y luego de leer la tecla haces un case.. 1saludo
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:Validacion de datos

Publicado por lucman (7 intervenciones) el 15/02/2005 00:38:39
que es keypressed?

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:Validacion de datos

Publicado por O. Alejandro (104 intervenciones) el 15/02/2005 13:58:27
Estoy de acuerdo. Puedes poner algo así:
Repeat
tecla := readkey; {donde la variable "tecla" es de tipo char}
Case tecla Of
"1" : {aquí unas intrucciones}
"2" : {aquí más instrucciones}
"3" : {más intrucciones}
... {y así cuantas opciones quieras}
"5" : exit; {podría ser la opción de salida}
End;
Unitl tecla = "5"; {donde 5 es la opción de salir}

Y keypressed es un función. Pero no se como explicarte. Mejor con un ejemplo:

Repeat
writeLn("HOLA");
Unitl KeyPressed; {este ciclo se repetira hasta que presiones una tecla;
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:Validacion de datos

Publicado por Hurricane (39 intervenciones) el 16/02/2005 15:20:36
La siguiente función te permite la pulsación de cualquiera de los caracteres de la lista:
1
2
3
4
5
6
7
8
9
10
Function GetChar(Chars :String) :Char;
    Var
         Ch :Word;
    Begin
            Repeat
                 Ch := Ord(ReadKey);
                  If (Ch=0) then Ch := Ord(ReadKey)*256;
            Until Pos(Chr(Ch), Chars) > 0;
            GetChar := Chr(Ch);
    End;
Espero te sea de utilidad. 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:Validacion de datos

Publicado por Fer (4 intervenciones) el 19/07/2005 18:30:55
No me queda claro lo de esta validación, alguien me puede explicar más?

necesito validar que solo me lea ciertos numeros enteros, no letras ni caracteres especiales. Talvez con un case funcione, no crees?

Gracias.
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