会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

会社員KNIGHTの趣味三昧(卓球・盆太鼓・色々!)

PR

Calendar

Category

カテゴリ未分類

(0)

卓球

(1278)

盆太鼓・盆踊り

(425)

トイドローン

(21)

その他

(340)

■■■■■■↓以下は凍結カテゴリー↓■■■■■■

(0)

KATS(自動売買プログラム)

(87)

「VB.NETで自動売買」入門

(24)

本日の取引

(1292)

デイトレ結果(勝ち)

(365)

デイトレ結果(負け)

(591)

夜間取引結果

(15)

今週の取引

(480)

今月の取引

(103)

明日の監視銘柄

(54)

株関連

(55)

草野球

(36)

Keyword Search

▼キーワード検索

Comments

KNIGHT@ Re[1]:愛好会の小さな盆踊り 令和7年・秋(11/23) 浪速の投げ師さんへ いつもお世話になり有…
浪速の投げ師@ Re:愛好会の小さな盆踊り 令和7年・秋(11/23) 遅くまで、お疲れさんでした。 久しぶり…
KNIGHT@ Re:2025年度 関西場所卓球大会(09/27) たかみさん、 こちらこそお世話になりまし…
たかみ@ お礼:2025年度 関西場所卓球大会(09/27) 助っ人、ありがとうございました。 おかげ…
KNIGHT@ Re[1]:第66回 協会杯争奪卓球大会(07/12) ゆう!さんへ 有難うございます。 私は昔…
ゆう!@ Re:第66回 協会杯争奪卓球大会(07/12) 3部優勝おめでとう! 卓山会って、山本高…
accelwin@ Re[4]:【卓球】シェイクのラケット反転について(11/23) KNIGHTさんへ ご返信ありがとうございます…
KNIGHT@ Re[1]:【卓球】シェイクのラケット反転について(11/23) accelwinさんへ ブログへのコメント、どう…
Apr 10, 2008
XML
さて今回はいよいよコーディングに入っていきますよ!
期待して待ってて下さっていた方、有難うございます。
前回までは、環境を作ってプロジェクトを作って画面を作っただけです。
これからが一番楽しいところですよね。

前回の状態にするために、VB2008EEを立ち上げてSampleApplicationを開いて下さい。
Form1のソースコードを開いていない方は、Form1.vbを選択した状態で「コードの表示」
ボタンをクリックして下さい。

WS000014.JPG

解説は、なるべくオブジェクト指向やVBの言語仕様などの細かい話を省略して単純にして
いこうと思っています。

その場合は、このサンプルが出来上がった後にでも、独学で勉強される事をお勧めします。
そうしないと、何かトラブルがあった時や自分で新しい事をしたい時に挫折してしまうので。

前置きはこのぐらいにして早速始めていきます。

取得_Click()というメソッドは「取得ボタンがクリックされた時の処理」でしたよね。
やりたい事は

画面の銘柄コード、市場コードを元に、楽天RSSから銘柄名称と現在の株価を取得して
画面に表示したい


でした。
まずは、楽天RSSから情報を取得してくれるNDdeのクラスを準備します。
そのクラスは「NDde.Client.DdeClient」です。
プログラム中でこのクラスを使用する時には、こうやってフルネームで書いてあげても
良いのですが、長くなるので面倒ですし後でソースも読みにくくなります。
なので「NDde.Client.」という部分(名前空間と言います)を省略して、最後の


そのために、ファイルの先頭に 「Imports NDde.Client」 と書いてあげます。

WS000015.JPG

ここで、非常に便利な開発環境の機能を伝授します(笑)。
それは 「インテリセンス」 と呼ばれるものですが、そこでコーディングすべき内容を予測して
「CTRL+スペースキー」 で実現出来ます。
どんな時でも記述の途中で押せば非常に効率よくコーディング出来ますし、スペルミスも
無くなるので便利ですよ。是非インテリセンスに慣れて下さい。

WS000016.JPG

DdeClientクラスには色々なプロパティ(属性)やメソッド(操作)があります。
今回使用するもの以外にも沢山あります。

楽天RSSから情報を取得するための基本的な流れは、次の4ステップになります。
(1)DdeClientのインスタンス化(銘柄毎に1つ)
(2)楽天RSSに接続
(3)欲しい情報を取得(複数項目ある場合は複数回)
(4)DdeClientの破棄


では順番にいきます。

まずは「DdeClientのインスタンス化」です。
クラスというのは「こんな属性でこんな操作を持ったものです」という設計図です。
その設計図通りに実際のモノを作る作業がインスタンス化です。
分からない方は「そんなもんなんだ」で流して下さいw

インスタンス化するためには、引数(渡す情報)として サービス名とトピック名 が必要です。
サービス名は、楽天RSSの場合"RSS"という文字列固定です。変わりません。
そしてトピック名というのが「銘柄コード.市場コード」です。
ここまで書いて「あれ!?」と思われた方。そうです!
楽天RSSをExcelから関数で使用していた方は、セルに 「=RSS|'4755.Q'!現在値」 とか
入力していましたよね!
まさしくその時の「RSS」がサービス名で、「4755.Q」がトピック名なんです。
ExcelからDDEの機能を使って楽天RSSから情報を取得していたんですね。

まずはトピック名を作ります。
画面の銘柄コードと市場コードに入力された文字列をピリオドでつなげます。

Dim topic As String = 銘柄 名称 コード .Text & "." & 市場コード.Text
(2008.4.11訂正)

この1行が何を表しているかの説明は、すみませんが割愛させて頂きます。
分からない方は調べて頂く事をお勧めします。

トピック名が出来たので、サービス名の"RSS"と一緒に引き渡して、DdeClientの
インスタンス化を行います。

Dim client As New DdeClient("RSS", topic)

インスタンス化されたDdeClientのオブジェクトは、今後clientという変数名で
扱う事が出来ます。
但し「Dim」で宣言した変数はローカル変数ですので、このメソッド(取得_Click())の
中でしか使えません。・・・ややこしいのでこの辺りはハショります(苦笑)。

さて次は、このオブジェクトを楽天RSSに接続させます。

client.Connect()

これだけです!この行が実行されている時にMarketSpeedや楽天RSSが立ち上がって
いなかったり、MarketSpeedにログインされていない場合は例外が発生します。

・・・このサンプルプログラムではエラーのハンドリングを省略するつもりです。
異常が起こった時にどうしたら良いか分からない方は頑張って勉強して下さい。
省略していますが、非常に大事な部分です。


さてこれで、取得したい銘柄のDDEクライアントがインスタンス化されて
楽天RSSに接続している状態です。嘘みたいですよね。
いよいよ次は、銘柄名称と現在の株価を取得します!!

・・・と行きたいところですが長くなったので今日はここまでにします。
ほんとチョビットずつで申し訳無いです。m(_ _)m

現在のソースはこんな感じになってます。

WS000017.JPG
(2008.4.11  ×「銘柄名称」 ○「銘柄コード」 )

一応簡単にコメントを入れました。
シングルクォーテーションを入れるとそれ以降がコメントになり、ソースコードとして
コンパイルされません。後からの事を考えると、そこで何をしているか
分かりにくいコードにはこまめにコメントを入れる癖を付けましょうね。

ではまた次回。。。





お気に入りの記事を「いいね!」で応援しよう

Last updated  Apr 12, 2008 06:19:31 PM
コメント(9) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: