- 締切済み
無限ループ中にある任意のキーを押すと抜けるコードを作りたいのですが・・・(VB6です)
無限ループを動作中にあるキー(例えば[Ctrl]+[c])を押すと、そのプログラムを抜けて終了するコードを作りたいのですが、どなたかご教授いただけませんでしょうか?
- THUBAN
- お礼率76% (771/1002)
- Visual Basic
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- how-do-you-do
- ベストアンサー率56% (59/104)
Private blnEscape As Boolean Private Sub Command1_Click() blnEscape = False Do While Not blnEscape Me.Label1.Caption = Format(Now, "ss") DoEvents Loop MsgBox "ESCAPE" End Sub Private Sub Command2_Click() blnEscape = True End Sub
関連するQ&A
- 無限ループ内でのキー判別
DSPを用いたシステムを開発している途中なのですが。ループ内でのキー判別ができません。 whlie文で無限ループを行い,特定のキー(Enter等)が押されたらその動作を行うという判別ができません。 get関数等を無限ループの中で用いると,get文のところで止まってしまい,これでは私が求めている処理を行うことができません。 無限ループを行い,キー操作があった時だけその動作をする関数があれば教えてください。 PC:window7,visual stdio
- ベストアンサー
- C・C++・C#
- ループを途中で抜けたいのですが。
無限ループさせているwhileやfor文などで、 何かのキーを押すとループを抜けるように設定したいのですが可能でしょうか? (scanfやcinなどをループの中に組み込まずに。ctrl+Cも無しで。) (あと、フォーム上ではなくコンソール上で。) 多分説明不足なのでもうちょっと詳しく。 たとえば、 while ( i != 1 ){ j += 1; } の様な無限ループを設定したとして、 本来なら if (j > 100 ){ break; } とか、 while文の中に scanf ( "%d" , &i ); 等を入れて終了条件を満たさせるべきですが、 そうではなく、ひたすら無限ループを続けているところにEscキーを押すとループから脱出するようなプログラムを作ってみたいのです。 そういうプログラムは可能でしょうか? どうかご教授下さい。 使用コンパイラ:Visual C++ 2008 Express Edition
- ベストアンサー
- C・C++・C#
- 無限ループ対策
プログラミングのデバッグ時、無限ループに入ってしまい、プログラムを強制終了することもままならなくなることがあります。 CPUのリソースを完全に使っているために、こちらの入力を受け付けなくなると思うのですが、 マルチCPU環境ではどういった状態になるのでしょうか? 無限ループは起こらないのでしょうか? さらに、デュアルコアCPUの場合はどうなのでしょうか? 無限ループのもどかしさから開放されるならPCを新調しようと思うのですが、 何かご存知の方教えてください。よろしくお願いします。
- ベストアンサー
- その他(プログラミング・開発)
- VB上で実行中の無限ループの止め方
今まで、CUIベースのBASICでのプログラムの経験はあるのですが Visual系のBASICは初心者です。 原因はわかっているのでプログラムの修正はできるのですが VB上でコンパイルして実行したときに無限ループに陥ってしまって どうにもプログラムをとめられなくなります。 そんなことがないように、実行前に全てのプロジェクトを保存して いますので、そんなに実害はないのですが、どうすればとめられるのでしょう・・ 今現在は、タスクマネージャーから強制終了させています。
- 締切済み
- Visual Basic
- 無限ループを抜け出す方法を教えて下さい。
ご覧いただきありがとうございます。 タイトルの通り、無限ループを抜け出す方法を教えて頂きたいです。 for( ; ; i++) { printf( "%ld", i ); } たとえば、上記の無限ループをキー入力待ちをすること無しに、キー入力があった場合に途中で抜ける方法はあるのでしょうか? ご回答のほどよろしくお願いいたします!!
- ベストアンサー
- C・C++・C#
- PHPで無限ループしてしまったら・・・・
PHPのコードで無限ループしてしまったら、どうなるのでしょうか ?コードもしくはブラウザのウィンドウを閉じたり、再起動ぐらいで直るのでしょうか?OSの再インストールまでいくなら最悪ですね。
- ベストアンサー
- PHP
- VBScriptの無限ループ動作で簡単終了方法
お世話になります。 私のPCでは、監視のために無限ループ動作のVBScriptが三つほど動いています。それでメンテナンスでどれかの一つを停止(強制終了)しようと、タスクマネージャーにアクセスしてもイメージ名が皆同じで、区別がつかず困るときがあります。 そこで、最初からこの無限ループ動作のスクリプトに仕込みをしておいて、いつでも簡単に終了させる方法などありますか。検索してもまったく見つかりませんでしたので、相談させて頂きました。
- ベストアンサー
- その他(プログラミング・開発)
- 無限ループでDebug.Writelineしてしまい、VB2005が応用しません(>_<)
VB2005 ExpressEditionです。 先ほど、間違えて無限ループ内でDebug.Writelineメソッドを使ってしまい、プログラムのデバッグ中止ボタンを押せたにも関わらず、いつまでもイミディエイトウィンドウに文字列がトレースされます。かれこれ30分ぐらい経ってもまだ終わらず、ビジー状態で次の作業に移れません。 プログラムを強制終了するしかないでしょうか? 保存していない変更が破棄されると困るのですが、強制終了しても作業時の状態をを復元する機能などあるでしょうか?
- 締切済み
- Visual Basic
- 無限ループに陥ります
プログラム中の以下の部分で無限ループに陥ってしまいます while(*a != EOF){ *a = fgetc(fi); if(*a == 32){ b++; } if(b == 3){ b = 0; t = *(a-1); if(t == '1'|| t == '3' ||t == '5' || t == '7'|| t == '9'){ c[n] = 1; } else{ c[n] = 2; } n++; } } fiに読み込んでいるファイルの末尾はこんな感じです。 50 49 0 34 34 34 34 34 34 34 34 34 34 34 34 50 49 0 68 68 68 51 51 50 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 34 [EOF] どなたか分かる方お願いします。
- ベストアンサー
- C・C++・C#
お礼
ありがとうございました。 当方でも調べた結果、以下のようにすれば実現できそうです。 If GetAsyncKeyState(vbKeySpace) <> 0 Then End End If