Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как использовать консоль в неконсольном приложении?

01.01.2007

Для того, чтобы добавить в не-консольное приложение ввод/вывод из консоли, необходимо воспользоваться функциями AllocConsole и FreeConsole.

Пример:

procedure TForm1.Button1Click(Sender: TObject); 
var 
   s: string; 
begin 
  AllocConsole; 
  try 
    Write('Type here your words and press ENTER: '); 
    Readln(s); 
    ShowMessage(Format('You typed: "%s"', [s])); 
  finally 
    FreeConsole; 
  end; 
end;

Взято из https://forum.sources.ru


{ 
 
  For implementing console input/output for non-console applications you 
  should use the AllocConsole and FreeConsole functions. 
  The AllocConsole function allocates a new console for the calling process. 
  The FreeConsole function detaches the calling process from its console. 
  Example below demonstrates using these functions: 
 
}
 
 
 procedure TForm1.Button1Click(Sender: TObject);
 var
   s: string;
 begin
   AllocConsole;
   try
     // Change color attributes 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),
                                          FOREGROUND_BLUE OR FOREGROUND_GREEN or
                                          BACKGROUND_RED );
     Write('Type here your words and press ENTER: ');
     Readln(s);
     ShowMessage(Format('You typed: "%s"', [s]));
   finally
     FreeConsole;
   end;
 end;

Взято с сайта: https://www.swissdelphicenter.ch