Hola Laura, mira, la funcion que hace eso, es val, que te convierte un string en un entero o real, segun. Pero en este caso, sera entero, el procedimiento val(str;var temp;var error) recibe estos tres parametros, str: cadena a convertir, temp: entero donde se guardara el numero, y error: entero que devuelve 0 si la cadena fueron puros numeros, diferente de cero si hubo un caracter no numerico. Te escribo un mini codigo para que te des una idea, las validaciones extras se las pones, este codigo solo checa que sean numeros, las divide en dd, mm y aa y las pone en variables enteras:
var str: string[10]; {para leer la fecha}
buffer:string[3]; {para guardar dia o mes..}
error:integer; {para el error}
dia,mes,año:integer; {para la fecha}
begin
write(´escriba fecha dd/mm/aa ´);
readln(str); {leer fecha}
buffer[1]:=str[1];{copia el primer numero}
buffer[2]:=str[[2];{copia el segundo numero}
val(buffer; var dia; var error); {conversion}
if(error<>0)then{si la cadena tiene un caracter}
write(´Escriba dia en formato numerico´);
else {fue numero}
begin
buffer[1]:=str[4];{copia el primer numero}
buffer[2]:=str[[5];{copia el segundo numero}
val(buffer; var mes; var error);
if(error<>0)then {si la cadena tiene un caracter}
write(´Escriba mes en formato numerico´);
else {fue numero}
begin
buffer[1]:=str[7];{c