C:Basic プロジェクト

アドイン版 Casio Basic
<トップページ>

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

動画追加 2015/11/15
改訂 2015/12/06
追記修正 2017/12/17
更新 2019/05/29


※ 最新バージョンは <トップページ>からダウンロードできます. 


C:Basic とは?

コーディングが楽な Casio Basic を使って、高速なプログラムを作りたい...
そんな望みに応えるために、Casio Basic が高速で動作する環境をアドインで提供する試みが C:Basic プロジェクトです。

C:Basic = アドインCasio Basic インタープリタ & コンパイラ

現在のところ、インタープリタ C.Basic (ドット1個) の開発段階です。C.BasicC:Basic の一部です。


1. 高速動作
グラフ関数電卓 fx-9860GII の 純正 Casio Basic のグラフィックス描画はとても遅く、127×63 ドットの画面を点で埋めるには、かなり待たされます。また、計算量の多いプログラムも、かなり遅くなります。純正 Casio Basic のプログラムソースをそのまま高速動作できるのが C.Basic / C:Basic です。

2. Casio Basic の上位互換の言語仕様
純正 Casio Basic のソースがそのまま使えることを基本に、より便利になるような機能や高速化を実現するような独自機能を追加しています。特にグラフィックスは、純正 Casio Basic コマンドの高速化に加えて、独自コマンドによる高速化も図っています。

3. 電卓で完結する開発環境
プログラムの作成・編集の全てを電卓上で行えて、パソコン不要の開発環境です。C.Basic / C:Basic はアドインとして提供されます。純正 Casio Basic のエディタよりも使いやすく、純正にはないデバッグ機能 (Ver 0.99以降) もあり、かなり高機能なエディタを備えています。さらに、プログラムファイルリストのお気に入り機能があり、fx-5800P に備わっている利便性を fx-9860G シリーズや fx-CGシリーズで実現しています。

4. 対応機種も拡張
fx-9860Gシリーズ用の C.Basic for FX だけでなく、fx-CGシリーズ用の C.Basic for CG もあります。



▋ プロジェクトメンバー
  • 設計&作成: sentaro様
  • サンプルプログラム作成&テスト: 管理人(私)、他有志
  • 開発支援メンバー: Colon様、ガノー様、ツル様、iron2様、他国内外のC.Basicユーザー




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


 


keywords: fx-9860GIICasioBasic、プログラミング入門グラフィックスプログラム関数電卓

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



関連記事

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

プログラムライブラリ - OS内蔵ファンクションメニュー探索

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

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

2019/05/28


OS内蔵ファンクションメニュー探索 - SysFunc Ver 1.3




著作権者

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



対応機種

- Casio fx-CGシリーズ - C.Basic for CG で動作
- Casio fx-9860Gシリーズ - C.Basic for FX で動作



プログラムの説明

OS内蔵ファンクションキー探索プログラム - Check System F-Key

fx-CGシリーズ や fx-9860GシリーズのOSには、ファンクションメニューの様々な画像が内蔵されており、それぞれに System Function Key# が割り当てられている。C.Basic の独自コマンド FKeyMenu( は、[F1] から [F6] の位置に ファンクションメニューを表示できる。その際、OS内蔵の System Function Key# を指定すると内蔵されている画像を利用できる。そこで、メニュー画像と Key # を調べるために本プログラムを作成した。

  C.Basic for CGFKeyMenu( コマンドで呼び出せるOS内蔵のSystem Function Key# を調べる
  1. 画面左下に システムファンクションキーを表示する
  2. カーソルキーで システムファンクションキー#をスキャンする
   - カーソルキーの長押しで連続スキャン
   - 左右 / キー (◀▶) で1づつ Step スキャン
   - 上下 / キー (▲▼) で50刻みの Skip スキャン
  3. [F4](INPUT)[EXE] キーで数値の入力
  4. [F5](HELP) で使い方説明
    
   SysFunc3_1 SysFunc3_4 SysFunc3_2 

    
  C.Basic for FXFKeyMenu( コマンドで呼び出せるOS内蔵のSystem Function Key# を調べる
  1. 画面左下にシステムファンクションキーを表示する
  2. カーソルキーで システムファンクションキー# をスキャンする
   - カーソルキーの長押しで連続スキャン
   - 左右 ←/→ キー(◀ ▶) で1づつ Step スキャン
   - 上下 ↑/↓ キー (▲ ▼) で50刻みの Skip スキャン
  3. [F4] (INPUT)[EXE] キーで数値の入力
  4. [F5] (HELP) で使い方説明

   SysFunc3FX_1 SysFunc3FX_3 SysFunc3FX_2 



プログラムファイルのダウンロード

※ fx-CGシリーズ用
   SysFunc3.g3m のダウンロード

※ fx-9860Gシリーズ用
   SysFunc3.g1m のダウンロード




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


 


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

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


関連記事

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

プログラムライブラリ - 目次 -

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


カシオの fx-5800P を中心に、fx-9860GII (5800Pより大画面、モノクロ) や fx-CG20 / fx-CG50 (5800Pより大画面、カラー) 向けのプログラム集です。本ブログで掲載している種々のプログラムを、まだ全て収録してはいませんが、徐々に拡充してゆきます。

fx-FD10 Pro では、fx-9860GII 用純正Casio Basicプログラムは動作するはずですが、アドインが使えない仕様なのでC.Basicのインストールができず、従って C.Basic専用プログラムは動作しないと思われます。

※適用環境と機種を示す略号の説明
  • [5800P] :  fx-5800Pで動作可能
  • [FX]:fx-9860Gシリーズで動作可能
  • [CG]:fx-CGシリーズで動作可能
  • [Casio Basic]:純正Casio Basicで動作可能
  • [C.Basic]:C.Basicで動作可能

Program Library in English



1. プログラミングツール

  ⇒ キーコード取得 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ RGB指定による色確認プログラム [C.Basic] [CG]

  
OS内蔵ファンクションメニュー番号探索 [C.Basic] [FX / CG]


2. 数学 / 理工

  ⇒ ピタゴラス数

  ⇒ 素因数分解

  ⇒ モンテカルロ法による円周率の計算

  ⇒ 圧力換算 [Casio Basic] [5800P]

  ⇒ 圧力換算 (fx-9860GII、fx-CG20 / CG50) [Casio Basic / C.Basic] [FX / CG]


3. 実用

  ⇒ 世界の時差換算 - Time Zone [Casio Basic] [5800P]

  ⇒ 世界の時差換算 - TimeZone [Casio Basic / C.Basic] [FX / CG]

  ⇒ 複利計算プログラム - CompInt [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 西暦-和暦 換算プログラム - YearConv 2.1 [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ 日本語版 西暦-和暦 監査プログラム - YearConv 3.1 [C.Basic for CG] [CG]


4. ゲーム

  ⇒ もぐら叩き [Casio Basic] [5800P]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [FX]

  ⇒ もぐら叩き [Casio Basic / C.Basic] [CG]

  ⇒ Hit & Blow 数当てゲーム [Casio Basic / C.Basic] [5800P / FX / CG]

  ⇒ マスターマインド Ver. 4 - モノクロ版 [Casio Basic / C.Basic] [FX]

  ⇒ マスターマインド Ver. 4 - カラー版 [Casio Basic / C.Basic] [CG]

  ⇒ 反射ゲーム


5. 汎用サブルーチン

  ⇒ 入力ボックス 2.0 / 2.1 [Casio Basic] [5800P]

  ⇒ 入力ボックス 2.1G [Casio Basic / C.Basic] [FX / CG]

  ⇒ 3桁区切り出力 (汎用サブルーチン) [Casio Basic / C.Basic] [5800P / FX/ CG]





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


 




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

リンク集 | ブログ内マップ
関連記事

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

プログラム電卓のためのWindowsプログラミング

プログラム電卓のためのWindowsプログラミング - トップページ
e-Gadget


2017/01/31
更新 2019/05/22


無償で入手できる開発環境 Visual Studio 2015 Community を使い始めたところです。

[2019/05/22 追記]
その後、Visual Studio 2019 Community をインストールしました。VS 2015 をアンインストールせずに、追加で VS 2019 のインストールが可能です。

プログラム電卓のための便利なWindowsプログラムが無ければ自分で作ってみよう、そこでWindowsプログラミングです。



はじめに

最近は Casio Basic プログラミングばかりで、Windowsプログラミングをしなくなって10年以上たちます。以前は Quick C やVisual Studio 6 の Visual C++ やたまに Visual Basic で Windows プログラムを作っていたので、全くの初心者というわけではありません。しかし当時は Windows 95, 98, XP といった環境でしたので、Windows そのものも大きく変わっていて、新たに勉強することも結構あります。

そこで、Windows 10 の環境で、使ったことが全く無かった C# の学習や、最新の VC++ にキャッチアップしようと思い、その過程を半ば自分のために残しておこうという趣旨で、プログラム電卓のためのWindowsプログラミング のカテゴリーを始めます。

Casio Basic 使いこなしと同様に、自分で調べたこと、実際に行ったこと、ネットで入手しにくい情報などを書き留める予定です。但し、メインは Casio Basic 使いこなしのプログなので、このカテゴリは途中で立ち消えになるかも知れませんが、先ずは始めてみます (他にも記事の予定がたくさんあるのに...)。新しい言語に触れるのは楽しいですね。



当カテゴリの立ち位置

主に、C# と VC++ MFC ドキュメント/ビューアーキテクチャ の話題になると思います。

C# については、最初のうちは、初めて C# で何かアプリを作る過程で、学習したこと、問題とその解決方法などを記録に残します。従って最初のうちは、バカみたいに丁寧な記述になるかも知れませんが、私の頭に定着すれば割愛するようになると思います。




目 次

1. Visual Studio Community 2019 [2019/05/22 更新]
 1.1 Visual Studio Community 2019 のダウンロード
 1.2 Visual Studio Community 2019 って?

2. 参考になる情報元

3. C# のトピックス

 3.1 C#プログラミング TIPS
 3.2 初めて作るC#プログラム - MyClock
     ※ MyClock 最新版- 邪魔にならないデジタル時計 (アラーム機能付き)
 3.3 追加するかも...

4. VC++ のトピックス
 4.1 ドキュメントビューアーキテクチャを使ってみる
  4.1.1 複数の拡張子を使う方法 - ファイルを開く/名前を付けて保存
  4.1.2 追加するかも...



Visual Studio Community 2019 のダウウンロード [2019/05/22 更新]

私の場合は、以下のサイトで、

Visual Studio Download

画面の一番左の "Visual Studio Community" からダウンロードしました。

[2019/05/22 追記]
この記事を書いた当初は VS Community 2015 でしたが、今はダウンロードできないようです。そこで、以前 VS 2015 Community をインストールしたまま、最新版の VS Community 2019を追加インストールしました。


インストール環境は、Windows 10 (64bit) Home で、Windows Update で最新の状態になったものです。

実際にインストールが始まると、必要なコンポーネントのダウンロードとインストールにはとても時間がかかります。私の遅いPCでは、取り敢えずのインストールに2時間くらいかかりました。

Visual Studio を開いてみると、C# と VB での開発に必要な殆どのコンポーネントはインストール済みなのに、それ以外を使うにはさらにダウンロード&インストールに1時間程度必要だったので、上で取り敢えずと書きました。

なお、ヘルプは必要だと思ったので、テーマ別にローカルにダウンロードして使えるヘルプシステム向けに、VS2015、C#, VB、CV++ に関する文書をダウンロードしてオフラインでもヘルプが使えるようにしました。日本語と英語の両方をインストールしましたが、日本語訳の品質はWeb版と同じように、まぁアレな感じで、英語を見直すことが多いです。

DELL の Inspiron 11 3148 (CPU: Core i3、メモリ: 4GB、HDD: 500GB) で走らせていますので、VS 2015 Community は結構動作が重いのです。

[2019/05/22 追記]
一方、同じPCに VS 2019 Community をインストールしてみると、かなり軽く動作するよう改善されています。メモリ使用量が激減しているのが寄与していると思います。

[2019/05/22 追記]
その後 DELL Inspiron 14 5480 (CPU: Core i7、メモリ: 8GB、SSD: 128GB、HDD: 1TB) にもインストール、極めて軽く動作します。



Visual Studio 2019 Community って?
 
ネットで探すと山ほどの記事に出会うので、敢えて何かをここで書く必要もないでしょう。
...というか、最近はネットでいくらでも情報が得られますので、便利です。但しプログラミングに関しても、ネット情報は S/N が大きいので、自分で取捨選択してゆく必要があって、それがまた勉強になったりします。

実際にインストールしてみて分かったのですが、以下の環境が使えるようになっています;
  • C#
  • Visual Basic
  • Visual F#
  • Visual C++
  • SQL Server
  • Python
  • JavaScript
  • TypeScript
てんこ盛りですね。



参考になる情報元

C#についてお世話になっているのは、
  • DOBON.NET .NET Tips : 信頼性の高いスグに使える情報があって重宝しています
  • ++C++;// 未確認飛行 C:基本の説明が分かり易いので悩んだときに役立ちます
  • MSDN .NET クラスライブラリ など:そもそもどうなってるの?をじっくり知るには良いかも...
  • その他検索で出てくるもの:S/Nが高くないので取捨選択が必要

VC++ (ドキュメント/ビュー アーキテクチャー) についてお世話になっているのは、
(特に これといったものに出会っていないが、強いて挙げるなら)





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


 



keywords: プログラム関数電卓、Windowsプログラミング

リンク集 | ブログ内マップ
関連記事

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

Casio S100 - 凄いプロ仕様の電卓だった

2019/05/15

S100

 知らないことは罪である...

どこかで聞いたことがあるような無いようなこの言葉。

以前 カシオのプレミアム電卓 S100 について、揶揄した否定的な記事を書きました。
あなたの Bset One カシオ電卓は?

今回は、穴があったら入りたい...というお話です。



実は凄かった業務用電卓

関数電卓やプログラム電卓は知ってるが、業務用一般電卓の重要な機能 "キーロールオーバー" については全く知らなかった。これは、早打ちにしっかり対応する機能で、会計業務の人達の恐ろしいくらいの高速ブラインドタッチを初めて目の前で見ました。以下は、とある税理士の先生からの受け売りだ。

例えば、[1] [2] [3] ...と高速タッチする場合、1つめのキーを "押す" & "離す" した後次のキーを "押す" & "離す" しているわけでは無い。

超高速タッチを行うプロの人達は、[1] を押す、[2] を押す ([1]を離し始める)、[3] を押す ([2]も離し始める)、[1] を完全に離す(他のキーを押し始める)、[2] を完全に離す(他のキーを押し始める)、[3] を完全に離す(他のキーを押し始める)、といった操作をしているのだ。

そして、それでも 1 2 3 と入力を受け付ける機能を "キーロールオーバー" というのだそうだ。そして、この機能が無いと高速入力のキーを取りこぼしてしまう。人間のスピードに電卓が追いつかないわけだ。

当ブログに来られる、プログラム電卓のヘビーユーザーの方々は、これをご存じでしたか?
#私は全く知りませんでした。

Casio S100 は、3キーロールオーバーといって、3つのキーが1時期同時に押された状態でも、押された順番に入力されること。3キーロールオーバーは、カシオだけでなくシャープやキヤノンでも限られた機種だけのものとのこと。



プログラム電卓は業務用電卓を超えられるか?

よし、ではプログラム電卓や関数電卓ではどうなのか、やってみた。
fx-5800P、fx-9860GII SD、fx-CG50 で3キーロールオーバーの実験を以下のようにした。

高速キー入力する代わりに、ゆっくりと [1] [2] [3] の順番にキーを押して行き、押したままにします。次に [1] [2] [3] の順にキーを話して行き、入力がどうなるのかを確認します。はい、1 2 3 と入力されるではありませんか\(^_^)/

念のため、これを [3] [2] [1] の順に行いました。すると入力は 3 1 となり、2 が入力漏れになる。

関数電卓 fx-993ES、fx-JP500 でも同様の結果になった。

結論、プログラム電卓や第3世代 / 第4世代関数電卓は、2キーロールオーバーまでは対応しているが、3キーロールオーバーには未対応!

...ということが分かった。 

 Casio S100 は、無駄に高級なのではなく、ハードなプロ仕様なのだ!


それに比べて、グラフ関数電卓 fx-CG50 のキー入力のなんと貧弱なことか....1キーでも取りこぼすお粗末な作りだ。




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


 



keywords: fx-5800Pプログラム関数電卓

リンク集 | ブログ内マップ
関連記事

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

e-Gadgetの検索キーワード

2019/05/15

e-Gadget について Google Search Console で分かる最近の検索パフォーマンスの結果から、クリック数(実際にクリックして当ブログにアクセスした数)の検索キーワードのランキングをみると、何に期待して来られるのかが分かります。

 1.fx-5800P674
 2.fx-5800P プログラム 362
 3.Casio Basic 233
 4.fx-CG50232
 5.プログラム電卓226
 6.関数電卓 プログラミング 方法 213
 7.fx-5800P 後継機147
 8.fx-CG50 Python120
 9.fx-5800P ゲーム117
10.fx-CG50 プログラム 108
11.プログラム関数電卓95
12.関数電卓 プログラミング88
13.fx-260 Solar II79
14.fx-JP90076
15.fx-CG50 日本語59
16.fx-5800P ケーブル51
17.プログラム電卓 ゲーム51
18.fx-CG50 ゲーム47
19.プログラム 電卓46
20.Casio fx-260 Solar II46
21.関数電卓 因数分解45
22.関数電卓 ゲーム42
23.fx-5800P プログラム コピー39
24.関数電卓 素因数分解35
25.関数電卓 プログラム31
26.fx-9860GII29
27.C# 電卓27
28.Inspiron 14 548027
29.関数電卓 プログラム機能26
30.Inspiron 314826
31.Inspiron 11 314826
32.Inspiron 14 5480 メモリ増設25
33.fx-JP900 プログラム24
34.Inspiron 548023
35.fx-CG2022
36.プログラム関数電卓 使い方22
37.Dell Inspiron 11 314822
38.Acronis True Image 2017 復元方法20
39.fx-5800P 使い方19
40.プログラミング 電卓18


先ず見て分かること
  
1. fx-5800P の情報を求めているのがダントツ1位 - 1390件 (赤で表示)

2. fx-CG50 の情報への需要が次に高い - 519件 (青で表示)

3. fx-9860GII や fx-CG20 の情報への需要は少ない - 98件

4. 電卓でのプログラミング関連 ( で表示) も多い - 703件

当ブログは殆どが日本国内からのアクセスであり、上の傾向は日本での発売機種のラインアップの影響、つまり国内では fx-5800Ptと fx-CG50 の二択になっている状況がこのランキングに強い影響を与えていると思われます。fx-9860GII や fx-CG20 はそれほど売れなかったけれども、fx-CG50 は結構売れ始めているということかも知れません。

また、電卓でのプログラミングに関するケース (キーワード "fx-5800P" に吸収されている可能性あり) は累計すると、それなりに多く (703件)、当ブログのメインテーマとして役にたっているようです。

ところで、キーワードの中で "プログラミング" と "電卓" の組み合わせの中には、パソコンで電卓アプリを作る主題のものが結構あるので、電卓でのプログラミング関連の累計にはこれらの組み合わせは入れていません。


意外な状況

15位にランキングしている "fx-CG50 日本語" は意外です。私自身はこのキーワードで検索したことがありません。fx-CG50 日本語化に興味を持ってアクセスされていると分かります。今後の推移に興味が出てきます。


他に何か気づいた点があれば、コメントください。お待ちしています。




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


 



keywords: プログラム関数電卓、プログラミング

リンク集 | ブログ内マップ
関連記事

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

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

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

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

初版 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 プログラムは日本語表記できない

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

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


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

カシオのfx-CGシリーズ (fx-CG10 / CG29 / CG50) は、言語選択ができる仕様になっていて、各国語フォントが内蔵されています。その1つに中国向けの簡体字フォントがあります。これは 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、プログラムライブラリプログラム関数電卓

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


関連記事

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

プログラムライブラリ - 西暦-和暦 換算プログラム

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

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

最終更新:
2019/05/08


西暦-和暦 換算プログラム (令和対応版) - YearConv Ver 2.2


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

著作権者

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



対応機種

- Casio fx-5800P
- Casio fx-9860Gシリーズ - 純正Casio Basic および C.Basic for FX で動作
- Casio fx-CG10/20・fx-CG50 - 純正 Casio Basic および C.Basic for CG で動作

(fx-FD10 Pro でも fx-9860Gシリーズ用が動作すると思われます)



プログラムの説明

"あの人の年齢はいくつかな?"

西暦と和暦を換算するプログラムを作ってしたところ、それだけではつまらない。そこで、おまけ機能として "あの人の年齢はいくつかな?" 機能を追加しています。

西暦-和暦換算部に何か年を入力します。これが "あの人" の生年月日です。この状態で [5] (5:In) を押して4桁の西暦年を入力すると、入力した年の "あの人" の年齢が 7: の項に表示されます。[6] (6: y) を押して年齢を入力すると、"あの人" がその年齢の時の西暦年が 6: の項に表示されます。


さて、YearConv2 は、最初に fx-5800P用に作成した西暦-和暦 換算プログラムです。
プログラムの詳細は Casio Basic入門19 ~ 21 を参照してください。

fx-5800P用プログラムを、fx-9860Gシリーズ用 (g1mファイル) および fx-CGシリーズ用 (g3mファイル、カラー表示) に移植したものも収録しました。

基本的なロジックやプログラム構造は全く同じですが、画面の広さの違いから換算できる和暦が 大正~令和に限定されるのが fx-5800P用、明治~令和まで対応しているのが fx-9860Gシリーズと fx-CGシリーズです。

YearConv_1 YearConv_7 Heisei
fx-5800P用


YC_FX_1 YC_FX_2 YC_FX_3 
fx-9860Gシリーズ用


YC_CG_01 YC_CG_02 YC_CG_03 
fx-CGシリーズ用

 - 起動時の画面

中央 - AD(西暦)、M(明治)、T(大正)、S(昭和)、H(平成)、R(令和) のどれかに入力すると、他が連動して換算される。
   [6] (6: In) に入力すると、その年での年齢を表示
   [7] (7: years) に入力すると、その年齢になる西暦年を表示

  - [4] (4:H) を長押しすると、平成の期間を表示




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

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

YRL は C.Basic で使う際に必要。fx-5800P用のファイル構成には含まれない。



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

※ fx-5800P 用
   ソースコード
   CcLinker で fx-5800P に転送できるCCLファイルのダウンロード
   ※ YEAR CONV.ccl、YRC.ccl、YRD.ccl、INPI.ccl を含む圧縮ファイル (zip) が得られます。
   CcLinkerの紹介

※ fx-9860Gシリーズ と fx-CGシリーズでは、の純正Casio Basic ならびに C.Basic で動作します。
   fx-9860Gシリーズ用: Year Converter Ver 2.1 ダウンロード
   fx-CGシリーズ用: Year Converter Ver 2.2 ダウンロード

  • 本プログラムには、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。
  • 同梱されている g1m ファイルは fx-9860GII 向けですが、変更せずそのまま fx-CG20/50 に転送すると正常動作します。但し 転送後 fx-CGシリーズの g3m ファイルに自動変換されます。
  • ダウンロードファイルには、ソースコード(テキストファイル) を含んでいます。テキストファイルは C.Basic で変換したものです。
  • サブルーチン YRL は、C.Basic で使用するものです。但し純正Casio Basic では実行が無視されるので転送しても問題ありません。
  • メインルーチン YEARCONV の1行目の 200→L はキー長押し時間を決める。長押しと認識するまでの時間を短くするにはこの数値を小さくする。長くするには数値を大きくする。
  • C.Basic では 現在設定されている実際の実行速度に対応して サブルーチン YRL で長押し時間を自動調整しているので、1行目での長押し時間の設定は動作に影響しない。これは特にオーバクロック時に有効。
  • 令和に対応しました。[2019/05/05] 



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


 


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

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



関連記事

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

プログラムライブラリ - TimeZone

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

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

最終更新:
2019/05/04

Time Zone (2019年版)

※ 2019年のヨーロッパ・北米夏時間に対応 [2019/05/04]
※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されたのを変更しないように改善した [2017/08/14]


著作権者

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



対応機種

Casio fx-9860GII - 純正Casio Basic および C.Basic で動作
Casio fx-CG20・fx-CG50 - 純正 Casio Basic
(fx-FD10 Pro でも動作すると思われます)

Casio fx-5800P 用は こちら



プログラムの説明

TimeZone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

2019年の夏時間は、
 ・ヨーロッパは、3月31日午前1時 ~ 10月27日午前1時
 ・北米は、3月10日 午前2時 ~ 11月3日午前2時
となります。
TimeZone では、
 ・ヨーロッパは、3月31日 ~ 10月27日
 ・北米は、3月10日 ~ 11月3日
としています。


本プログラムでは、以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 
日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
2019年の夏時間の開始と終了は、ヨーロッパでは午前1時、北米では午前2時になっています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前1時 / 午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。



プログラムの構成

メインプログラム: TIMEZONE
サブルーチン: TZCTZDTZMTZS、TZL
入力ボックス: INPI



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

※ fx-9860GII と fx-CG20 の純正Casio Basic ならびに C.Basic で動作します。

プログラムファイル (g1m) とソースコードのダウンロード
プログラムファイル (g3m) とソースコードのダウンロード

fx-9860GII と fx-CG20 専用入力ボックス INPI が必要です。

  • TIMEZONE には、入力ボックス INPI が必要です(ダウンロードファイルに含まれています)。
  • 同梱されている g1m ファイルは fx-9860GII 向けですが、変更せずそのまま fx-CG20 に転送すると正常動作します。但し fx-CG20 に転送後 fx-CG20用の g3m ファイルに変換されます。
  • ダウンロードファイルに含まれる Text_files フォルダ内に、ソースコード(テキストファイル)があります。これらテキストファイルは C.Basic で g1m ファイルから変換したものです。
  • サブルーチン TZL は、C.Basic で使用するものです。但し純正Casio Basic では実行が無視されるので転送しても問題ありません。
  • メインルーチン TIMEZONE の1行目の 300→L はキー長押し時間を決める。長押しと認識するまでの時間を短くするにはこの数値を小さくする。長くするには数値を大きくする。
  • C.Basic では 現在設定されている実際の実行速度に対応して サブルーチン TZL で長押し時間を自動調整しているので、1行目での長押し時間の設定は動作に影響しない。これは特にオーバクロック時に有効。
  • ヨーロッパと北米の夏時間期間表示は、サブルーチン TZS にある。2017年の夏時間に対応した変更を行っている。 



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


     


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

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


関連記事

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

fx-5800P プログラムライブラリ - Time Zone

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

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

最終更新:
2019/05/04

Time Zone (2019年版)

※ CcLinkerでfx-5800Pに転送できる CCLファイルがダウンロード可能に [2018/10/29]
※ 2018年のヨーロッパ・北米夏時間に対応 [2018/01/20]
※※ プログラム改善: >>>> 表示で何も入力せず確定時、値が 0 に変更されたのを変更しないように改善した [2017/08/14] 


著作権者

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



対応機種

Casio fx-5800P 専用
Casio fx-9860GII、fx-CG20、fx-CG50 用は こちら



プログラムの説明

Time Zone は、日本、ヨーロッパ、北米での同じ時間を表示します。その際、タイムゾーンや夏時間を考慮した時間を計算します。

具体的には、3カ所のうち、どこか一カ所の時間を入力すると、時差を計算して他の二カ所の時間を表示するプログラムです。

例えば、日本、ドイツ、モントリオールの3カ所から接続して電話会議を行う時に、それぞれが夜中にならないように時間を決める時などに役立ちます。

2018年の夏時間期間:
 ・ヨーロッパ: 3月25日 午前1時 ~ 10月28日午前1時
 ・北米:3月11日午前2時 ~ 11月4日午前2時
TimeZoneでは、
 ・ヨーロッパ:3月25日 ~ 10月27日
 ・北米:3月11日 ~ 11月3日
としています。

以下のタイムゾーンや夏時間の設定が行えます。

- 日本
 JST: 日本標準時間

- ヨーロッパ
 WET: 西ヨーロッパ標準時間
 CET: 中央ヨーロッパ標準時間
 EET: 東ヨーロッパ標準時間
 FET: 極東ヨーロッパ時間

 WEST: 西ヨーロッパ夏時間
 CEST: 中央ヨーロッパ夏時間
 EEST: 東ヨーロッパ夏時間
 FEST: 極東ヨーロッパ夏時間
EU-TZ 

- 北米(アメリカ、カナダ)
 PST: 太平洋標準時間
 MST: 山岳部標準時間
 CST: 中部標準時間
 EST: 東部標準時間

 PDT: 太平洋夏時間
 MDT: 山岳部夏時間
 CDT: 中部夏時間
 EDT: 東部夏時間

US-TZ 



プログラムの使い方

0:JST - 日本時間 の入力と表示
       [0] キー: 日本時間入力

1:CET - ヨーロッパ時間の入力と表示
       [1] キー:    ヨーロッパ時間入力
       [1] キー長押し: ヨーロッパ内のタイムゾーン設定
       [3] キー:    ヨーロッパの夏時間ON/OFF
       [3] キー長押し: 夏時間の期間を表示
     
2:EDT
- 北米時間の入力と表示
       [2] キー:    北米時間入力
       [2] キー長押し: 北米内のタイムゾーン設定
       [4] キー:    北米の夏時間ON/OFF 
       [4] キー長押し: 夏時間の時間を表示

[3] キー、[4] キー長押しで表示される夏時間について:
(2018年版) 夏時間の開始と終了は、ヨーロッパでは午前1時、北米では午前2時となっています。本プログラムでは、夏時間終了日を実際の設定日の前日を表示するようにしています。終了設定日の午前0時から午前1時 / 午前2時までの時間帯は、本来まだ夏時間のままですが、寝静まっている時間帯なので無視しています。現実的には問題ないと思いますが、留意してください。


プログラムの構成

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



プログラムファイルのダウンロード

CcLinker で fx-5800P に転送できるCCLファイルのダウンロー
  ※ 上記6つのプログラムファイルに対応するCCLファイルが含まれます。
  CcLinkerの紹介



ソースコード - TIMEZONE

※ fx-5800P で動作します。
fx-5800P 用入力ボックス INPI が必要です。

ソースコード
※ 2018版対応は、TSZ のみの更新です。

スペースは  で表示し、改行も表示しています。

TIME ZONE
9→P:17→Q↵
-1→J:0→G:0→U↵
0→S:0→T↵
1→V:0→W↵
P-V→P:Q-W→Q↵
Prog "TZM"↵

While 1↵

-1→M↵
Do:Getkey→K↵
LpWhile K=0↵
K=25⇒0→M↵
K=35⇒1→M↵
K=36⇒2→M↵
K=37⇒3→M↵
K=21⇒4→M↵
K=73⇒Break↵

0→C↵
While Getkey=37↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒5→M↵
0→C↵
While Getkey=21↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒5→M↵
0→C↵
While Getkey=35↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒6→M↵
0→C↵
While Getkey=36↵
Isz C:C=9⇒Break↵
WhileEnd:C=9⇒7→M↵

If M=0:Then ↵
8→X:1→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→J↵
Else If M=1↵
Then ↵
8→X:2→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→G↵
Else If M=2↵
Then ↵
8→X:3→Y:4→D:1→E↵
Prog "INPI"↵
Prog "TZC"↵
X→A:Y→B:Z⇒Z→U↵
Else If M=3 Or M=4:Then ↵
Int(J÷100)→A↵
J-100A→B↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵

If M=0:Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→J↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U↵
IfEnd↵
Else If M=1↵
Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→G↵
A+P→C↵
C≧24⇒C-24→C↵
100C+B→J↵
A+P-Q→C↵
C<0⇒C+24→C↵
C≧24⇒C-24→C↵
100C+B→U↵
IfEnd↵
Else If M=2↵
Then ↵
If Z:Then ↵
A≧24⇒A-24→A↵
100A+B→U↵
A+Q→C↵
C≧24⇒C-24→C↵
100C+B→J↵
A+Q-P→C↵
C<0⇒C+24→C↵
C≧24⇒C-24→C↵
100C+B→G↵
IfEnd↵
Else If M=3↵
Then ↵
If S:Then ↵
0→S:P+1→P↵
Locate 5,2,"T□"↵
Locate 15,2,"ST"↵
Else ↵
1→S:P-1→P↵
Locate 5,2,"ST"↵
Locate 15,2,"DL"↵
IfEnd↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G↵
Else If M=4↵
Then ↵
If T:Then ↵
0→T:Q+1→Q↵
Locate 4,3,"S"↵
Locate 15,3,"ST"↵
Else ↵
1→T:Q-1→Q↵
Locate 4,3,"D"↵
Locate 15,3,"DL"↵
IfEnd↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U↵
Else If M=5↵
Then Prog "TZS"↵
Cls:Prog "TZM"↵
Else If M=6↵
Then Prog "TZS"↵
Z→V:9-S-Z→P↵
Int(J÷100)→A↵
J-100A→B↵
A-P→C↵
C<0⇒C+24→C↵
100C+B→G:Cls↵
Prog "TZM"↵
Else If M=7↵
Then Prog "TZS"↵
Z→W:17-T-Z→Q↵
Int(J÷100)→A↵
J-100A→B↵
A-Q→C↵
C<0⇒C+24→C↵
100C+B→U:Cls↵
Prog "TZM"↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵
IfEnd:IfEnd↵

Prog "TZD"↵

WhileEnd↵
Cls↵
Locate 7,2,"BYE!"



TZS [2019/05/04 更新]
Cls↵
Locate 15,4,"▸t"↵
Locate 16,4,"E"↵

If M=5:Then ↵
Locate 1,1,"□□DLS□IN□2019"↵
Locate 1,2,"EUR:□3.31⇒10.27"↵
Locate 1,3,"USA:□3.10⇒11.3"◢Return↵
Else If M=6↵
Then V→Z↵
Locate 1,1,"□EUR□TIME□ZONE"↵
If S:Then ↵
Locate 1,2,"□□WEST□□CEST"↵
Locate 1,3,"□□EEST□□FEST"↵
Else ↵
Locate 1,2,"□□WET□□□CET"↵
Locate 1,3,"□□EET□□□FET"↵
IfEnd↵
Else If M=7↵
Then W→Z↵
Locate 1,1,"□USA□TIME□ZONE"↵
If T:Then ↵
Locate 1,2,"□□PDT□□□MDT"↵
Locate 1,3,"□□CDT□□□EDT"↵
Else ↵
Locate 1,2,"□□PST□□□MST"↵
Locate 1,3,"□□CST□□□EST"↵
IfEnd↵
IfEnd:IfEnd↵
IfEnd↵

Locate 1,4,"□








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


 


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

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


関連記事

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

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

やす (Krtyski)

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


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

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

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


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

ブロとも申請フォーム

この人とブロともになる

QRコード
QR