Hola,
No estoy seguro de que esta sea la mejor respuesta: he visto algunos programas de tipo consola que seguramente no lo hacen exactamente igual.
Sin embargo, pienso que tal vez esto pueda ayudarte, darte alguna idea, en fin, servirte de algo. Echa un vistazo a este código:
Código Delphi
[-]
program consola;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
usuario: string = '';
begin
while (usuario <> 'Pedro') do
begin
Writeln('Escribe tu nombre y pulsa ENTER para salir');
ReadLn(usuario);
end;
end.
Efectivamente. Gracias al procedimiento "ReadLn" podemos obtener lo que el usuario escriba en la línea de la consola. De este modo, podríamos comprobar si lo que ha escrito es lo que precisamos para dejarle "salir" de la misma.
El ejemplo hace uso de una instrucción "while", pero, la idea que trataba de transmitir con el mismo es únicamente la posibilidad de leer el contenido de la línea que escriba el usuario: el qué hagamos con lo obtenido, o sea, permitir salir al usuario, utilizar dicho contenido, etc., es ya cuestión de qué queramos conseguir.
Por otro lado, si haces uso del conjunto de clases y componentes de la Jedi Library (1) encontrarás que dentro de estos los hay para ampliar, por decirlo de algún modo, las capacidades de una aplicación de tipo consola. Concretamente encontrarás un módulo de nombre "JclConsole.pas" que tal vez pueda serte de utilidad.
(1)
Proyecto Jedi