Tem sim!!
o nome da função é keyPressed..
ela é do tipo booleano e retorna true caso uma tecla seja pressionada e falso caso nada se tecle..
esta função se encontra na unit crt
ela é fundamental na maioria dos jogos
..
é possivel também saber qual tecla foi pressionada, pois ela fica armazenada no buffer do teclado..
você pode utilizar o nosso velho readkey para "ler" o buffer..
bom.. veja um exemplinho simples..
a variavel contadora fica incrementando e enquanto você não tecla nada ela vai embora..
ate atingir o limite d um inteiro..
program teste_keypressed; uses crt; (* a nossa função esta aqui nesta biblioteca *) var cont : integer; begin cont := 0; (* enquanto nenhuma tecla for pressionada faça *) while not(keyPressed) do begin cont := cont + 1; writeln(cont); end; writeln(readkey;) (* aqui vai imprimira a tecla q o usuario pressionou *) readkey; (* aqui é uma pausa simples *); end.
no menu Help>Index do turbo pascal tem a explicação certinha desta função..
mas é isso aí.