スロットプログラム

Similar documents
回文作成支援プログラム

ルーレットプログラム

ブロック パニック

インベーダープログラム

ブロック崩し風テニス

VB.NET解説

回文作成支援プログラム

占領双六ゲーム

パラパラ漫画

グラフィックス

3D回転体プログラム

NotifyIconコントロール

相性占いプログラム

回文作成支援プログラム

ICONファイルフォーマット

神経衰弱ゲーム

回文作成支援プログラム

画像閲覧プログラム

草競馬プログラム

VB実用⑦ エクセル操作Ⅰ

ListViewコントロール

万年暦プログラム

画像閲覧プログラム

回文作成支援プログラム

パラパラ漫画

Userコントロール

回文作成支援プログラム

データアダプタ概要

万年暦プログラム

ファイル操作-インターネットキャッシュ

ファイル操作

正規表現応用

相性占いプログラム

倉庫番

プロセス間通信

Visual Basic 資料 電脳梁山泊烏賊塾 コレクション初期化子 コレクション初期化子 初めに.NET 版の Visual Basic では 其れ迄の Visual Basic 6.0 とは異なり 下記の例の様に変数宣言の構文に 初期値を代入する式が書ける様に成った 其の際 1 の様に単一の値

VB 資料 電脳梁山泊烏賊塾 音声認識 System.Speech の利用 System.Speech に依るディクテーション ( 音声を文字列化 ).NetFramework3.0 以上 (Visual Studio 2010 以降 ) では 標準で System.Speech が用意されて居るの

平成 30 年度 プログラミング研修講座 岩手県立総合教育センター

占領双六ゲーム

Prog2_12th

わにわにパニックプログラム

万年暦プログラム

ドッグファイト

ファイル監視

3D回転体プログラム

VB実用⑬ 印刷Ⅲ(PrintFormメソッド)

ドライブは安全運転で in 滋賀♪

かべうちテニス

チャットプログラム

構造体

通信対戦プログラム

モグラ叩きプログラム

プロシード

万年暦プログラム

ウィンドウ操作 応用

Microsoft Word -

何時何処で誰が

3D回転体プログラム

(Microsoft Word \203v\203\215\203O\203\211\203~\203\223\203O)

データベースⅠ

Microsoft Word - VB.doc

アプリケーション

神経衰弱ゲーム

Microsoft PowerPoint - VBA解説1.ppt [互換モード]

プラグイン

Microsoft Word - VBA基礎(3).docx

sinfI2005_VBA.doc

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

相性占いプログラム

ハッシュテーブル

.NETプログラマー早期育成ドリル ~VB編 付録 文法早見表~

ファイル操作-バイナリファイル

PYTHON 資料 電脳梁山泊烏賊塾 PYTHON 入門 関数とメソッド 関数とメソッド Python には関数 (function) とメソッド (method) が有る モジュール内に def で定義されて居る物が関数 クラス内に def で定義されて居る物がメソッドに成る ( 正確にはクラスが

バスケットボール

Prog2_2nd

GUIプログラムⅣ

VB実用⑩ エクセル操作Ⅳ

Microsoft Word _VBAProg1.docx

Prog2_15th

VB実用⑧ エクセル操作Ⅱ

スライド 1

プレポスト【問題】

C 資料 電脳梁山泊烏賊塾 構造体 C++ の構造体 初めに 此処では Visual Studio 2017 を起動し 新しいプロジェクトで Visual C++ の Windows デスクトップを選択し Windows コンソールアプリケーションを作成する 定義と変数宣言 C++ に

はるよちゃんっ!

データベース1

スレッド操作 タイマー

データベース1

Java講座

ExcelVBA

Visual Studio2008 C# で JAN13 バーコードイメージを作成 xbase 言語をご利用の現場でバーコードの出力が必要なことが多々あります xbase 言語製品によっては 標準でバーコード描画機能が付加されているものもあるようで す C# では バーコードフォントを利用したりバー

データベースⅡ

グラフィックス 目次

DAOの利用

C#の基本

Javaプログラムの実行手順

Microsoft Word 練習問題の解答.doc

通信対戦プログラム


通信対戦プログラム

Transcription:

スロットプログラム VB 2005 6 プログラムの概要 スタートボタンをクリックすると 3 個のピクチャボックスの絵が 一定間隔で 5 種類の絵柄の中から ランダムに変化する 次にストップボタンをクリックすると 3 個のピクチャボックスの絵が止まり 3 個の絵柄が総て揃えば あたり 2 個の絵柄が揃えば おしい 総ての絵柄が異なれば はずれ と表示される タイトルバーの 閉じる ボタンをクリックすると タイマーが稼動して居れば 其れを停止し プログラムをメモリから消去して終了する 今回の課題項目 定数の宣言 (Const) 単純変数の宣言 (Dim) 配列変数の宣言 (Private) 標準コントロールの利用 (Label Picture Button Timer Panel) プロパティの値の取得と設定 (Text BackColor Enabled Image Cancel) イベントの利用 (Load FormClosing Click Tick) メソッドの利用 (CreateGraphics DrawImage Dispose) ステートメントの利用 (End Randomize) 組込関数の利用 (UBound Rnd Int) 演算子 ( 代入演算子 論理演算子 算術演算子 ) 制御構造構文 ( 条件分岐 ループ処理 ) 今回の重点項目 タイマーの利用 ( 一定時間間隔でのイベントの発生 ) If 文に依る条件分岐 (If ~ Then ElseIf Else End If) For 文に依るループ処理 (For counter=start To end: :Next counter) 乱数系列の初期化と乱数の発生 (Randomize Rnd) 今回の応用項目 各絵柄を個別に停止する事が出来る様にする 各絵柄を一定の順番で回転させる様にする -1-

オブジェクト プロパティ一覧 ラベル 1 ピクチャー 4 ラベル 2 ピクチャー 5 ピクチャー 6 ピクチャー 7 ピクチャー 1 ピクチャー 2 ピクチャー 3 パネル ピクチャー 8 タイマーボタン1 ボタン2 コントロールの種類 プロパティ プロパティの設定値 フォーム Name slot FormBorderStyle FixedSingle BackColor 128, 255, 255( 左記の通り直接入力 ) Icon Lupin.ico( アイコンファイル ) MaximizeBox False StartPosition CenterScreen Text ルパンⅢ 世のスロット ラベル1 Name lbltitle Font HG 創英角ホ ッフ 体 太字 18 Text ルパンⅢ 世のスロット ラベル2 Name lblmes AutoSize False BackColor Blue ForeColor White Font MS 明朝 太字 14 Text 空白 TextAlign MiddleCenter パネル Name pnlslot BackgroundImage ブルーリング.bmp BorderStyle FixedSingle タイマー Name tmrgame -2-

コントロールの種類 プロパティ プロパティの設定値 ピクチャーボックス1~3 Name picboard0, picboard1, picboard2 Image Lupin.ico SizeMode CenterImage ピクチャーボックス4~8 Name picslot0, picslot1,, picslot3, picslot4 BorderStyle Image FixedSingle picslot0 :Fujiko_1.ico picslot1 :Fujiko_2.ico picslot2 :Goemon.ico picslot3 :Jigen.ico picslot4 :Lupin.ico Size 32,32 Visible False ボタン1 Name btnstart Font MS 明朝 太字 12 BackColor Blue ForeColor White Image Lupin.ico ImageAlign TopCenter Text スタート TextAlign BottomCenter ボタン2 Name btnstop Font MS 明朝 太字 12 BackColor Blue ForeColor White Image Lupin.ico ImageAlign TopCenter Text ストップ TextAlign BottomCenter ラベルテキストを表示するコントロール 此のテキストは ユーザーが直接入力したり変更したりする事は出来ない ボタンユーザーが選択したコマンド ( 命令 ) や操作を実行するコントロール OK ボタンや実行ボタン等 処理の開始や中断 終了の合図に用いられ 最も良く利用されるコントロールで有る ボタンが押し下げられた様に外観が変わる為 プッシュボタンとも謂う ピクチャボックスビットマップ アイコン メタファイル JPEG ファイル GIF ファイル等の画像を表示するコントロール 従来のバージョン (VB 6.0) の様に 描画メソッドを用いて描画する事や 内部に他のコントロールを配置してコンテナと仕て使用する事はは出来ない パネル他のコントロールをグループ化する為のコンテナと成るコントロールで有る 通常は 別にフォームを細分化する為に使用する 亦 BackgroundImage プロパティを設定すると コントロールの背景にイメージが表示される タイマー一定の時間間隔でイベントが発生する様にするコントロール 一定時間毎にプログラムを実行したい時に使用する 此のコントロールは 実行時には表示されない -3-

プログラムリスト Public Class slot ' フォームレベルでグローバルな定数の宣言 Private Const NP As Integer = 5 ' フォームレベルでグローバルな変数の宣言 Private BD(2) As Integer Private DI(2) As Graphics Private SI(4) As Bitmap 此処で宣言した変数は同じフォーム内の総てのサブプロシージャで値の参照と設定を行う事が出来る ' フォームが読み込まれた時の処理 Private Sub slot_load( ByVal sender As Object, ByVal e As System.EventArgs ) _ Handles Me.Load 此処で宣言した変数は宣言したサ Dim I As Integer ' 仮想画面 ( スロットの目 ) の初期化 For I = 0 To UBound( BD ) BD( I ) = 0 Next ' 描画用 Graphics オブジェクトの生成 DI(0) = picboard0.creategraphics( ) DI(1) = picboard1.creategraphics( ) DI(2) = picboard2.creategraphics( ) ' 表示用 Bitmap オブジェクトの生成 SI(0) = New Bitmap( picslot0.image ) SI(1) = New Bitmap( picslot1.image ) SI(2) = New Bitmap( picslot2.image ) SI(3) = New Bitmap( picslot3.image ) SI(4) = New Bitmap( picslot4.image ) ' 乱数系列の初期化 Randomize( ) End Sub 用される ' フォームが閉じられ様と仕た時の処理 Private Sub slot_formclosing(byval sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) _ Handles Me.FormClosing If MsgBox( " 終了しますか?", MsgBoxStyle.YesNo, " 確認 " ) = MsgBoxResult.Yes Then If tmrgame.enabled = True Then 終了する場合 タイマーが稼動し tmrgame.enabled = False て居れば停止し プログラムをメ End If モリから消去して終了する Me.Dispose( ) : End Else e.cancel = True Cancel プロパティを True に設定 End If する事に依り 終了操作をキャン End Sub セルする事が出来る -4- ブプロシージャ内でしか値の参照 と設定を行う事が出来ない ループ処理ではカウンター I の値 を 0 から配列 BD の添字の最大値 迄 順次 1 ずつ変化 ( インクリメ ント ) させて Next 迄の処理を繰 り返し行う 描画先と成る Graphics オブジェ クトと 描画元と成る Bitmap オ ブジェクトを ピクチャボックス より生成する 乱数系列を初期化する場合に乱数 の種 ( シード ) を引数として与え る事も出来るが 引数を省略した 時は システムタイマーから取得 した値が新しいシード値と仕て使

' ボタン ( スタート ) がクリックされた時の処理 Private Sub btnstart_click(byval sender As Object, ByVal e As System.EventArgs) _ Handles btnstart.click ' メッセージ欄の初期化 lblmes.text = "" lblmes.backcolor = Color.Blue ' タイマーの有効化 tmrgame.enabled = True End Sub ダブルコーテーションの間に何も記述せず2 個連続して記述すると 長さ0の文字列 ( ヌルストリング ) を意味し 文字列の消去等に利用する ' タイマーが一定間隔で行う処理 Private Sub tmrgame_tick(byval sender As Object, ByVal e As System.EventArgs) _ Handles tmrgame.tick 此処で宣言した変数は宣言したサ Dim I As Integer ブプロシージャ内でしか値の参照 と設定を行う事が出来ない ' スロットの各目の設定 For I = 0 To UBound( BD ) ' 乱数で目を決定 BD( I ) = Int( Rnd( ) * NP ) ' 画像を貼付 DI( I ).DrawImage( SI( BD( I ) ), 6, 6 ) Next End Sub Int 関数は 引数を超えない最大の整数を返す関数で有るが 正の値を指定する時には 単に整数部分を返す関数と考えて支障無い ' ボタン ( ストップ ) がクリックされた時の処理 Private Sub btnstop_click(byval sender As Object, ByVal e As System.EventArgs) _ Handles btnstop.click ' タイマーの無効化 tmrgame.enabled = False 条件判定に 比較演算子を使用し ' 当り判定て居る lblmes.backcolor = Color.Red A = B : AとBは等しい If BD(0) = BD(1) And BD(1) = BD(2) Then lblmes.text = " あたり " ElseIf BD(0) = BD(1) Or BD(1) = BD(2) Or BD(2) = BD(0) Then lblmes.text = " おしい " Else 此の場合のイコール (=) 記号は lblmes.text = " はずれ " 代入演算子で有り 右辺の値を左 End If 辺に代入する働きをする End Sub End Class -5-

And 演算子と Or 演算子に依る複数の条件に依る条件分岐 複数の条件判断を行う演算子 1 If 条件式 1 And 条件式 2 Then 2 If 条件式 1 Or 条件式 2 Then And 演算子と Or 演算子は 論理値の演算を行う論理演算子で有る 上記 1 では 条件式 1 と条件式 2 が 共に真 (True) で有る場合に 真と成る And 演算子は 論理積と呼ばれる論理演算子で 且つ を意味する 条件式 1の値 条件式 2の値 結果の値 True True True True False False False True False False False False 上記 2 では 条件式 1 か条件式の孰れかが 真 (True) で有る場合に 真と成る Or 演算子は 論理和と呼ばれる論理演算子で 又は を意味する 条件式 1 の値条件式 2 の値結果の値 True True True True False True False True True False False False 3 個以上の条件式が有る場合は 2 個の条件式の結果と 3 個目の条件式が評価されると謂う様に 常に 2 個宛の条件式が 順次評価されて行く 条件式 1 Or 条件式 2 Or 条件式 3 結果の値 結果の値 猶 And 演算子と Or 演算子が混在する場合は And 演算子の方が 優先順位が高い為 And 演算子で比較される条件式の方が 先に評価される 優先順位を変更するには 括弧を付ける事に依り 優先順位を制御する事が出来る コードを見易くする為にも 括弧を使用して 優先順位を明示する事が望ましい 猶 優先順位が同じ場合は 演算子の結合規則に依り 演算の実行順序が決定されるが 二項演算子の結合規則は総て左から右で有り 演算 ( 評価 ) は左から右に実行される 亦 Boolean 型には AndAlso 演算子と OrElse 演算子も使用可能で 此等は ショートサーキット評価を実行する 即ち 特定の状況では 2 番目の条件式は実行時に評価されない 詰まり AndAlso 演算子では 条件式が False に評価された時点で 式は False を返し 以降の条件式は 評価されない 亦 OrElse 演算子では 条件式が True に評価された時点で 式は True を返し 以降の条件式は 評価されない -6-

Const ステートメントに依る定数の宣言 定数の宣言を行うステートメント [Public Protected Friend Protected Friend Private] Const As データ型 = 値 リテラル値の代わりに使用する定数を宣言する為に モジュール クラス プロシージャ 構造体 ブロックの各レベルで使用する Sub Function Property の各プロシージャ内で宣言した定数は 其のプロシージャ内でしか参照する事が出来ないが プロシージャの外で宣言された定数は 宣言されたクラス モジュール 又は 構造体の何処ででも参照する事が出来る リテラル値を直接コードに記述するのでは無く コードの可読性を高める為 内容を類推し易い名前を付けた定数を使用する事を推奨する 特に 数値を直接コードに記述した場合 マジックナンバー ( 不思議な数 ) と呼ばれ 其れが何を意味して居るのか容易に類推出来ない事が多く 可読性を著しく低下させる恐れが有り メンテナンス面でもデメリットが多い UBound 関数に依る配列の最大要素番号の取得 配列の最大要素番号を返す関数 UBound( 配列名, [ 次元 ]) 配列の指定された次元で使用可能な要素番号 ( 添字 ) の最大値を返す 引数の配列名には 或る次元で使用可能な要素番号 ( 添字 ) の最大値を調べる対象と成る任意のデータ型の配列を指定し 必ず指定する 引数の次元には 使用可能な要素番号 ( 添字 ) の最大値を取得する次元を Integer 型の値で指定し 省略可能で有る 最初の次元なら 1 2 番目の次元なら 2 と謂う様に指定する 省略すると 1 が使用される 配列の次元と UBound 関数が返す値の関係を下記に示す Dim A(100, 5, 4) As Byte の場合 UBound(A, 1) UBound(A, 2) UBound(A, 3) 100 が返される 5 が返される 4 が返される 猶 配列の添字は 0 から始まる為 次元の長さ ( 個数 ) は 其の次元で使用可能な要素番号 ( 添字 ) の最大値より 1 丈大きい数値に成る 亦 配列の指定された次元で使用可能な要素番号 ( 添字 ) の最小値を返す Lbound 関数も有るが 此れは Visual Basic 6.0 以前では 配列の要素の下限を任意に設定する事が出来たので 有効で有ったが Visual Basic.NET 以降では 配列の要素番号 ( 添字 ) は 0 から始まる為 各次元で使用可能な要素番号 ( 添字 ) の最小値は常に 0 で有り 意味を為さない関数と成った -7-

MsgBox 関数に依るダイアログメッセージの表示 メッセージボックスを表示する関数 MsgBox( プロンプト, ボタン, タイトル ) ダイアログボックスにメッセージを表示し ボタンがクリックされるのを待って 何のボタンがクリックされたのかを示す整数型 (Integer) の値を返す 引数のプロンプトには ダイアログボックス内にメッセージと仕て表示する文字列を指定し 必ず指定する 引数のボタンには 表示されるボタンの種類と個数 使用するアイコンのスタイル 標準ボタン メッセージボックスがモーダルか何うか等 其等を表す値の合計値を示す数式を MsgBoxStyle 列挙型の値で指定し 省略可能で有る 省略すると 既定値は 0 に成る 下記に代表的な MsgBoxStyle 列挙型の値を示す 列挙型 値 説明 OKOnly 0 [OK] ボタン而巳を表示する OKCancel 1 [OK] ボタンと [ キャンセル ] ボタンを表示する AbortRetryIgnore 2 [ 中止 ] [ 再試行 ] 及び [ 無視 ] の3 個のボタンを表示する YesNoCancel 3 [ はい ] [ いいえ ] 及び [ キャンセル ] の3 個のボタンを表示する YesNo 4 [ はい ] ボタンと [ いいえ ] ボタンを表示する RetryCancel 5 [ 再試行 ] ボタンと [ キャンセル ] ボタンを表示する Critical 16 警告メッセージアイコンを表示する Question 32 問合メッセージアイコンを表示する Exclamation 48 注意メッセージアイコンを表示する Information 64 情報メッセージアイコンを表示する 例えば [ はい ] と [ いいえ ] ボタンを表示し 問合メッセージアイコンを表示する場合は 引数のボタンの個所に MsgBoxStyle. YesNo + MsgBoxStyle. Question と記述する 猶 エディタでコードを入力する際には 上記は インテリセンスで表示されるので 特に覚える必要は無い 引数のタイトルには ダイアログボックスのタイトルバーに表示する文字列を指定し 省略可能で有る 省略すると タイトルバーにはアプリケーション名が表示される MsgBox 関数は 下記の MsgBoxResult 列挙型の値を返す メンバ 値 定数 説明 OK 1 vbok [OK] ボタン Cancel 2 vbcancel [ キャンセル ] ボタン Abort 3 vbabort [ 中止 ] ボタン Retry 4 vbretry [ 再試行 ] ボタン Ignore 5 vbignore [ 無視 ] ボタン Yes 6 vbyes [ はい ] ボタン No 7 vbno [ いいえ ] ボタン -8-

CancelEventArgs の Cancel プロパティに依るプログラムの終了制御 イベントをキャンセルするか何うかを示す値を取得 設定するプロパティ CancelEventArgs.Cancel = 論理値 フォームの 閉じる ボタンがクリックされた時に発生する Closing イベントをキャンセルするか何うかを決定する フォームの 閉じる ボタンがクリックされた時に発生する Closing イベントで プログラムの終了確認や 未保存データの保存確認を行い 間違って同ボタンをクリックした時に 不用意にプログラムが終了するのを防止する目的で使用される事が多い フォームを閉じる操作をキャンセルするには イベントハンドラに渡される CancelEventArgs の Cancel プロパティを True に設定する Color 構造体に依る色の指定 Color 構造体のプロパティを使用してシステム定義色を指定する方法 約 140 色が システム定義色と仕て Color 構造体のプロパティに定義されて居る 此れを使用して 色を指定するは 下記の通りで有る :[System.Drawing.]Color. プロパティ記述例 :[System.Drawing.]Color.Red 猶 System.Drawing 名前空間は 既定で参照設定される為 特に名前の衝突が起こらない限り 記述する必要は無い ( 以下同じ ) Color 構造体のメソッドを使用してユーザー定義色を指定する方法 ユーザ定義色を指定する FromArgb メソッドのは 下記の通りで有る :[System.Drawing.]Color.FromArgb( アルファブレンド, 赤の要素, 緑の要素, 青の要素 ) 記述例 :[System.Drawing.]Color.FromArgb(128, 255, 0, 0 ) 夫々れの引数には 0~255 迄の整数の値を指定する アルファブレンドは 省略する事が可能で 省略した場合は 255( 不透明 ) を指定した事に成る 上記以外にも SystemColors クラスのプロパティを使用してシステムカラー ( 例えば タイトルバーの色に設定されて居る色 ) を指定する方法や ColorTranslator クラスの FromOLE メソッドを使用して従来の方法で色を指定する方法が有る [System.Drawing.] SystemColors.ScrollBar [System.Drawing.]ColorTranslator.FromOLE(VB6.QBColor(14 ) [System.Drawing.]ColorTranslator.FromOLE(VB6.RGB(255, 0, 0 ) [System.Drawing.]ColorTranslator.FromOLE(&HFF80FF) 一般に Color 構造体のプロパティやメソッドを使用して色の指定を行う事が多い -9-

コントロールの CreateGraphics メソッドに依る Graphics オブジェクトの生成 コントロールの Graphics オブジェクトを作成するメソッド Graphics オブジェクト変数 = Object.CreateGraphics( ) コントロールに画像を表示したり グラフィックスや文字を描画する為に必要な Graphics オブジェクトを生成する 生成された Graphics オブジェクトを通じて コントロールに画像を表示したり グラフィックスや文字を描画する 従来の Visual Basic 6.0 以前の様に フォームやピクチャボックスに グラフィックスメソッドを使用して 直接描画を行う事は出来ない 猶 Graphics オブジェクトは 不要に成れば Dispose メソッドを呼び出して破棄する必要が有る 亦 Graphics オブジェクトは 現在のウィンドウのメッセージの存続期間丈有効で有る Bitmap コンストラクタに依る Bitmap オブジェクトの生成 Bitmap オブジェクトを作成するコンストラクタ Bitmap オブジェクト変数 = New Bitmap(Object.Image) コントロールの Image プロパティより グラフィックスイメージのピクセルデータと其の属性で構成される GDI+ ビットマップをカプセル化したデータを保持し イメージを処理する場合に使用する Bitmap オブジェクトを生成する Bitmap コンストラクタには 上記以外にも 画像ファイルから生成したり サイズ丈を指定して生成したり 色々なオーバーロード ( 同一のスコープ内で同一の関数や演算子に複数の定義を与える事 即ち 同じ名称で 引数の異なる形式 ) が存在する Graphics オブジェクトの DrawImage メソッドに依る画像の描画 指定した位置に元のサイズで指定したイメージを描画するメソッド GraphicsObject.DrawImage( イメージ, 横位置, 縦位置 ) イメージの左上隅を横位置と縦位置で指定された点に イメージを元のサイズで描画する DrawImage メソッドには 上記以外にも イメージの一部を切り取って描画したり サイズを変更して描画したり 色々なオーバーロード ( 同一のスコープ内で同一の関数や演算子に複数の定義を与える事 即ち 同じ名称で 引数の異なる形式 ) が存在する イメージには Image クラスから派生したオブジェクトを指定し Bitmap オブジェクトや Metafile オブジェクトを指定する事が出来る -10-

.NET Framework 対応 乱数の発生 Private Rn As Random = New Random().NET Framework では 乱数を発生させるには Rnd 関数ではなく Random オブジェクトを使用する ( 此処では 頻繁に使用するので クラスのメンバ変数に仕て居る ) 猶 クラスをインスタンス化する時に 乱数系列の初期化が行われるので Randomize 関数の実行は 不要と成る BD(I) = Int(Rnd() * NP) BD(I) = Rn.Next(0, NP) 上記では 0 以上 6 未満の整数値 (Integer 型 ) が返される 猶 Rnd 関数の様に 0.0 以上 1.0 未満の実数値 (Double 型 ) を返す NextDouble メソッドも提供されて居る 複合条件式の論理演算子 If BD(0) = BD(1) And BD(1) = BD(2) Then ElseIf BD(0) = BD(1) Or BD(1) = BD(2) Or BD(2) = BD(0) Then If BD(0) = BD(1) AndAlso BD(1) = BD(2) Then ElseIf BD(0) = BD(1) OrElse BD(1) = BD(2) OrElse BD(2) = BD(0) Then.NET Framework では 複合条件式の論理演算子には Or 演算子 ( 論理和 ) や And 演算子 ( 論理積 ) ではなく OrElse 演算子 ( 又は ) や AndAlso 演算子 ( 且つ ) を使用する Visual Basic 6.0 では 論理演算子に ビット演算子で有る Or 演算子や And 演算子を流用して居たが.NET Framework では OrElse 演算子や AndAlso 演算子が追加されたので 今後は 複合条件式の論理演算子には 此れを使用する可きで有る タイマーの始動 停止 tmrgame.enabled = False tmrgame.enabled = True tmrgame.stop() tmrgame.start().net Framework では タイマーの始動 停止には Start メソッドや Stop メソッドを使用するも出来る ( 孰れも 結果は同じで有る ) -11-

テキストボックス内の文字列のクリア txtsrc.text = "" txtsrc.clear().net Framework では テキストボックス内のテキストをクリアする手段と仕て Clear メソッドも使用する事が出来る ( 孰れでも 結果は同じ ) 配列の最大要素番号の取得 For I = 0 To UBound(BD) For I = 0 To BD.GetUpperBound(0) 又は For I = 0 To (BD.Length - 1).NET Framework では 配列の最大要素番号を取得するには UBound 関数ではなく Array クラスの GetUpperBound メソッドを使用する 猶 GetUpperBound メソッドは 多次元配列の各次元の最大要素番号を取得する事が出来る為 引数に次元番号を渡す必要が有る ( 一次元配列の場合は 常に 0 と成る ) 亦.NET Framework では 配列の最小要素番号は 0 に固定されて居るので 最大要素番号は 要素数 -1 で求める事が出来る アプリケーションの終了 Me.Dispose() : End Me.Dispose() : Application.Exit() 現在実行して居るアプリケーションは Application オブジェクトで表されるので 其の Exit メソッドを用いて アプリケーションを終了する 因みに Dispose メソッドは インスタンスをメモリから開放するメソッドで 唯一のフォームが メモリから開放されゝば アプリケーションは終了するが Application クラスの Exit メソッドで アプリケーションを終了する事が望ましい -12-