私は Visual Basic を初めて使用します (クライアントのプロジェクトの一部を構築するために学習しています)。以下は、Sterling ActiveX API ライブラリを使用しているサンプル コードです。基本的に、このプログラムは Sterling Trader と呼ばれる株式取引ソフトウェアと一緒に実行され、ボタンが押されると、テキスト ボックスが指定された株式 (この場合は IBM) の現在の株価で更新されます。
Option Strict Off
Option Explicit On
Public Class Form1
Inherits System.Windows.Forms.Form
Dim stiEvents As New SterlingLib.STIEvents
Dim stiQuote As New SterlingLib.STIQuote
Delegate Sub TextBoxUpdater(ByVal byre As TextBox, ByRef str As Object)
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler stiQuote.OnSTIQuoteSnap, AddressOf OnSTIQuoteSnap
AddHandler stiQuote.OnSTIQuoteUpdate, AddressOf OnSTIQuoteUpdate
End Sub
Private Sub OnSTIQuoteSnap(ByRef structQuoteSnap As SterlingLib.structSTIQuoteSnap)
UpdateTextBoxLast(TextBox1, structQuoteSnap.fLastPrice)
End Sub
Private Sub OnSTIQuoteUpdate(ByRef structQuoteUpdate As SterlingLib.structSTIQuoteUpdate)
If structQuoteUpdate.bLastPrice Then
UpdateTextBoxLast(TextBox1, structQuoteUpdate.fLastPrice)
End If
End Sub
Private Sub UpdateTextBoxLast(ByVal lb As TextBox, ByRef str As Object)
If (lb.InvokeRequired) Then
Me.BeginInvoke(New TextBoxUpdater(AddressOf UpdateTextBoxLast), lb, str)
Else
TextBox1.Text = str
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
stiQuote.RegisterQuote("IBM", "*")
End Sub
End Class
Sterling Activex API ガイドへのリンク: http://www.sterlingtrader.com/documents/Sterling_ActiveX_API_Guide.pdf
このコードでやりたいことは 2 つあります。
私がしたいのは、ボタンを押さなくても、テキストボックスが新しい現在の株価で常に更新されるようにすることです。タイマーを使用してこれを行うことができると思いますが、コードのどのセクションを変更する必要があるかは完全にはわかりませんし、Visual Basic でこれを行う方法にも精通していません。
別のテキスト ボックス/ボタンを作成したいと思います。これを入力してボタンをクリックすることで、取得する相場の銘柄を変更できます。現在、コードは IBM 株を使用しています。これは、次のコード行の「IBM」部分によって決定されます: stiQuote.RegisterQuote("IBM", "*")
この 2 つのことをどのように行うことができますか?