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

Материал из DRKB

Как использовать консоль в не-консольном приложении?[править | править код]

Для того, чтобы добавить в не-консольное приложение ввод/вывод из консоли, необходимо воспользоваться функциями 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;


Source: Взято из http://forum.sources.ru
ID: 02183



{
  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;


Source: Взято с сайта: http://www.swissdelphicenter.ch
ID: 02184