はじめに
何を今更な話です。
コンソールアプリケーションについて
正確には Win32 コンソールアプリケーション の事です。Delphi の殆どのバージョンでは、コンソールアプリケーションを
- [ファイル | 新規作成 | アプリケーション] で開くアプリケーションウィザード
 - [ファイル | 新規作成 | コンソールアプリケーション]
 
いずれかから作れるのですが、コンソールアプリケーション用のウィザードが実装されたのは Delphi 5 からとなります。

Delphi 5よりも前のバージョンでもコンソールアプリケーションは作れたのですが、IDE から作ろうとするとちょっと面倒な手順を踏む必要がありました。
■ Delphi 1
Delphi 1 ではコンソールアプリケーションは作れませんし、MS-DOS アプリケーションも作れないのですが、CRT アプリケーションという疑似コンソールアプリケーションが作れます。

簡単なやり方
[オプション | 環境...] でオプションダイアログを開き、[ギャラリー] の プロジェクトの新規作成で表示 にチェックを入れておくと、

[ファイル | 新規作成] で CRT アプリケーションを作れるようになります。

面倒なやり方
- 新規にプロジェクトを作成します。
 - [表示 | プロジェクトマネージャ] でプロジェクトマネージャを表示します。
 - ユニット (画像では Unit1) を選択し、[削除] ボタンを押します。保存を聞かれますが [いいえ] を押します。
 - [表示 | プロジェクトソース] を開きます。
 
開いたプロジェクトソースは次のようになっているので、
program Project1;
uses
  Forms;
{$R *.RES}
begin
  Application.Run;
end.
となっているのを
program Project1;
uses
  WinCRT;
begin
end.
と書き換えます。これで CRT アプリケーションが作れるようになります。
See also:
- Delphi で Pascal-S をコンパイルする (16bit 版 Delphi)
 - Delphi 1.0 Client/Server が無償公開されたので Windows 7 の XP Mode にインストールしてみる (Qiita)
 - <3> Macintosh 用 Pascal のオブジェクト指向拡張 (Pascal へのオブジェクト指向拡張の歴史と Delphi) (Qiita)
 - Macintosh Programmer's Workshop (MPW) Object Pascal の簡単な使い方 (Qiita)
 
■ Delphi 2
簡単なやり方
次のファイルを Project1.dpr という名前で好きな場所にコピーします。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
[ファイル | 開く] で上記ファイルを開きます。
面倒なやり方
- [ファイル | 新規作成] でアプリケーションを選択します。
 - [プロジェクト | プロジェクトから削除...] で Unit1 を削除します。
 - 保存を聞かれますが [いいえ] を押します。
 - [表示 | プロジェクトソース] を開きます。
 
開いたプロジェクトファイルを次のように書き換えます。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
共通
[プロジェクト | オプション...] で [リンカ] タブの コンソールアプリケーションの作成 にチェックを入れておきます。

uses 句に SysUtils を追加してあります。実際には uses 句がなくてもコンソールアプリケーションとして成立するのですが、別名保存しようとした際や、開き直した時にエラーが発生してしまいます。

■ Delphi 3
簡単なやり方
次のファイルを Project1.dpr という名前で好きな場所にコピーします。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
[ファイル | 開く] で上記ファイルを開きます。
面倒なやり方
- [ファイル | 新規作成] でアプリケーションを選択します。
 - [プロジェクト | プロジェクトから削除...] で Unit1 を削除します。
 - 保存を聞かれますが [いいえ] を押します。
 - [表示 | プロジェクトソース] を開きます。
 
開いたプロジェクトファイルを次のように書き換えます。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
共通
[プロジェクト | オプション...] で [リンカ] タブの コンソールアプリケーションの作成 にチェックを入れておきます。

uses 句に SysUtils を追加してあります。実際には uses 句がなくてもコンソールアプリケーションとして成立するのですが、別名保存しようとした際や、開き直した時にエラーが発生してしまいます。

■ Delphi 4
簡単なやり方
次のファイルを Project1.dpr という名前で好きな場所にコピーします。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
[ファイル | 開く] で上記ファイルを開きます。
面倒なやり方
- [ファイル | 新規作成] でアプリケーションを選択します。
 - [プロジェクト | プロジェクトから削除...] で Unit1 を削除します。
 - 保存を聞かれますが [いいえ] を押します。
 - [プロジェクト | ソース表示] でプロジェクトファイルを開きます。プロジェクトマネージャの 
Project1.exeの部分を右クリックし [ソース表示] を選んで開く事もできます。
 
開いたプロジェクトファイルを次のように書き換えます。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  SysUtils;
begin
end.
共通
[プロジェクト | オプション...] で [リンカ] タブの コンソールアプリケーション にチェックを入れておきます。

uses 句に SysUtils を追加してありますが、 uses 句がなくてもコンソールアプリケーションとして成立します。
コンソールアプリケーションに関連するルーチン
コンソール入出力ルーチンです。
| ルーチン | 名前空間 | 説明 | 
|---|---|---|
| Read() | System | ファイルからデータを読み込みます。 | 
| Readln() | System | ファイルからテキストを 1 行読み込みます。 | 
| Write() | System | ファイルにデータを書き込みます。 | 
| Writeln() | System | ファイルにデータを書き出し、行末マーカーを追加します。 | 
- Read() / Readln() はファイル変数を省略した場合、グローバル変数 Input が使用され、プロセス標準入力ファイルにアクセスします。
 - Write() / Writeln() はファイル変数を省略した場合、グローバル変数 Output が使用され、プロセス標準出力ファイルにアクセスします。
 
See also:
おわりに
Delphi 5 以降ならコンソールアプリケーションを作るのに苦労 (?) しなくていいって事ですね。
なお、Delphi 5 がウィザードで生成するコンソールアプリケーションのひな型は次のようなものになります。
program Project1;
{$APPTYPE CONSOLE}
uses SysUtils;
begin
  // ここにプログラムコードを書いてください。
end.
最新の 10.4 Sydney だと次のようなコードが生成されます。
program Project1;
{$APPTYPE CONSOLE}
{$R *.res}
uses
  System.SysUtils;
begin
  try
    { TODO -oUser -cConsole メイン : ここにコードを記述してください }
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end.
最近の Delphi は macOS 用のコンソールアプリケーションや Linux (Enterprise 版以上) 用のコンソールアプリケーションも作れますヨ。

あと、コンソールアプリケーション用のアイコンがインストールフォルダ直下にあります。48x48, 32x32, 16x16 の 8bit / 32bit 色アイコンです。

See also:


