- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Delphi6で、実行後、一時停止をしたい。)
Delphi6で実行後に一時停止する方法
このQ&Aのポイント
- Delphi6を使ってPascalを勉強しています。Delphi6でプログラムを記述し実行すると、MS-DOSが表示されますが、実行後すぐに終了してしまい困っています。一部のプログラムでは一時停止できるように設定しているのですが、どうして止まるのか止まらないのかがわかりません。配列にデータを追加するプログラムの一部を例に挙げています。
- プログラム実行後に一時停止する方法を教えてください。Delphi6でPascalのプログラムを記述し、実行するとすぐに終了してしまうため、結果を確認することができません。一時停止するために型宣言の前にreadln(x)という処理を追加していますが、一部のプログラムでは止まるのに一部では止まりません。なぜ止まらないのでしょうか。挿入するデータを配列に追加するプログラムの一部を例として説明しています。
- Delphi6で実行後に一時停止する方法がわかりません。Delphi6でPascalを勉強中で、プログラムを記述して実行するとすぐに終了してしまいます。一時停止するためにreadln(x)を型宣言の前に追加していますが、一部のプログラムでは正常に止まるのに一部では止まりません。どうして止まらないのでしょうか。データを配列に追加するプログラムの一部を抜粋しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
たぶん挿入するデータと挿入場所をread()で呼んでいるからでしょう。 read で読む場合は、データ入力後enterを押してはいけません。 しかし、データ入力の際、enterをおすので、キーバッファにenterが残ってしまいます。 その残ったenterが readln(x)で読み込まれ、終了してしまいます。 データ入力のたびにenterを押すのであれば readln()で入力しましょう。 以下修正点 readln(dat); <------ repeat writeln('(3)挿入する位置?'); readln(i); <----------- until(i < n) and (i > 0); これでどうでしょうか?
お礼
回答有難うございます! readln にしたらきちんと止まってくれました。 とても助かりました。ありがとうございました♪