RE:ayudenme con el comando val
La función READKEY captura desde el teclado cualquier tecla presionada, y la almacena en una variable de tipo CHAR, pero si lo que deseas es leer las teclas de <Up>, <Down>, <Left>, <Right> y algunas otras teclas especiales, entonces tienes que hacer lo siguiente:
...
Tecla:=readkey;
If tecla=#0 then (*Si es tecla especial*)
tecla:=Readkey; (* Que tecla es? *)
...
Ahora, el Procedimiento VAL te convierte cualquier cadena de caracteres de aspecto numérico a su valor correspondiente, en caso de no poder hacer la conversión devuelve un código de error:
VAL(S,N,ERROR); (*donde S :string
N :Integer/REAL
ERROR:Integer *)