SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

VB.NETで学ぶ機械語の基礎

VB.NETで仮想CPUを作ろう(14)
- 機械語駆動式 関数電卓を作ろう! 解答編(後半)

VB.NETで学ぶ機械語の基礎 第14回

ダウンロード VirtualCPU14.zip (475.5 KB)

終了時の問題

 あえて仕様として書いておりませんが、今のままでは誤ってこのアプリを終了してしまった時、今までの作業がすべて無駄になってしまいます。そこで筆者は次の処理を追加しました。

作業中のデータが消えないようにする配慮
'このアプリケーションを終了する前にデータのセーブの有無確認します
Private Sub Calculator_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
    If change = True Then
        If MessageBox.Show("データが変更されています。変更点を保存しますか?", "確認", _
            MessageBoxButtons.YesNo, MessageBoxIcon.Information) = Windows.Forms.DialogResult.Yes Then

            Me.SaveMenu_Click(Me.SaveMenu, EventArgs.Empty)
        End If
    End If
End Sub

 このコードを追加すると、機械語駆動式関数電卓を閉じる際に、データの保存の有無を選択できるようになります。この行数で作業の消失を防げるので大変お得と言えるでしょう。長くなりましたが、これですべて終了です。

まとめ

 いかがだったでしょうか? 今回は前回課題として書いた機械語駆動式関数電卓の実装例の残り半分解説しました。これでこの連載は終了です。

 筆者の主目的はバイナリプログラミングの面白さを伝えることと、初心者のお役に立てることです。初心者の方はすべてのファイルを改めて見てください。非常に多くの行数をプログラミングしていることに気付くと思います。きっとこの連載を読む前と比べると、技術力は向上しているはずです。

 連載はこれで終わりですが、この機械語駆動式関数電卓とIntelCpuオブジェクトはまだまだ改善する余地があります。読者の方々にはこのアプリケーションを育てて欲しいと思います。そうすれば、もっとプログラミングが好きになり、CPUに関する深い知識も得られます。ぜひ挑戦してください。

 最後にこの長い連載を最後まで読んでいただいた皆さまにお礼を申し上げます。ありがとうございました。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
VB.NETで学ぶ機械語の基礎連載記事一覧

もっと読む

この記事の著者

インドリ(インドリ)

分析・設計・実装なんでもありのフリーエンジニア。ブログ「無差別に技術をついばむ鳥(http://indori.blog32.fc2.com/)」の作者です。アドバイザーをしたり、システム開発したり、情報処理技術を研究したりと色々しています。座右の銘は温故知新で、新旧関係なく必要だと考えたものは全て学...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/3425 2010/04/27 12:04

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー