CONSOLEアプリケーションで終了時に一瞬で窓を閉じさせない方法
|
56 |
ConsoleCloseWait |
動作確認 |
Delphi2007 |
更新日 |
2008/01/30(水) |
DelphiはCUIのコンソールアプリケーションも簡単に記述できます。
新規作成でコンソールアプリケーションを選んでもいいですし
dprファイルだけを編集して実行してもよいでしょう。
コンソールアプリケーションを実行すると
コンソールウィンドウというかDOS窓の黒い画面が
処理が終わったとたんに消えてしまいます。
コマンドプロンプトからそのプログラムを起動すれば
そういうことは起きませんが、
DelphiIDEからの実行などでWindowが閉じてしまうのは不便なので
DOS窓を閉じないようにプログラムしておきましょう。
ソースの最後に
Readln;
を挿入しておくと、入力待ちがあるので
Windowが閉じません。
以下、サンプルプログラムです
Project1.dprファイルと名前を付けて保存実行してください。
────────────────────
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Math;
var
YourInt, ComInt, RangeA, RangeB: Integer;
Buffer: Integer;
i: Integer;
begin
Writeln('数当てゲームです');
Write('数字の範囲の最低値を入力してください');
Readln(RangeA);
Write('数字の範囲の最高値を入力してください');
Readln(RangeB);
Buffer := Min(RangeA, RangeB);
RangeB := Max(RangeA, RangeB);
RangeA := Buffer;
Writeln(IntToStr(RangeA)+'から'+IntToStr(RangeB)+'の範囲で'+
'ある数値を選びました 見つけてください');
Write('数字を入力してください');
Readln(YourInt);
ComInt:= RandomRange(RangeB+1, RangeA);
while YourInt <> ComInt do
begin
while (YourInt < RangeA) or (RangeB < YourInt) do
begin
Writeln('範囲を超えてます。');
Write('もう一度入力してください');
Readln(YourInt);
end;
if YourInt > ComInt then
begin
Writeln('選んだ数は'+IntToStr(YourInt)+'より小さいです。');
Write('もう一度入力してください');
Readln(YourInt);
end
else
begin
Writeln('選んだ数は'+IntToStr(YourInt)+'より大きいです。');
Write('もう一度入力してください');
Readln(YourInt);
end;
end;
Writeln('正解です');
Readln;
end.
────────────────────
|