【VB.Net】2000年以降の干支を計算するアプリを作ってみた

どうも!リョクちゃです。

新年あけましておめでとうございます。

今年もよろしくお願いします。

変わらずにVB.Netの個人的学習記事を書きつづっていこうと思います。

さて、今回は2000年以降のある西暦の干支を計算する、

アプリケーションを作成してみたので紹介していきます。

ちなみに前回はこちらです。

スライドショー……順番に画像や資料を表示する機能のことを指します。今回WindowsフォームアプリケーションでPictureBoxとTimerを使ってランダムなスライドショーなるものを作ってみました。この過程や各ツールについて紹介していきます。



準備編

今回作成するWindowsフォームアプリケーションについて、

各章立てて触れていきます。

スポンサーリンク




準備編:フォームの作成

以下のフォームを作成します。

各①~⑥のコントロールについては、以下の表になります。

Noアイテムコントロール名
1LabelLabel1
2TextBoxTextBox1
3LabelLabel2
4LabelLabel3
5ButtonButton1
6PictureBoxPictureBox1

準備編:干支イラストの準備

今回PictureBox1に表示する干支の画像を、

下記サイトからダウンロードし使用させていただきました。

イラストボックス

※ゆりゆりのゆりさん、ありがとうございます。

ダウンロードした画像をそれぞれデスクトップ上の

任意に作成したフォルダに保存しています。

C:\Users\ユーザ名\Desktop\Eto

※ユーザ名には自身のPC端末のユーザ名が割り当てられます。

OSによっては異なるかと思います。

実行環境

筆者の実行環境は、

  • VisualStudio2019
  • Windows 10 64bit
  • .Net Framework 4.5.1

になります。

※ Windows7 8 8.1でも動作はできますが、画面デザインの表示が変わるかもしれません。

アプリケーションの目的

TextBox1に2000年以降の西暦を入力し、Button1を押すことで

入力された西暦の干支を算出し、求まった干支をLabel3に表示するとともに

PictureBox1にLabel3に表示された干支の画像が表示できることを目的とします。

プログラム編

定数宣言

2000年より前の西暦は対象外なので、あらかじめ数値を宣言します。

干支の画像が保存されているフォルダの場所を定数として宣言します。

※ユーザ名は各自の端末のユーザ名になります。

干支の計算

干支の計算については、2000年以降の場合は以下の式で算出することができます。

  1. 干支 = 入力された西暦 – 2000
  2.    = 1で求まった値 + 5
  3.    = 2で求まった値 / 12
  4.    = 3の余り

が答えになります。

求まった答えを以下の表に当てはめてあげることで、
その西暦の干支がわかります。

あまり干支
1ねずみ(子)
2うし(丑)
3とら(寅)
4うさぎ(卯)
5たつ(辰)
6へび(巳)
7うま(午)
8ひつじ(未)
9さる(申)
10とり(酉)
11いぬ(戌)
12いのしし(亥)

例えば、2015年の干支を知りたい場合、

干支 = 2015 – 2000

= 15 + 5

= 20 / 12

= 8(あまり)

表を参考に、求まった値は8なので、”未”年になります。

この計算をプログラムにてコードで書くと、以下のようになります。

((CInt(入力された年) – 2000) + 5 ) Mod 12
※ Modは余りを求める、算術演算子になります。

干支の計算:あまりを干支に変換

このままでは求まった値が何の干支なのかプログラムではわからないので、

値を干支に変換する関数を作成します。

これとは別に、ローマ字表記を日本語表記に変換する関数も作成します。

計算ボタン押下後の処理

入力値がない場合は処理をしないようにします。

入力値がある場合、以下の流れで処理を進めていきます。

  1. 干支画像ファイルのパスを取得
  2. 入力された西暦から干支を計算
  3. 2で求まった値からローマ字表記の干支に変換
  4. 結果をLabel3に表示
  5. PictureBox1にLabel3に表示されている干支の画像を表示

実行編

それでは実行をしていきます。

プログラム起動時

西暦を入力

干支を計算ボタンを押下後

ちなみに2021年で実行すると……

言わずもがなですが…丑になります。



まとめ

今回、入力された年の干支を教えてくれるアプリケーションを作成し、

その年の干支の算出方法や表示の仕方などを解説していきました。

読者の方の何らかの参考になれば嬉しいです。

今年もこんな感じで作ったプログラムや学んだことを紹介していきます。

最後までご覧いただきありがとうございます。

・こちらの書籍を参考にVB.Net勉強しています。

スポンサーリンク