プログラムライブラリ - 日本語版 西暦-和暦換算プログラム

プログラムライブラリ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します

初版 2019/05/07
 更新 2019/05/08


日本語版 西暦-和暦 換算プログラム (令和対応版) - YearConv Ver 3.2


※ カシオプログラム電卓の実用プログラムでは、多分世界初の日本語表記プログラム!?
※ 令和の御代代わりを言祝ぎ、作成したもの.

[2019/05/07] バグ修正版
[2019/05/08] 元号期間の誤りを訂正 (元号一覧- Wikipedia による)、ファイル差し替え



著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

- Casio fx-CG10/20・fx-CG50 - C.Basic for CG Ver 0.50 alpha 以降でのみ動作、最新版を推奨
アドイン版Casio Basic - C.Basic for CG が必要


プログラムの説明

Casio Basic プログラムは日本語表記できない

西暦と和暦を換算する機能に加えて、"あの人の年齢はいくつかな?" 機能をおまけとして追加したプログラムを、公開しています。
プログラムライブラリ - 西暦-和暦 換算プログラム - YearConv Ver 2.2

これを日本語版にしたものを今回紹介する。


fx-CGシリーズ日本語化プロジェクト

カシオのfx-CGシリーズ (fx-CG10 / CG29 / CG50) は、中文を言語として選択ができ、内蔵されている各国語フォントに中文用の簡体字フォントが含まれています。このフォントは GB2312コードに近いが少し異なるカシオ仕様になっています。

残念ながら選択言語に日本語はありません。カシオが電卓ビジネスにおいては、日本市場を軽視し、日本市場のためには開発資源を回さない方針の証でもあります。経済原理の前には日本メーカーであることを忘れなければならないのでしょう。とても残念に思います。

さて、管理人の周りでは、プログラム電卓で作る走るプログラムを日本語表記させたいという話が以前からありました。
そして、Colon様、saentaro様、ツル様が中心になって、
 ・無ければ日本語フォントを作ろう
 ・既に内蔵されている簡体字フォントを流用しよう
という開発の流れが始まり、簡体字フォントを流用するアプローチの1つとして、fx-CGシリーズの各種表示を簡体字化する g3l ファイルが Colon様により作成され、fx-CG20 / CG50 日本語化計画 にて発表しています。

さらに、アドイン版Casio Basic - C.Basic for CG の開発過程で、電卓本体に内蔵されている簡体字フォントをキャラクタとして使えるようになっており、Ver 0.83 alpha 以降では欲しい漢字を探しやすくなりました。


Year Converter 日本語版 Ver 3.1 の画面と操作

YC_cb1f YC_cb2f YC_cb3f 
左の画像 - C.Basic for CG のファイルリストから YearConv.g3m を起動.
中央画像 - YearConv が起動し、デフォルトで日本語表記されている.
右の画像 - [0]キーで AD (西暦) 2020 年を入力した結果。令和 2 年を入力した結果も同じになる.

YC_cb4f YC_cb5f YC_cb6f 
左の画像 - [6]キーで2038年を入力すると、令和2年生まれの人は2038年で18才になると分かる.
       [7]キーで18を入力すると、令和2年生まれの人が18才になるのは2038年だと分かる.
     どちらも同じ結果が表示される.
中央画像 - [3]キーを長押しすると昭和時代の期間が表示される. ひらがなフォントも使える.
右の画像 - [OPTN]キーで英語表記に切り替わったところ. もう一度押すと漢字表記に戻る.


プログラム編集画面での漢字表示

YC_cb9f YC_cb8f YC_cb10f 
左の画像 - Yrd.g3mのソースコードを表示したプログラム編集画面.
       ミニフォント表示で、さらに漢字を出力しているコードがみえる .
中央画像 - プログラム編集画面で日本語表示するために、SETUPで Edit GB Font を On か Full にする.
右の画像 - "AD" を"西暦" としたいが、簡体文字フォントでは "暦" にならず、妙なフォントになる.
       そこで "AD" の表記のままにした。

Excel - KANJI DispCap11f 
左の画像 - Excel で "和" を入力して、JISコードの10進数表示と16進数表示を示している.
       B7セルには =IF(A7="","",CODE(A7))、C'セルには =IF(A7="","",DEC2HEX(B7))
       と式を入力.
       これから、”和" の JISコードが 4F42 と分かる. このExcelファイルのダウンロード.
右の画像 - C.Basic for CG で 簡体字フォント がJISコード並びで表示されている画面.
       0x4F20 ~ 0x4F7F までが表示されており、4F42 を探せば "和" が見つかる.
       このまま [EXE]キーを押せば、ソース編集画面のカーソル位置に "和" が入力される.

最初は、漢字を使わない英語表記のバージョンの Year Converter Ver 2.2 を 純正Casio Basic で作りました。このソースコードを元にして、下記の3つの C.Basic for CG 拡張機能を代わりに使って日本語版に改造しました。プログラム構造やロジックは 純正Casio Basic で最初に作ったものと同一です。
  • Getkey の代わりに拡張コマンド Getley1 を使用.
  • Else If と多くの IfEnd を使う代わりに新たな ElseIf ステートメントと1つの IfEnd を使用
  • 簡体字コードを使用
簡体字コードの仕様は日本語版には必須ですが、それ以外の Getkey1ElseIf は特に変更する必要はありません。



プログラムのファイル構成

メインプログラム: YearConv
サブルーチン: YrcYrdYrl
入力ボックス: INPI



プログラムファイル & ソースコード

※ C.Basic for CG 用プログラムファイル
   プログラムファイル (g3m) とテキストファイルのダウンロード
  • 本プログラムには、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。




応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

リンク集 | ブログ内マップ


関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

コメントの投稿

非公開コメント

最新記事
検索フォーム
最新コメント
カテゴリ
C# (3)
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを作って、使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています。

なお管理人はカシオ計算機の関係者ではなく、Casio Basicが面白いと感じる1ユーザーです。


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR