実行するには


  2004-10-05 20:39:42  No: 116782

今、コマンドボタンを使って実行するようにしているのですが、何か他の関数などを使って実行する方法はないでしょうか?


特攻隊長まるるう  2004-10-05 21:03:22  No: 116783

>今、コマンドボタンを使って実行するようにしているのですが
それはコマンドボタンのクリック(Click)イベントで実行している
という事ですか?コマンドボタンには他にも GotFocus,DragDrop...
などのイベントが用意されています。同様に他のコントロール
にも様々なイベントが用意されています。自分の望むタイミングで
発生するイベントが存在するならそれを利用してみて下さい。

無いなら…自作して下さい。イベントも独自のものを定義する事が
できます。…全くランダムに実行する事もできなくは無いですが、
プログラムとしてスゴいものになりそうです。まずは自分がどういう
条件で実行したいか?具体的なタイミングを考えて下さい。


  2004-10-05 22:09:23  No: 116784

Private Sub CommandActivate_Click()
    Dim ReturnCode
    :
    :
    省略
    :

    
End Sub

Private Sub CommandDeactivate_Click()
    ' 音声認識を終了します。
    End Select
 
 Dim Result As Long
    Result = TOSTTSX1.Speak(txtEdit.Text)
    If Result <> 0 Then
        MsgBox ("読み上げエラーが発生しました。(エラーコード:" + CStr(Result) + ")")
    End If

End Sub

今、このようなプログラムを作成中なのですが、CommandDeactivateクリックのとこを数秒おいてから実行したいのですが・・・どのようにしたらいいでしょう??


マグ  2004-10-05 22:21:55  No: 116785

初心者なので参考になるかどうかはわかりませんが、

秒数が決まっているなら、Sleep関数でどうでしょうか?

[VB.NET]

Private Declare Sub Sleep Lib "kernel32" ( _
        ByVal dwMilliseconds As Long)
Sleep(1000) '1秒待つ


特攻隊長まるるう  2004-10-05 22:39:41  No: 116786

[VB.NET]の場合、[.NET Framework クラス ライブラリ]でも
用意されてます。定義済み関数みたいな使い方ができます。
    System.Threading.Thread.Sleep(1000)
オイラはサンプルでたまに使ってるんだけどね。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200409/04090099.txt


Dental  2004-10-05 22:41:55  No: 116787

マグさん………何もAPIを使わずとも、VB.NET なら
System.Threading.Thread.Sleep で十分では?

それに、DWORD型を As Long で宣言しちゃってるし……(脱力)


  2004-10-05 22:51:28  No: 116788

Sleep関数を使ったらその間処理が行われないのではないですかね??数秒間の間も処理は行われてて、ある時間が来ると次の処理に移る方法はないですか??


魔界の仮面弁士  2004-10-05 22:52:05  No: 116789

Sleep APIに対応するのは、Sleepメソッドです。>マグさん
APIの対応表が下記にあるので、参考になるかも。
http://www.microsoft.com/japan/msdn/net/general/win32map.asp

ただ、今回の質問は、.NETでは無い様にも見えますね。
(開発環境が明示されていないので、どちらにも取れますけれども)

> 数秒おいてから実行したいのですが
Timerコントロールを使って、数秒後に処理すると言う手も。


マグ  2004-10-06 00:00:20  No: 116790

>System.Threading.Thread.Sleep(1000)

このような関数があったとは知りませんでした。

>それに、DWORD型を As Long で宣言しちゃってるし……(脱力)

それは、かなり、前にそのソースをコピー&ペーストしたソースだから
詳しくはわからないんです。
Sleep関数は一回も使っていませんし・・・
でも、動作確認はしています。

>Sleep APIに対応するのは、Sleepメソッドです。>マグさん
>APIの対応表が下記にあるので、参考になるかも。
>http://www.microsoft.com/japan/msdn/net/general/win32map.asp

ありがとうございます。
参考になりすぎました。
APIの知識はあまりありませんから(笑
ひょっとしたら、皆無に等しいというほどです。


特攻隊長まるるう  2004-10-06 00:15:05  No: 116791

>それは、かなり、前にそのソースをコピー&ペーストしたソースだから
>詳しくはわからないんです。
>Sleep関数は一回も使っていませんし・・・
>でも、動作確認はしています。
変数の型が違うのでちゃんと[VB.NET]用に読み替えないと、
とんでもない値が返って来たり、エラーになったり…。
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/chapter4/chapter4_3.asp

Timer を使ったり[VB6.0]は↓こっちのスレでいいんじゃないでしょうか?。
http://madia.world.coocan.jp/cgi-bin/VBBBS2/wwwlng.cgi?print+200410/04100015.txt
…先の展開は分かりませんが。


マグ  2004-10-06 02:06:44  No: 116792

わかりました。

今後、宣言に気をつけます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加