そのほか |
|
|
VB.NETで楽天RSSからリアルタイム情報を取得する<その6>
カテゴリ:「VB.NETで自動売買」入門
今回をAdvice()編の第一回だと期待された方、すみません。
その前に、Request()編で言い忘れてたポイントを書いておこうと思いまして。 取得するデータには、銘柄名称や前日終値など「定期的に値を取得する必要のないもの」と 現在値や出来高など「定期的に情報を取得しないと機能しないもの」の2通りに大別出来ます。 Request()編のサンプルで取得した銘柄名称と現在値のうち、現在値については 人が取得ボタンを何度もクリックしなくても、自動的に変化してくれた方が便利です。 そういう場合、私は2通りの実現方法を考えます。 まず1つ目がLoop文などの繰り返し処理を使用する方法。 Do System.Threading.Thread.Sleep(5000) {繰り返す処理} Loop と書いてやれば、Do~Loopで囲まれた部分を繰り返し処理してくれます。 中に書いてある「System.Threading.Thread.Sleep(5000)」は、処理を5秒待機するという 意味です。引数は待機する時間をミリ秒で指定します。 上のように書けば、5秒間隔で処理を行います。 もう1つの方法は、タイマーイベントを使う方法です。 ツールボックスの中に「Timer」が存在するので、それをFormにドラッグ&ドロップします。 すると画面の下にタイマーが貼り付けられるので、それを選択した状態でプロパティの 「Interval」を5000にします。 これで準備は完了です。 あとは、取得ボタンが押された時に、 Timer1.Start() と書いてやれば、5秒毎にTimer1.Tickイベントが発生します。 取得.Clickと同じです。「タイマーの時間が来たら」みたいな意味のイベントです。 Form1クラスに、メソッドを追加する必要があります。 一番簡単な方法は、Form1のデザイン画面で、Timer1のアイコンをダブルクリックします。 するとメソッドが追加されますので、5秒後との処理を追加します。 以上2通りの方法をご紹介しましたが、どちらも定期的な処理を行う方法だけで、 そのループを中断する処理を一切書いていません(苦笑)。 実際使用する時には中断処理も書かないと、プログラムを終了させるまで無限ループする 事になってしまいますのでご注意下さい。 ・・・恐らく次回はAdvice()編を開始すると思います。 今回は「つなぎの回」ですみませんでした。
[「VB.NETで自動売買」入門] カテゴリの最新記事
|