Os comandos de entrada são usados para se carregar um determinado valor fornecido pelo usuário em memória, usualmente a partir do teclado, mas não apenas. Este valor pode ser digitado ou fornecido através de arquivo.
Os comandos de entrada da linguagem Pascal são read e readln, cujas sintaxes respectivas são apresentadas na sequência. O guia de referência do Free Pascal, em sua versão de dezembro de 2008, não contém informações sobre os comandos de leitura, apenas menciona que são modificadores.
Sintaxe:
read(<dispositivo>, <lista de variaveis>); readln(<dispositivo>, <lista de variaveis>);
No exemplo acima <lista de variáveis> é uma lista de identificadores de variáveis separados por vírgula, e <dispositivo> é o nome de um dispositivo de entrada (ver seção Tipo file (arquivo)). Caso o nome do dispositivo seja omitido, então se considera a entrada padrão (teclado).
As variáveis devem ser de um tipo básico da linguagem, isto é, tipos ordinais, reais, char, string ou boolean.
A diferença entre as duas formas do comando read só existe no caso de leitura de strings: readln acrescentará o CR (carriage return, ou enter) ao final da string lida, como parte da mesma.
Exemplo:
program exemplo_leitura; var x, alpha: real; m, n, fatorial: integer; nome: string; letra: char; arq: file of real; begin readln(nome); read(x); read(arq,alpha); read(m,n,fatorial,letra); end.