プログラムをライン実行する

Pocket

今回は前回作ったプログラムを少し変更して、ライン実行してみます。プログラムは常に想定通り動作するわけではありません。想定通り動かない場合は、ライン実行するなり、変数の中身を参照するなりして不具合の原因を特定する必要があります。今回はそういった場合に備えて、プログラムをライン実行する方法を見ていきます。前回作成したプログラムを使用しますので、前回の記事の内容を実行しておいてください。


前回作ったプログラムを少し修正します。EasyLanguageを起動してください。起動だけすれば、前回作ったものが自動的に表示された状態になっていると思います。

TradeStation起動 → 表示(V) → EasyLanguage開発環境(L)

EasyLanguage起動

プログラムコードを以下のように変更してください。OnButtonClickの中身の変更と、新しい関数(Test)の追加です。

追加した部分を簡単に説明すると、”Hello World!!!”を代入している下で、Test関数を呼び出しています。引数(パラメータ)は1つで、数字の123456を渡しています。その下にTest関数の定義があり、test_paramという変数名で引数を受け取って、テキストボックスのテキストに受け取った数値を文字列に変換して代入しています。int型(数値型)を文字列にするには、toString関数を呼ぶ必要があります。

ライン実行をするにはどこかでプログラムを止める必要があります。”Hello World!!!”を代入しているところにカーソルを合わせて、以下の操作を行ってください。

デバッグ(D) → ブレークポイントを切り替え(B)

ブレークポイント挿入

コードの横に赤い点が表示されました。プログラムを実行すると、そこで止まります。以下の操作を実行してプログラムを実行してください。

F3(コンパイル:検証) → F5(Start Debugging) → 表示している銘柄が出るので選択してOK

ボタンを押すと、赤い点のところでプログラムが止まります。値を参照するために、ウィンドウ下部のタブをウォッチに切り替えて、名前の下の入力箇所をダブルクリックして”textbox1″と入力してEnterを押下してください。

デバッグ実行中

ウォッチタブで変数の中身が参照できます。操作説明のために追加しましたが、その位置にある変数は自動的に自動タブに入るので”textbox1″は自動タブにも入っています。ライン実行させるにはF11(ステップイン)とF8(ステップオーバー)があります。ステップインは関数の中に入って実行します。ステップオーバーは関数の中には入りません。まずF8を押下してください。水色の行が次の行に移動して、ウォッチタブに入れた”textbox1″の”Text”が”Hello World!!!”に変わったことが確認できると思います。

変数の中身を参照する

次にF11を押下してください。”Test”関数の中に実行中ラインが移動して、次にF11(F8でも同じ)を押下すると、”end;”のところに実行中ラインが移動して、”textbox1″の”text”の中身が”123456″になっています。

関数の中をデバッグ実行

F5を押下してください。F5を押下した場合は、次のブレークポイント(赤い点)に移動しますが、後ろにブレークポイントはないので最後まで実行されました。以下の操作でデバック実行を停止させてください。

デバッグ(D) → デバッギングを停止する(O)

このように変数の中身を参照したりとか、プログラムがどこを実行しているか調べたい場合は、デバッグ実行を使用します。今日のソースコードはここからダウンロードできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です