C.Basic for CG ベータ版がリリース Part 1 (Ver 1.00α以降)

アドイン版 Casio Basic - C.Basic for CG ベータ版 - Part 1
<トップページ>

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

更新:2020/03/26


[2020/03/25] C.Basic for CG Ver 1.45 beta build 15 が差替えアップデート
- さらに使いやすく色々と変更していってみる版

※ お試し版なので正式版より実行速度が遅くなる部分があります。

(build15)
  • Colon様のサポートにより関数メモリの実装を開始しました。
  • デフォルトのインデックス開始値が0の場合にListの自動確保が出来なかった不具合を修正しました。
  • ファンクションメモリー(Fn)のStore/Recall/SEEのSEEをEditに変更しました。
(build14)
  • ファンクションメモリー(Fn)のStore/Recall/SEEのSEEで[F5](Edit)を追加し編集可能になりました。
  • ファンクションメモリー(Fn)のStore/Recall/SEEの不具合を修正しました。
(build13)
  • ファンクションメモリー(Fn)およびグラフメモリー(Y)をデフォルトで数式評価とし、
     文字列関数内および文字列に続く場合は文字列として評価するように変更しました。
     (数式評価)
      fn1->A
      fn1(123)->A
      Locate 1,1,fn1
      Text 1,1,fn1(123)
     (文字列評価)
      "123"+fn1->Str 1
      fn2->Str 2
      StrJoin(fn1,Str 1)
  • 文字列から文字列への代入で代入されない不具合を修正しました。
  • (fn3にコピーされない例)
      ClrMat
      "123"->fn1
      "ABC"->Str 1
      Str 1->fn3
  • ファンクションメモリー(Fn)のStore/Recall/SEEを追加しました。
     (※エディタではクリップボードの内容がストア対象です。1行入力では1行全体がストア対象になります。)
  • F_Start/F_End/F_pitchを独立変数に変更しました。
  • ?コマンドで文字列が表示される場合にアスキーコードにデコードしないように修正しました。
(build12)
  • GraphYとfnの確保数と文字列の長さをStr変数と同等に変更しました。
  • GraphYの格納仕様を6バイトのプレフィックス付きに変更しました。
    (行列への直アクセス以外は以前と変更ありません。)
  • エディタでファイルモードの切替でファイルリストが更新されない不具合を修正しました。
  • セットアップで機能しない場合はアイコンをマスク化しました。
  • System()コマンドでメインメモリに保存されるC.Basicのシステムファイルを取得できるようになりました。
    (インデックス開始値は0で固定です。)
    (例)System(10000,1)
     @CBASIC/Cbasicの内容をListAnsに取得します。
    (例)System(10000,2)
     @CBASIC/Cbasic2の内容をListAnsに取得します。
(build11)
  • CGモードでScreen#で座標変換した場合に2ドットずれる不具合を修正しました。
  • Screen#、Screen%を連続実行するとエラーになる不具合を修正しました。
  • ファイルモードの検索機能を改善しました。
     アルファベットキーを押すと検索窓が開き検索モードになります。
     検索窓では左右移動等、通常の入力が可能です。
     検索窓を解除するには[EXIT]を押してください。
     カーソル上下、[EXE] [F1](EXE) [F2](EDIT) [F3](NEW)キーは検索窓を閉じること無く実行できます。
(build10)
  • ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。
     [F4](A<>a): 大文字小文字切り替えです。
     [F5](CHAR)
     [F5](→Folder): フォルダサーチに切り替わります。
     [DEL]: 一文字戻ります。
     [AC]: 全部消します。
     [EXIT]: 元に戻ります。
     [X^2]: ~
     [^]: '
     [(-)]: @
     [・]: スペース
     [x10x]: "
(build09)
  • ファイルモードでアルファベットキーによるダイレクト選択時に2文字以上の指定が出来るようになりました。
     [DEL]:一文字戻ります。
     [AC]:全部消します。
  • ファンクションメモリー(Fn)およびグラフメモリー(Y)に引数が無い場合は文字列として評価するようにしました。
  • インデントの必要なコマンド(If,Else..)の直前で改行した場合にインデントが余分に付加される不具合を修正しました。
(build08)
  • OS側のステータス表示フラグがONの場合はステータスエリアの書き換えをしないように変更しました。
(build07)
  • エミュレータで隠しメモリが使えるようになりました。
(build06)
  • 以下のコマンドでステータス表示が更新されるようにしました。
    '#CBASIC
    '#CBDBL
    '#CBINT
    '#CBCPLX
  • 一行入力時のステータスエリアの表示を改善しました。
  • エミュレータの判定方法をハードウェアID判定に変更しました。(0x8001FFD)
(build05)
  • CHAR選択画面から戻る時にステータスエリアの表示が戻らない不具合を修正しました。
  • CG10/20でエディタのサーチ画面で[SHIFT]+[4](CATALOG)が使えなかった不具合を修正しました。(1.44build14でのエンバグです。)
(build04)
  • GetHSV()/GetHSL()コマンドで変換できない色をエラーにするようにしました。
    (書式) GetHSV(16ビットカラー値[,N])
    (書式) GetHSL(16ビットカラー値[,N])
     Nオプションでエラーを無視します。
  • HSV() / HSL() での色飽和での反転を修正しました。
(build03)
  • RGB→HSV/HSLのカラーコード変換の誤差を修正しました。
  • ラベルの検索時にコメントでの'#に続くオプションの設定が変更されてしまう不具合を修正しました。
(build02)
  • VarPtr()コマンドで行列/List/Vctを指定した場合、その添字が常に実数評価されていた不具合を修正しました。
  • RGB()、HSV()、HSL()コマンドの引数がListの場合、インデックス開始値が0の場合の不具合を修正しました。
(build01)
  • SortA()/SortD()コマンドに文字配列のソートを追加しました。
    (例)SortA($Mat A)
     Mat Aの文字列が昇順にソートされます。
  • ReadMe、マニュアル更新しました。
  • 行列表示の←→表示を修正しました。
  • g3mモードにおいてストレージメモリへのでのStoPictを無効にしました。


ついにアルファ版からベータ版になりました!

C.Basic for CG 開発が始動 - Part 3 (Ver 0.86アルファ版まで)
 
 の続きです



はじめに - Part 1 - C.Basic for CG ベータ版 (Ver 1.00β以降)

完成度の高い fx-CG50 が登場し、この機種で走る アドイン版 Casio Basic - C.Basic for CG がアルファ版がリリースされ国内外のユーザーの皆様のご協力でアップデートが繰り返され、ようやく安定してきたのでベータ版になりました。

作者の sentaro様を皆で応援し、作者とユーザーの情報交換を継続するために、ベータ版の Part 1 を作りました。



目 次

現行ベータ版について

最新版のダウンロードとインストール


操作法・コマンドの説明・更新履歴など

C.Basic for CG プログラミングのための役立ちツール
 

C.Basic for CG を活かしたプログラム 

 お勧めの充電池と充電器   

チューンアップツール - Ptune3



現行ベータ版について
C.Basic for CG は、ベータ版 (お試し版) です。現行バージョンは安定してきましたが、まだ未完成と考えて下さい。バグの可能性があります。作者 (sentaro様) に連絡して応援する...というのが当ブログのスタンスです。

<目次に戻る>


最新版のダウンロードとインストール

   C.Basic for CG Ver 1.45β build 15 (最新お試し版)
  
C.Basic for CG Ver 1.44β build 16 (公式最新版)
  • 解凍して得られる CBCGxxx.g3a ファイルを fx-CG20 / CG50 のストレージメモリに転送してアップデート完了!
  • 詳しいインストール方法はこちら 
  • 取扱説明書:同梱テキストファイルを参照。但し以下でも同じものが確認できます。マニュアルのデバッグも進行中です
  • 過去のバージョンこちら
   C.Basicのインストール
<目次に戻る>


操作法・コマンドの説明・更新履歴など [最新バージョンに対応しています]
以上のドキュメントは、ダウンロードしたZIPファイルに含まれています。
<目次に戻る>



C.Basic for CG プログラミングのための役立ちツール

  複数のフォントを使い分けるためのツール - Font File Manager
fx-CG20 / CG50 用 C.Basic for CG には、複数のフォントが同梱されており、これらを切り替えて使うことができる。これらのフォントを切り替えるツール - FFM (Font File Manager) が Colon様から提供されている。フォントの詳細情報を見ることもできる。標準的なシステムツールのような外観になっているが、C.Basicで書いたプログラムだ。詳しくは同梱のReadmeファイルを参照のこと。Ver 1.24 は C.Basic for CG Ver 1.44β build 2 以降で正常動作する。
C.Basic for CG Ver 1.44β build 5 以降に同梱されるようになった。

FFM_1  FFM_2 
  ⇒ ダウンロード (Ver 1.24)


  RGB指定による色確認プログラム - RGB
fx-CG20 / CG50 搭載のカラー液晶は見る角度が少し変わるだけで色合いが大きく変化する。そこで実際に RGB値を入力したときの実際の色合いを確認するためのツールを作成した。C.Basic for CG の様々独自コマンドや拡張コマンドを使っていて、バッテリーアイコン表示、アドインプログラムのように見える全画面表示(上部のステータスバーがない)、OS内蔵のファンクションメニュー利用、ポップアップウィンドウの表示、入力ボックス機能、長大な文字列を扱う文字列処理 (ヘルプ機能)、実用的な速度スクロールバーを動かせる高速グラフィックコマンド (ヘルプ機能)、QRコードのビットマップ表示、などを実現できる C.Basic for CG の機能デモンストレーションにもなっている。
   RGB4b_Graphics_Mode 
  ⇒ 説明とダウンロード


  カラー設定変換プログラム - ColConv Ver 1.1
C.Basic では、複数のカラー設定コマンドがあり、1つの同じ色を設定するためのパラメータも異なる。これらのパラメータを一覧で確認するプログラム - ColConv11 (Colon様作成)は、プログラミンツールとして有用で、さらにカラー設定コマンドの使い方を示す良いサンプルプログラムにもなっている。
ColConv_1 ColConv_2 
  ⇒ ダウンロード 


  OS内蔵ファンクションキー探索プログラム - SysFunc3
fx-CGシリーズやfx-9860Gシリーズには、ファンクションメニューの画像データがOSに内蔵されている。この内蔵データをプログラムで利用するにC.Basicには独自コマンド FKeyMenu( があり、各画像に対応した番号を渡すとその画像が表示できる。そこでOS内蔵のこの番号を調べるツールを作成した。アドインプログラムのような全画面表示(fx-CGシリーズのみ、fx-9860Gシリーズは元々全画面表示)、ファンクションメニュー表示、入力ボックス機能、ミニフォント表示など、C.Basic の独自コマンドや拡張コマンドの機能を使う簡単なサンプルプログラムにもなっている。なお、C.Basic for FX 版も作成した。
   SysFunc3_2_1_f  SysFunc3FX_1 
   ※ fx-CGシリーズで全画面表示をすると、より広いエリアを使えることが分かる。
  ⇒ 説明とダウンロード


  随時、追加・追記します。

<目次に戻る>


C.Basic for CG を活かしたプログラム

 ▶昔懐かしいインベーダーゲーム - Alien 
C.Basic for CG の独自コマンドや拡張コマンドを使えば、高速グラフィックス、独自フォントの利用、アドインプログラムのような全画面表示が可能になり、昔のアーケードゲームと同等レベルのゲームが実現できる。
   AlianCG3.png  
  ⇒ ダウンロード


  疑似3Dゲーム - Triangle Filed Ver 0.91 [2020/03/26 アップデート]
Planet Casio でのプログラムコンテスト CPC #26 において、アドイン作成用の C / C++ に加えて C.Basic も使用言語として認められた。そこで sentaro様が応募作品として発表したのが Triangle Field。fx-CGシリーズ用が本命だが、参考までに fx-9860Gシリーズ用にも作成された(液晶の応答性が低いのでゲームとしては難易度が高い)。
TriangleField-FirstScreen 
ダウンロード
なお、類似のアドインゲーム CubeFiled があるが、アドインレベルのプログラムが C.Basic で提供できることを示している。


 ▶ 日本語版 "あの人の歳はいくつ?" - 西暦・和暦換算 YearConve
C.Basic for CG では、fx-CGシリーズに内蔵されている GBフォントを呼び出して漢字、ひらがな、カタカナを表示できる。令和の御代替わりを言祝ぎ、漢字やかなを表示した実用プログラムを作成した。
   YC_cb4f 
  ⇒ 説明とダウンロード


  随時、追加・追記します。

<目次に戻る>



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


 



keywords: fx-CG50、fx-CG20CasioBasic、プログラム関数電卓、C.Basic、C:Basic

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


関連記事

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

コメントの投稿

非公開コメント

Re: Re:Re: 業務連絡 - コロナ蔓延の折、皆様如何お過ごしですか?

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

> ご心配おかけして申し訳ありません。(汗)
> 私の方は今のところは問題ない感じですが、ニュースを目にするたびにちょっと滅入ってしまうような状況ではありますね。

sentaro様もご無事でしたか、良かったです。

明日、緊急事態宣言が発令される見通しですが、対象区域内に済んでいて仕事をしているので、色々と考えることが多いです。


ところで、昨日 GIII の概要をまとめた記事をアップしました。
https://egadget.blog.fc2.com/blog-entry-718.html

表示の更新がテキストでもグラフィックスでも高速化しています。

Re:Re: 業務連絡 - コロナ蔓延の折、皆様如何お過ごしですか?

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>ここしばらく、皆様の書き込みが少ないのですが、如何お過ごしでしょうか?
>お元気になさっておられますか?

ご心配おかけして申し訳ありません。(汗)
私の方は今のところは問題ない感じですが、ニュースを目にするたびにちょっと滅入ってしまうような状況ではありますね。


>私自身は、少し前に色々あって、私を含めて家族全員が味覚異常と発熱程度、咳もなく普通の風邪か?と思われる程度の体調不良を経て、現在は元気100%になっております。恐らく特定コロナウィルスの免疫を獲得した模様で、発症リスクが低くなっております。

大事に至らずの免疫獲得は良かったです。(^^)
国民の大多数が集団免疫を獲得するまでは終息しないといわれているので、ワクチンが出来るのが先か、感染してしまうのが先か、ということで戦々恐々な状況がしばらく続きそうです。



Colon様、

>眠気は新型コロナの症状じゃないよな、とか、最近あまり起きておらずしかも食欲がないので 1 日 1 食、体力と体重の低下が著しいので免疫がやばいな、とか色々考えつつ外に出ないことだけを徹底しています。
>今進めている微分関係のテイラー展開と精度の評価も遅れぎみですが、計算が終わり次第またコメントします。m(_ _)m

C.Basicの方は、当面はバグフィックスでの修正アップデートとする方向なので、
新機能追加は何時までにとかの期限も無いので、決して無理はされないでくださいませ。(^^)

Re: Re: 業務連絡 - コロナ蔓延の折、皆様如何お過ごしですか?

Coolon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、


管理人のやすです。

> すみません、私は特別具合が悪いところはありません!

良かったです。


> ただ、最近ものすごい眠気で睡眠時間が増えていて、自動的に電卓をさわる時間が減っています。(^^;
> 昨日は 16 時に寝て、夜中に一旦目が覚めたもののそのまま寝落ちして先程 15 時に起きました。
> 流石に母が「死んでるんじゃないか」と心配して覗きに来たほどです。(^^;

それは、春眠暁を覚えずの典型例ではありませんか?
それだけぶっと強いで寝られるのは、ある意味凄いことです。


> 眠気は新型コロナの症状じゃないよな、とか、最近あまり起きておらずしかも食欲がないので 1 日 1 食、体力と体重の低下が著しいので免疫がやばいな、とか色々考えつつ外に出ないことだけを徹底しています。

美味しいものをしっかり召し上がってくださいね!


> 今進めている微分関係のテイラー展開と精度の評価も遅れぎみですが、計算が終わり次第またコメントします。m(_ _)m

どうぞ、ごゆっくり...

Re: 業務連絡 - コロナ蔓延の折、皆様如何お過ごしですか?

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

> ここしばらく、皆様の書き込みが少ないのですが、如何お過ごしでしょうか?
> お元気になさっておられますか?

すみません、私は特別具合が悪いところはありません!

ただ、最近ものすごい眠気で睡眠時間が増えていて、自動的に電卓をさわる時間が減っています。(^^;
昨日は 16 時に寝て、夜中に一旦目が覚めたもののそのまま寝落ちして先程 15 時に起きました。
流石に母が「死んでるんじゃないか」と心配して覗きに来たほどです。(^^;

眠気は新型コロナの症状じゃないよな、とか、最近あまり起きておらずしかも食欲がないので 1 日 1 食、体力と体重の低下が著しいので免疫がやばいな、とか色々考えつつ外に出ないことだけを徹底しています。

以上、近況報告でした。


今進めている微分関係のテイラー展開と精度の評価も遅れぎみですが、計算が終わり次第またコメントします。m(_ _)m

業務連絡 - コロナ蔓延の折、皆様如何お過ごしですか?

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


管理人のやすです。

ここしばらく、皆様の書き込みが少ないのですが、如何お過ごしでしょうか?
お元気になさっておられますか?


私自身は、少し前に色々あって、私を含めて家族全員が味覚異常と発熱程度、咳もなく普通の風邪か?と思われる程度の体調不良を経て、現在は元気100%になっております。恐らく特定コロナウィルスの免疫を獲得した模様で、発症リスクが低くなっております。

仕事では、本業ではないのですが、医療関係の検査機・部品・素材に関して待ったなしの忙しさになっております。


皆様から、何かコメントを頂けると嬉しいです!

Re: Re^30: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様

> 調べてみました。
>
> [CY835A MAIN]
> OS Ver 03.10.2200
> DateO 2019.0423.0414
> DateA 2019.0318.1507
>
> 35+EIIとGIIIは同じ系統の兄弟機種ということが分かりますね。(^^)

35+EIIの派生版だということがよく分かりますよね。

ところで、GIIIの加算、関数計算、テキスト更新、グラフィックス更新のスピードをベンチマークしてみましたが、GIIやCG50よりは確実に高速化していますし、テキスト&グラフィックス描画速度も確実に高速化していました。


Re^30: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>35+EIIの機種コードはどうなっていますか?

調べてみました。

[CY835A MAIN]
OS Ver 03.10.2200
DateO 2019.0423.0414
DateA 2019.0318.1507

35+EIIとGIIIは同じ系統の兄弟機種ということが分かりますね。(^^)

Re: Re^28: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、

> うわ、クーポン=ギフト券?での払い戻しだったのですか。
> 他のAmazonと共通だったら使いみちが広がりますね。(^^)

そうなんです。USAもFrも Prime会員でないのですが、ヘルプをたどってゆくと、回答を得るのにPrime会員を求められるので、別経路での質問を探索中です。

> >もし、Amazon Frでしか使えないクーポンなら、fx-7400GIII でも買ってみようかとも思いますが、コロナ騒ぎがある程度落ち着くまで、Amaazonから日本への出荷は難しそうなので、まぁゆっくり考えてみます。
>
> せっかくなのでついでにGraph90+EとかGraph35+EIIとかもどうでしょう?(^^)

うはっ、フランス版まで完全制覇ですか...
めっちゃ低い優先度で検討します...(^_^;



> Graph90+EとCG50を比較すると色の違い以外ではUSB端子の横に試験用のLEDがあるのがGraph90+Eです。
> これはGraph35+EIIにも付いているのでここが国際版との唯一の違いかなと思われますが、他にもあるかどうかっていうところですね。

あ、そうでしたね!

そうそう、GIII のVersion情報ですが、

[CY837A MAIN]
OS Ver 03.21.0200
DateO 2019.1220.1151
DateA 2019.0318.1507

となっていました。

35+EIIの機種コードはどうなっていますか?

9860GIIシリーズは、以下のように近いところになっています。
- fx-9860GII   OS 2.04: GY499AZ
- fx-9860GII   OS 2.09: GY499AX
- fx-9860GII SD OS 2.09: GY497AX

機種コードが 35+EIIとGIIIで近いかどうか、興味あります。

Re^28: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>Colon様ご紹介の DeepL は本当に役立ちます。さっそく仕事で付き合いのあるモントリオール(フランス語)の会社から送られてきた謎のフランス語メールの翻訳で役立ちました(結構重要でした)。いつもは英語で送り直すよう依頼するところ、時間の節約になりました。日本語への翻訳精度はColon様がおっしゃるように、無料サービスの中では現状では最も精度が良いですね。

本当にそうですね。私も実感中です。(^^)
これでフランス語版ドキュメントもなんとかなりそうな気がしてくるくらい精度が良さそうです。


>で、Amazon Fr から来ていたフランス語メールを放置していたのを思い出し、DeepLで翻訳したところ、20%払い戻しの具体的内容でした。
>なんと、Amazonのクーポンでの払い戻しでした(-_-;
>アカウント情報やログイン情報は、Amazon USAと共通なので、ひょっとしてAmazon USAでも使えるのかどうか、調べる予定です。

うわ、クーポン=ギフト券?での払い戻しだったのですか。
他のAmazonと共通だったら使いみちが広がりますね。(^^)


>もし、Amazon Frでしか使えないクーポンなら、fx-7400GIII でも買ってみようかとも思いますが、コロナ騒ぎがある程度落ち着くまで、Amaazonから日本への出荷は難しそうなので、まぁゆっくり考えてみます。

せっかくなのでついでにGraph90+EとかGraph35+EIIとかもどうでしょう?(^^)


>ハード面では、違いが無さそうですよね。バックライト機能も無いし、商品情報やマニュアルを見る限り、バッテリー性能もキー周りの印字も同一ですし、メモリ仕様も同じで、サイズも重量も同じです。

Graph90+EとCG50を比較すると色の違い以外ではUSB端子の横に試験用のLEDがあるのがGraph90+Eです。
これはGraph35+EIIにも付いているのでここが国際版との唯一の違いかなと思われますが、他にもあるかどうかっていうところですね。


>ソフト面では、Casio Basic はこれまで作ってきたものはほぼ全て同じ動作をしているようです。アドインは最初からGeometryのみがインストールされていますが、イタリア語対応にみわれるように、OSバアップデートで違いが無くなる可能性大ですね。

デフォルトでフランス語か英語かという違いくらいでしょうかね。


>Pythonがどうなのかは、まだ未知数です。

次のアップデートでグラフィックス描画が追加されるのですが、ここは違いが出る可能性はないですね。(^^;

Re: Re^26: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


sentaro様、Colon様、

Colon様ご紹介の DeepL は本当に役立ちます。さっそく仕事で付き合いのあるモントリオール(フランス語)の会社から送られてきた謎のフランス語メールの翻訳で役立ちました(結構重要でした)。いつもは英語で送り直すよう依頼するところ、時間の節約になりました。日本語への翻訳精度はColon様がおっしゃるように、無料サービスの中では現状では最も精度が良いですね。

但し、チョットした技術専門用語が混ざっている文章については、英語への翻訳のほうが確実だというのも分かりました。

で、Amazon Fr から来ていたフランス語メールを放置していたのを思い出し、DeepLで翻訳したところ、20%払い戻しの具体的内容でした。

なんと、Amazonのクーポンでの払い戻しでした(-_-;
アカウント情報やログイン情報は、Amazon USAと共通なので、ひょっとしてAmazon USAでも使えるのかどうか、調べる予定です。

もし、Amazon Frでしか使えないクーポンなら、fx-7400GIII でも買ってみようかとも思いますが、コロナ騒ぎがある程度落ち着くまで、Amaazonから日本への出荷は難しそうなので、まぁゆっくり考えてみます。

DeepLのお陰で、とても助かっています。



> あと気になるところは、GIIIと35EIIにハード/ソフトでの違いがあるかどうかというところです。
私も、気になっています。

ハード面では、違いが無さそうですよね。バックライト機能も無いし、商品情報やマニュアルを見る限り、バッテリー性能もキー周りの印字も同一ですし、メモリ仕様も同じで、サイズも重量も同じです。

ソフト面では、Casio Basic はこれまで作ってきたものはほぼ全て同じ動作をしているようです。アドインは最初からGeometryのみがインストールされていますが、イタリア語対応にみわれるように、OSバアップデートで違いが無くなる可能性大ですね。

Pythonがどうなのかは、まだ未知数です。

Re^26: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、管理人様、

>翻訳と言えば最近ニュースになっていたのですが、"DeepL 翻訳" という高精度の翻訳システムが日本語と中国語に新たに対応したらしいです。
https://www.deepl.com/translator
>早速使ってみました。とても精度が高いです。
>併せてWindowsアプリをインストールすると、とても便利になります。

私も早速にインストールしてみました。
機械翻訳の進化は私的にはとっても助かります。(^^)
ありがとうございます!!


>フランス専用機なので何とも言えませんが、CG20/50 のように OS アップデートでイタリア語が追加される可能性はあるかもですね。(^^)

>ところで、購入した fx-9860GIII はイタリア語にも対応しています。
>OS 3.21 となっています。

35EIIの最新バージョンが3.10なので、次回アップデートで追加されそうですね。(^^)

あと気になるところは、GIIIと35EIIにハード/ソフトでの違いがあるかどうかというところです。

Re^25: "GraphXt/Yt" へのヌル文字列代入不具合

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

Colon様;

> 翻訳と言えば最近ニュースになっていたのですが、"DeepL 翻訳" という高精度の翻訳システムが日本語と中国語に新たに対応したらしいです。
> https://www.deepl.com/translator

早速使ってみました。とても精度が高いです。
併せてWindowsアプリをインストールすると、とても便利になります。

> 事前に翻訳の種類を伏せて調査したところによると、Google や Amazon、Microsoft の翻訳よりも高い評価を得たそうで、
> 私も少し試してみましたが Google 翻訳よりも自然な文章が出力されました。

その通りです。非常に役立つアプリをご紹介頂き、大変ありがとうございます。\(^_^)


ところで、購入した fx-9860GIII はイタリア語にも対応しています。
OS 3.21 となっています。

ところが、CASIO WORLDWIDE EDUCATION WEBSITE ではOSアップデート版が Ver 3.10 になっていて、妙なことになっています。

おそらく、fx-CGの最新OSアップデートのように、最新の Ver.3.21 ででイタリア語対応し、Pythonがアップデートされたのではないかと推測しています。

Re^24: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

> ところで、Amazon Fr への問い合わせの際、"英語でやりとりする"という項目が選択できるようになっていて、今回それを使いました。これはとても助かります。注文時の画面はGoogle翻訳で英語にできるので問題なし。一番面倒なのが、Amazon Frから送られてくる各種確認メールです。フランス語で書かれています。翻訳にはチョット手間がかかってしまいます。でもこれが唯一の問題というのは、世の中ずいぶんと便利になったと思わざるを得ません。

> 問い合わせは英語でできるというのは知りませんでしたが、
> サイトでのポチるときもメールも全部フランス語でしたね。(^^;

翻訳と言えば最近ニュースになっていたのですが、"DeepL 翻訳" という高精度の翻訳システムが日本語と中国語に新たに対応したらしいです。
https://www.deepl.com/translator

事前に翻訳の種類を伏せて調査したところによると、Google や Amazon、Microsoft の翻訳よりも高い評価を得たそうで、
私も少し試してみましたが Google 翻訳よりも自然な文章が出力されました。

ご参考までに……。


>> GRAPH35+EII で選べる言語は、デフォルトでフランス語でしょうか?
>> そのほかの言語は選べるのでしょうか?

> デフォルトではフランス語ですが、
> 英語、スペイン語、ドイツ語、フランス語、ポルトガル語が選択可能です。(^^)
> GIIIと比較すると、イタリア語が無いようです。

フランス専用機なので何とも言えませんが、CG20/50 のように OS アップデートでイタリア語が追加される可能性はあるかもですね。(^^)

Re^23: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
2>5%分の払い戻し手続きを既に済ませたという連絡が来たのですが、1つミスをしました。払い戻しの際、クレジットカード請求を変更してくれたのなら良いのですが、別途振り込みとなると振込手数料がどちら持ちになるかで、かなり変わってきます。
>「私は振り込み手数料を払いたくないから、よろしく!」と言うのを忘れていました。
>カード決済額の変更なら問題ないのですが...

>結果は、カードの請求をみてからになります。あぁ、うっかりしてました...

一度満額引き落とされた後で、手数料先方持ちで25%戻ってくる感じではないでしょうか?
税金の払い戻しと同じならそういう感じになるかと思います。(^^)


>ところで、Amazon Fr への問い合わせの際、"英語でやりとりする"という項目が選択できるようになっていて、今回それを使いました。これはとても助かります。注文時の画面はGoogle翻訳で英語にできるので問題なし。一番面倒なのが、Amazon Frから送られてくる各種確認メールです。フランス語で書かれています。翻訳にはチョット手間がかかってしまいます。でもこれが唯一の問題というのは、世の中ずいぶんと便利になったと思わざるを得ません。

問い合わせは英語でできるというのは知りませんでしたが、
サイトでのポチるときもメールも全部フランス語でしたね。(^^;


>そうそう、Amazon Fr の担当者から、いきなり私の携帯に国際電話があったんですよ!
>事実確認の電話だったのですが、これは親切というべきなのでしょうか?
>お金が関わることなので、やりとりはメールにして記録に残したい旨伝えたら、速攻でメールが来ました。
>総じて、Amazon Frの対応は良いと思いました。

うわ、国際電話がかかってくるとなると、それはちょっと焦りますね。(^^;


>普通の日本人だったら、読み書きは別として、外国語でいきなり電話があって対応できる人は少ないと思うわけで、日本人の特性を理解していません。それだけAmazon Frで買い物をする日本人は少ないってことでしょうか?

ほとんどがフランス国内からの購入でしょうから日本からの購入は微々たるものでしょうし、
問い合わせの事実確認はまず電話でするというマニュアルがある可能性もありますね。



>GRAPH35+EII で選べる言語は、デフォルトでフランス語でしょうか?
>そのほかの言語は選べるのでしょうか?

デフォルトではフランス語ですが、
英語、スペイン語、ドイツ語、フランス語、ポルトガル語が選択可能です。(^^)
GIIIと比較すると、イタリア語が無いようです。


>良い情報を頂きました。ゴム足の素材は、fx-CG50は半透明のシリコーンゴムっぽい素材で、fx-9860GIII は真っ白の合成ゴムと、色は異なっています。但し接着面となる平らな面はリング状になっていて、接着面積が少なめです。
>素材によって選ぶ接着剤が異なりますので、取れたゴム足をサイド接着する場合と、買ってきたゴム足を接着する場合を分けた方が良いかも知れません。

あ、GIIIのゴムは真っ白でしょうか?
Graph35+EIIはパッと見、CG50と変わらない半透明ゴムに見えます。(^^;
となると、GIIIで何か部品が変わった可能性ありますね。

Re^22: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、

> 昨年、Graph35+EIIは60ユーロ前後で販売されていましたけど、
> よくよく考えると、フランスではGraph35+EIIが公式モデルなので、9860GIIIが売られているというのはちょっと変ではありますね。(^^;

GRAPH35+EII で選べる言語は、デフォルトでフランス語でしょうか?
そのほかの言語は選べるのでしょうか?

fx-9860GIII では、デフォルトが英語、その他選択できるのは、スペイン語、ドイツ語、フランス語、ポルトガル語、イタリア語の5カ国語になっています。



> >ゴム足は、どこかで調達して修理しようと思います。
> >そして、GRAPH 35+E II と fx-9860GIII 共通の問題点としてゴム足が取れやすいこと、その具体的修理方法を記事にすれば、読者の参考になると思います。
> CG50のも取れてどっかにいってしまってるのがあるのですが、このゴム足の修理法もしくは代わりになるものがあればかなり重宝するかもです。

良い情報を頂きました。ゴム足の素材は、fx-CG50は半透明のシリコーンゴムっぽい素材で、fx-9860GIII は真っ白の合成ゴムと、色は異なっています。但し接着面となる平らな面はリング状になっていて、接着面積が少なめです。
素材によって選ぶ接着剤が異なりますので、取れたゴム足をサイド接着する場合と、買ってきたゴム足を接着する場合を分けた方が良いかも知れません。

最初に使われているゴム足の素材が分かれば良いのですが...

まぁ、ゴム足の素材や接着剤についてジックリと調べて見ることにします。

Re^21: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、Colon様

25%分の払い戻し手続きを既に済ませたという連絡が来たのですが、1つミスをしました。払い戻しの際、クレジットカード請求を変更してくれたのなら良いのですが、別途振り込みとなると振込手数料がどちら持ちになるかで、かなり変わってきます。
「私は振り込み手数料を払いたくないから、よろしく!」と言うのを忘れていました。
カード決済額の変更なら問題ないのですが...

結果は、カードの請求をみてからになります。あぁ、うっかりしてました...

ところで、Amazon Fr への問い合わせの際、"英語でやりとりする"という項目が選択できるようになっていて、今回それを使いました。これはとても助かります。注文時の画面はGoogle翻訳で英語にできるので問題なし。一番面倒なのが、Amazon Frから送られてくる各種確認メールです。フランス語で書かれています。翻訳にはチョット手間がかかってしまいます。でもこれが唯一の問題というのは、世の中ずいぶんと便利になったと思わざるを得ません。

そうそう、Amazon Fr の担当者から、いきなり私の携帯に国際電話があったんですよ!
事実確認の電話だったのですが、これは親切というべきなのでしょうか?
お金が関わることなので、やりとりはメールにして記録に残したい旨伝えたら、速攻でメールが来ました。
総じて、Amazon Frの対応は良いと思いました。

まぁ、仕事でも連絡先を個人の携帯にしているので、英語での電話は珍しくありません。かけるのは会社の携帯、受けるのは個人の携帯ってわけです。
で、掛かってきたとき通勤電車で眠りこけていた時だったので、寝起きで一瞬誰からの何の電話か理解できず、まして電車の中なので、チョット困りました。

普通の日本人だったら、読み書きは別として、外国語でいきなり電話があって対応できる人は少ないと思うわけで、日本人の特性を理解していません。それだけAmazon Frで買い物をする日本人は少ないってことでしょうか?

Re^20: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>Amazon Franceから2つの現実的対応オプションが提示されました。
>ハードカバーやゴム足だけを送るころが出来ないので、
>1. 25%払い戻しするから、そのまま受け取る。
>2. 全額払い戻しするから、全て返送する。

>迷わずオプション#1を選択しました。
>メーカーではないので、部材のみを送るのが無理だというのは当然だと思います。
>すると25%払い戻しは€24.16 = \2,900 なので、総額¥12,200 で入手できた計算になります。これはお得です。

価格が少し高かっただけに25%引きになったのはとってもお得でしたね。(^^)

昨年、Graph35+EIIは60ユーロ前後で販売されていましたけど、
よくよく考えると、フランスではGraph35+EIIが公式モデルなので、9860GIIIが売られているというのはちょっと変ではありますね。(^^;


>ゴム足は、どこかで調達して修理しようと思います。
>そして、GRAPH 35+E II と fx-9860GIII 共通の問題点としてゴム足が取れやすいこと、その具体的修理方法を記事にすれば、読者の参考になると思います。

CG50のも取れてどっかにいってしまってるのがあるのですが、このゴム足の修理法もしくは代わりになるものがあればかなり重宝するかもです。



Colon様、
>2 階微分の計算式は分かっているので、これと同程度の精度が確保できればよいと考えていますが、
http://wes.casio.com/math/index.php?q=I-75503110201+U-laXVBQkW+M-X007072+K-7F27101

>上記式の精度はこれから計算してみます。

毎度Colon様頼みになってしまってますが、よろしくお願いします。(^^)

Re^19: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> 1. 25%払い戻しするから、そのまま受け取る。
> 2. 全額払い戻しするから、全て返送する。

> 迷わずオプション#1を選択しました。

なんと 4 分の 1 も!!
問い合わせてみるものですね。(^^)


sentaro様、
> ということで、精度を考えると、今の実装方法でも構わないという感じでしょうか?

2 階微分の計算式は分かっているので、これと同程度の精度が確保できればよいと考えていますが、
http://wes.casio.com/math/index.php?q=I-75503110201+U-laXVBQkW+M-X007072+K-7F27101

上記式の精度はこれから計算してみます。

Re^18: "GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

> > ところで、到着した製品のハードカバーのゴム足が1つ付いていませんでした。輸送中に取れたのではなく、パッケージに入れた段階で付いていなかった状況です。
> > 今回のゴム足問題で、さらに "やべー" となるかも知れません。
> > さーて、どのような対応をして貰えるのか、チョット楽しみです。

Amazon Franceから2つの現実的対応オプションが提示されました。
ハードカバーやゴム足だけを送るころが出来ないので、
1. 25%払い戻しするから、そのまま受け取る。
2. 全額払い戻しするから、全て返送する。

迷わずオプション#1を選択しました。
メーカーではないので、部材のみを送るのが無理だというのは当然だと思います。
すると25%払い戻しは€24.16 = \2,900 なので、総額¥12,200 で入手できた計算になります。これはお得です。

ゴム足は、どこかで調達して修理しようと思います。
そして、GRAPH 35+E II と fx-9860GIII 共通の問題点としてゴム足が取れやすいこと、その具体的修理方法を記事にすれば、読者の参考になると思います。

Re^17: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>"DrawGraph" のサポートにより重ね描きを正式サポートすることになるのと、
>トレースは 127 段階でなく Xmin から XMax までの任意の X について実行するので、
>トレースの実装の方針としては逐次値を計算するというのが現実的だと思います。

了解です。(^^)
従来はYグラフだけに最適化していた状態だったので、
今回のグラフ描画の全面拡張に対応していかないとですね。


>えぇと、これは 2 次精度の中央差分近似ですね。(^^;

あ、そうだったんですね。(^^;


>「n-次精度」の意味についてちょっとご説明します。

ありがとうございます!
なんとなく理解できました!(^^)

ということで、精度を考えると、今の実装方法でも構わないという感じでしょうか?

Re^16: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> 昨日帰宅した時、届いておりました。
> で、今朝から色々と触ってみています。

入手おめでとうございます!! (^^)

> ところで、到着した製品のハードカバーのゴム足が1つ付いていませんでした。輸送中に取れたのではなく、パッケージに入れた段階で付いていなかった状況です。
> 今回のゴム足問題で、さらに "やべー" となるかも知れません。
> さーて、どのような対応をして貰えるのか、チョット楽しみです。

電卓に限らず、ゴム足が元々取れていることってありますよね。(^^;
微妙に気になるか気にならないかという箇所なので、どのような対応になるのか気になりますね。


sentaro様、
> んと、グラフ描画は基本的にYグラフが描ければいいということでの実装なので、
> まず、グラフ描画のX方向に127分割で関数の値を計算しておいてから、それを利用してTrace等で描画するのですが、

"DrawGraph" のサポートにより重ね描きを正式サポートすることになるのと、
トレースは 127 段階でなく Xmin から XMax までの任意の X について実行するので、
トレースの実装の方針としては逐次値を計算するというのが現実的だと思います。

> 微分係数に関しては、前後の2値から傾きを計算してるので、
> (f(x-1)+f(x+1))/(2*Xdot*3)
> となっているので、1 次精度の前進差分近似ということなのでしょうか?(^^)

えぇと、これは 2 次精度の中央差分近似ですね。(^^;

「n-次精度」の意味についてちょっとご説明します。

まず、前進差分近似というのは f(a+h) をテイラー展開し、f'(a) について解くことで導出できます。

詳しい計算は省きますが、
f'(a) = (f(a+h)−f(a))/h + O(h)
となり、
Δf(a) = (f(a+h)−f(a))/h として近似を行うため、打ちきり誤差は
f'(a)−Δf(a) = O(h)
よって、誤差は h の 1 乗に比例することが分かります。
→ これを「1 次精度」と呼ぶ

次に、中心差分近似というのは f(a+h) と f(a−h) をテイラー展開して連立し、f'(a) について解くことで導出できます。

f'(a) = (f(a+h)−f(a−h))/2h + O(h^2)
となり、
Δf(a) = (f(a+h)−f(a−h))/2h として近似を行うため、打ちきり誤差は
f'(a)−Δf(a) = O(h^2)
よって、誤差は h の 2 乗に比例することが分かります。
→ これを「2 次精度」と呼ぶ

以下、打ちきり誤差が h の n 乗に比例する場合に「n-次精度」と呼びます。

|h| < 1 の場合は n が大きいほど誤差が少なくなることが分かると思います。

Re^15:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>それは、あり得そうですね!
>今、"fx-9860GII の概要" の記事を書いているところです。

日本初のGIII記事、楽しみです!


>うまく認識できました。Sys.g1m をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00097
>9860GIII認識機能を追加するとき、サンプルプログラムもこれに差し替えてください。

ありがとうございます!
次のアップデートで差し替えます。(^^)


>あ、取れやすいのですね。CG50と違ってキー入力の問題ないのに、今度はゴム足ですか...必ずどこかに問題ありますよね。

はい、うちのGraph35+EIIのゴム足もずれて取れる寸前なので、油断すると無くなってしまいそうです。(^^;


>日本での販売が予定されているのなら、国内にもあるかも知れませんよ!

早期販売ということになればすでに入ってる可能性はありますね。(^^)

Re: Re^13:"GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


> (おそらく)日本初の9860GIIIゲットおめでとうございます!(^^)
それは、あり得そうですね!

今、"fx-9860GII の概要" の記事を書いているところです。


> GIII判定はGraph35+EIIとハードの違いが全く無いものと推測してOSのバージョンから判定しています。(^^)
>
> https://pm.matrix.jp/CB/CBASIC245beta15.zip
> 9860GIIIの判定を追加したテスト版です。

うまく認識できました。Sys.g1m をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00097

9860GIII認識機能を追加するとき、サンプルプログラムもこれに差し替えてください。

> うわ、なんと…(^^;
> あのゴム足は取れやすいのでパッケージング段階のどこかで無くなったっぽいですね。

あ、取れやすいのですね。CG50と違ってキー入力の問題ないのに、今度はゴム足ですか...必ずどこかに問題ありますよね。


> 日本への発送が無事完了したまでは良かったものの、(また想定外の)オチが付いた感じですね。(^^;
> まだ9860GIIIは日本に入ってきてないかもしれませんし、交換部品も無いかもしれませんね。(^^;

日本での販売が予定されているのなら、国内にもあるかも知れませんよ!

Re^13:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>昨日帰宅した時、届いておりました。
>で、今朝から色々と触ってみています。

(おそらく)日本初の9860GIIIゲットおめでとうございます!(^^)


>Ftune3 と C.Basic をインストールしました。Ftune3 はこれから触ってどこまで高速化できるのか、やってみようと思います。Ftune2 のエントリーで質問するかも知れませんので、その際はよろしくお願い致します。

了解です!


>さ、C.Baisc で以前作成し、サンプルプログラムとして同梱頂いている Sys.g1m で使っている System( コマンドについて1つ要望があります。Ftune3 では、計算機個体が fx-9860GIII であることが認識され、この機種名が表示されます。個体の識別が出来ているのだろうと思います。なので、System(-1) でも fx-9860GIII の場合は戻り値 5 を返すようにできないでしょうか?

GIII判定はGraph35+EIIとハードの違いが全く無いものと推測してOSのバージョンから判定しています。(^^)

https://pm.matrix.jp/CB/CBASIC245beta15.zip
9860GIIIの判定を追加したテスト版です。


>ところで、到着した製品のハードカバーのゴム足が1つ付いていませんでした。輸送中に取れたのではなく、パッケージに入れた段階で付いていなかった状況です。

うわ、なんと…(^^;
あのゴム足は取れやすいのでパッケージング段階のどこかで無くなったっぽいですね。


>私も、ツボっています。
>今回のゴム足問題で、さらに "やべー" となるかも知れません。

日本への発送が無事完了したまでは良かったものの、(また想定外の)オチが付いた感じですね。(^^;


>さーて、どのような対応をして貰えるのか、チョット楽しみです。
>これで、゙ダメなら日本のカシオに相談してみようかと思います。一応ゴム足がなかったことは、ブログに書いておこうと思います(チョットだけ影響があるかも知れませんので...)。

まだ9860GIIIは日本に入ってきてないかもしれませんし、交換部品も無いかもしれませんね。(^^;

Re^12:"GraphXt/Yt" へのヌル文字列代入不具合

sentaro、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

sentaro様、

> 本日中ということはすでに到着されたのですね!
> C.BasicやFtune3はすでに対応済みなので、動作確認の方、よろしくお願いします。(^^)

昨日帰宅した時、届いておりました。
で、今朝から色々と触ってみています。

Ftune3 と C.Basic をインストールしました。Ftune3 はこれから触ってどこまで高速化できるのか、やってみようと思います。Ftune2 のエントリーで質問するかも知れませんので、その際はよろしくお願い致します。

さ、C.Baisc で以前作成し、サンプルプログラムとして同梱頂いている Sys.g1m で使っている System( コマンドについて1つ要望があります。Ftune3 では、計算機個体が fx-9860GIII であることが認識され、この機種名が表示されます。個体の識別が出来ているのだろうと思います。なので、System(-1) でも fx-9860GIII の場合は戻り値 5 を返すようにできないでしょうか?


ところで、到着した製品のハードカバーのゴム足が1つ付いていませんでした。輸送中に取れたのではなく、パッケージに入れた段階で付いていなかった状況です。


> >「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (Colon様談)
> ここ、何度見てもツボります。(^^)

私も、ツボっています。
今回のゴム足問題で、さらに "やべー" となるかも知れません。

一応、Amazonへ問い合わせを入れました。ハードカバーか最悪ゴム足だけでも送って貰えないか?と依頼しています。
私は日本に住んでいるので、製品全体の返送と再発送は輸送費が問題になりそうで、良い方法ではないと思う、とも付け加えております。

さーて、どのような対応をして貰えるのか、チョット楽しみです。
これで、゙ダメなら日本のカシオに相談してみようかと思います。一応ゴム足がなかったことは、ブログに書いておこうと思います(チョットだけ影響があるかも知れませんので...)。


Re^11:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
タッチの差で(といっても11分差(^^;)で見逃してしまいました。m(_ _)m

>遅れましたが、修正確認しました。
>これで多分関数式への代入は OK です。

ありがとうございます!(^^)


>これらのコマンドの動作確認に作成中のグラフ関数式一覧を使っています。

>現時点では選択・非選択、削除、グラフタイプ設定・変更、線種選択、4 ビットカラーの指定が出来るようになっています。
>[SHIFT] + [5] のポップアップも、無事純正互換で実装できました。(^^)

>現時点では Param を 1 行に表示する形式なので、2 行での表示に対応することと (ここが最難関?)、
>関数式の編集が出来るようになれば大体完了です (代入後の処理がプログラムコマンドと異なるため別実装になります) ので、
>近いうちに公開できればと考えています。

ありがとうございます!
C.Basicのプログラムとして実装できるというのがすごいですね。(^^)


>設定項目に関してですが、"Graph Func" (グラフ関数式表示) と "Ineq Type" (不等式の塗りつぶし) の追加をお願いします。

了解しました!


>"Simul Graph" (グラフ同時描画) については、"DrawGraph" コマンドでグラフを一斉に描画するか順番に描画するかの設定なのですが、これはグラフ描画の途中経>過を表示する前提の項目です。
>普通に 1 ステップずつ画面表示する実験をしてみたのですが、純正よりかなり遅くなってしまう + 関数式の表示部の加減で処理が難しいので悩み中です。

>というわけで、"Simul Graph" は保留でお願いします。(^^;

了解です!


>現在 "Y=" のグラフの微分係数は現在どのようなアルゴリズムで計算しているでしょうか?

んと、グラフ描画は基本的にYグラフが描ければいいということでの実装なので、
まず、グラフ描画のX方向に127分割で関数の値を計算しておいてから、それを利用してTrace等で描画するのですが、
微分係数に関しては、前後の2値から傾きを計算してるので、
(f(x-1)+f(x+1))/(2*Xdot*3)
となっているので、1 次精度の前進差分近似ということなのでしょうか?(^^)

Re^9:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>riangle Filed Ver 0.91 へのアップデート対応は、昨晩しております。

早速にありがとうございます!


>誠意のある対応は、有り難いです。
>成田での輸入許可も下りており、あとは自宅への配送を待っているところです。一応本日中配達予定となっているので、明日はチョコッといじってみようと思います。

本日中ということはすでに到着されたのですね!
C.BasicやFtune3はすでに対応済みなので、動作確認の方、よろしくお願いします。(^^)


>「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (Colon様談)

ここ、何度見てもツボります。(^^)


>ところで、fx-7400GIII も新発売になっておりますが、この機種は、fx-5800Pの後継機として見る場合は、面白いと思っています。

fx-5800Pの価格で日本でも発売されると面白くなりそうですね。

Re^9:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> 今のセラーからは、最初であるだけでなく、最後のケースになりそうです(-_-;
> 誠意のある対応は、有り難いです。
> 成田での輸入許可も下りており、あとは自宅への配送を待っているところです。一応本日中配達予定となっているので、明日はチョコッといじってみようと思います。

おっ、楽しみです。
無事届きそうで良かったですね。(^^)


sentaro様、
> build15を修正&差し替えアップしました。(^^)

遅れましたが、修正確認しました。
これで多分関数式への代入は OK です。

これらのコマンドの動作確認に作成中のグラフ関数式一覧を使っています。

現時点では選択・非選択、削除、グラフタイプ設定・変更、線種選択、4 ビットカラーの指定が出来るようになっています。
[SHIFT] + [5] のポップアップも、無事純正互換で実装できました。(^^)

現時点では Param を 1 行に表示する形式なので、2 行での表示に対応することと (ここが最難関?)、
関数式の編集が出来るようになれば大体完了です (代入後の処理がプログラムコマンドと異なるため別実装になります) ので、
近いうちに公開できればと考えています。


設定項目に関してですが、"Graph Func" (グラフ関数式表示) と "Ineq Type" (不等式の塗りつぶし) の追加をお願いします。

"Simul Graph" (グラフ同時描画) については、"DrawGraph" コマンドでグラフを一斉に描画するか順番に描画するかの設定なのですが、これはグラフ描画の途中経過を表示する前提の項目です。
普通に 1 ステップずつ画面表示する実験をしてみたのですが、純正よりかなり遅くなってしまう + 関数式の表示部の加減で処理が難しいので悩み中です。

というわけで、"Simul Graph" は保留でお願いします。(^^;


ところで、トレース機能やテーブル機能に "Derivative" (微分係数表示) の設定が関わってくるようです。

現在 "Y=" のグラフの微分係数は現在どのようなアルゴリズムで計算しているでしょうか?


CASIO のマニュアルには、純正では 1 次精度の前進差分近似 (※) を用いているという趣旨の記述があります。
http://wes.casio.com/math/index.php?q=I-75503110201+U-laXVBQkW+M-X007072+K-7F26101

(※) x = a+Δx, x の 2 点を用いるアルゴリズム

しかし、有効 10 桁以上の精度で計算できているようなので、この記述が本当かは怪しいです。(^^;

倍精度浮動小数点数で 1 次精度の差分近似を行った際に有効桁数がどうなるか計算してみたところ、関数式にもよりますが 7 桁程度であることが分かりました。
仮数部 15 桁、指数部 2 桁の 10 進数で計算した場合でも、これと同程度の精度になるようです。

ちなみに、これより精度が高いアルゴリズムだとどうなるか計算してみたところ、
・ x = a±Δx の 2 点を用いる 2 次精度の差分近似では有効桁数 10 程度
・ x = a±Δx, a±2Δx の 4 点を用いる 4 次精度の差分近似では有効桁数 12 程度
・ x = a±Δx, a±2Δx, a±3Δx の 6 点を用いる 6 次精度の差分近似では有効桁数 13 程度

であることが分かりました。
これらは左辺が Y の場合の dY/dX についてのものです。

Re^8:"GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

Triangle Filed Ver 0.91 へのアップデート対応は、昨晩しております。



> >>Colon様の
> >  >「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)
> >は、可能性でなく、妄想でもなくて、実際の話っぽいです!
>
> セラーの方からすれば予想外の事とはいえ、実際に発送してくれたのは良かったです。

誠意のある対応は、有り難いです。
成田での輸入許可も下りており、あとは自宅への配送を待っているところです。一応本日中配達予定となっているので、明日はチョコッといじってみようと思います。


> イタリアもセカイモン対応であればよかったのですが、ドイツのみですね。(^^;
そうなんです。

以下の記事に書いていますが、Amazon Franceのセラーからの総額が結構お得に見えてきます。
https://egadget.blog.fc2.com/blog-entry-715.html


> とりあえず、Graph35+EIIの手持ちがあるので、GIIIに関してはAmazon.frで公式販売されるまで待ってみようと思います。(^^)
それはそうですね。

ところで、fx-7400GIII も新発売になっておりますが、この機種は、fx-5800Pの後継機として見る場合は、面白いと思っています。

Re^7:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>昨日の差替えアップデートですが、昨日の日付で今対応しました。

いつもありがとうございます!!


>トラッキングをチェックしたら、今中国のシンセンまで来ていて、天候が悪いので配達が少し遅れるが、明日の配達予定は守れそう...というよく分からない状況が表示されました。

>今のセラーからは、最初であるだけでなく、最後のケースになりそうです(-_-;

最初で最後というパターンはかなり貴重ではないでしょうか。(^^)


>>Colon様の
>  >「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)
>は、可能性でなく、妄想でもなくて、実際の話っぽいです!

セラーの方からすれば予想外の事とはいえ、実際に発送してくれたのは良かったです。


>今、eBayとセカイモンを調べて見ると、fx-9860GIII が有りました!

>eBay には、ドイツとイタリアのセラーがあって、イタリアがダントツで安くなっています。
>セカイモンは、ドイツのセラーのみ出品されています。

イタリアもセカイモン対応であればよかったのですが、ドイツのみですね。(^^;

とりあえず、Graph35+EIIの手持ちがあるので、GIIIに関してはAmazon.frで公式販売されるまで待ってみようと思います。(^^)



疑似3Dゲーム - Triangle Filed アップデートしました。(^^)

https://www.planet-casio.com/Fr/programmes/programme4029-1-triangle-field-sentaro21-jeux-actionsport.html
-fps表示が間違えていたのを修正し、最高25fpsで固定しました。
-FX版の表示位置調整、CG版にバッテリー残量メータを追加しました。
-[EXIT]でゲームを終了します。

ゲーム内容に変化はありません。

Re: Re^5:"GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。
昨日の差替えアップデートですが、昨日の日付で今対応しました。



> コロナはまだまだ終息しそうにないので大変な状況が続きますね。
今日常的にやりとりしている、欧米の国々の人達は、テレワークが殆どです。ネットワークのお陰と言えますね。
でも生産や研究に携わる人達は、移動が必要なので結構大変です。



> もしキャンセルになってもAmazonですから安心といえば安心ですね。
> 無事届いたとしたら、日本で最初にfx-9860GIIIを入手したということになるのは間違いないですね。(^^)

トラッキングをチェックしたら、今中国のシンセンまで来ていて、天候が悪いので配達が少し遅れるが、明日の配達予定は守れそう...というよく分からない状況が表示されました。

今のセラーからは、最初であるだけでなく、最後のケースになりそうです(-_-;

Colon様の
  >「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)
は、可能性でなく、妄想でもなくて、実際の話っぽいです!


今、eBayとセカイモンを調べて見ると、fx-9860GIII が有りました!

eBay;
https://www.ebay.com/sch/i.html?_from=R40&_trksid=m570.l1313&_nkw=fx-9860GIII&_sacat=0
最後の1つ、と表示されましたが、本当でしょうか?

セカイモン;
https://www.sekaimon.com/s/fx-9860GIII/-/all


eBay には、ドイツとイタリアのセラーがあって、イタリアがダントツで安くなっています。
セカイモンは、ドイツのセラーのみ出品されています。

アメリカのeBayのイタリアから出品されているのは結構安いですが、Last One となっています。
日本語でOKのセカイモンがお勧めかも知れませんね。

Re^5:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>昨晩のうちに、差替えアップデート対応しておきました。

ありがとうございます!(^^)

>#海外とのやりとりが日常の仕事をしていますが、昨今のコロナ騒ぎで、欧米の会社と連日連夜イレギュラーな対応のため、ストレスフルで忙しい状況なので、やるべきことはやって、連絡が後回しになっちゃいます(-_-;

おつかれさまです。
コロナはまだまだ終息しそうにないので大変な状況が続きますね。


>受注確認のメールが届いているし、Tracking状況も確実に進んでいるので、私の注文分はひょっとして配達されるかも知れないと期待しています。もし日本への輸出ができない場合は、注文したものはヨーロッパから外に出ないと踏んでいますので、ごめんなさいメールがきたところで、キャンセルと払い戻しを要求すれば良いかな? という作戦でしばらく様子見しています。

もしキャンセルになってもAmazonですから安心といえば安心ですね。

無事届いたとしたら、日本で最初にfx-9860GIIIを入手したということになるのは間違いないですね。(^^)


>以前 Amazon USAで古いプログラム電卓の英文マニュアルを注文したら、1ヶ月以上たってから注文したのとは違うものが届いたことがあります。そのときは、注文と違うからどうしたらよいか?とセラーに問い合わせたところ、キャンセル扱いにするけど、返送しないで良い、そのまま受け取ってくれ、ということになりました。

世界に一つしか無いマニュアルだったりしたらそうもいかないでしょうけど、良いセラーさんでしたね。(^^)

Re:Re:Re: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>GraphYt のアルゴリズムのうち、

>$Mat 53[1]+StrChar(0xF6)+〈代入する関数式〉→$Mat θ[ _FuncNo, 7]

>の直前に、
>$Mat 53[2]=0⇒0→$Mat 53[1]

>の追加をお願いします。
>GraphXt は変更不要です。

build15を修正&差し替えアップしました。(^^)

Re^3:"GraphXt/Yt" へのヌル文字列代入不具合

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

昨晩のうちに、差替えアップデート対応しておきました。

#海外とのやりとりが日常の仕事をしていますが、昨今のコロナ騒ぎで、欧米の会社と連日連夜イレギュラーな対応のため、ストレスフルで忙しい状況なので、やるべきことはやって、連絡が後回しになっちゃいます(-_-;


sentaro様、Colon様
>「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)

多分そんなところだと思います(笑)
欧米の人達は結構大雑把ですから...

受注確認のメールが届いているし、Tracking状況も確実に進んでいるので、私の注文分はひょっとして配達されるかも知れないと期待しています。もし日本への輸出ができない場合は、注文したものはヨーロッパから外に出ないと踏んでいますので、ごめんなさいメールがきたところで、キャンセルと払い戻しを要求すれば良いかな? という作戦でしばらく様子見しています。

以前 Amazon USAで古いプログラム電卓の英文マニュアルを注文したら、1ヶ月以上たってから注文したのとは違うものが届いたことがあります。そのときは、注文と違うからどうしたらよいか?とセラーに問い合わせたところ、キャンセル扱いにするけど、返送しないで良い、そのまま受け取ってくれ、ということになりました。

Re:Re: "GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ということで、サクッと修正済み差し替え版です。

修正確認しました。(^^)

そして、すみません、

"X"→GraphY1
"Y"→GraphYt1
$Mat θ[1,7]

は正しくは ",Y" ですが、"X,Y" になってしまっており、これは私のミスです。

GraphYt のアルゴリズムのうち、

$Mat 53[1]+StrChar(0xF6)+〈代入する関数式〉→$Mat θ[ _FuncNo, 7]

の直前に、
$Mat 53[2]=0⇒0→$Mat 53[1]

の追加をお願いします。
GraphXt は変更不要です。

Re:"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>"GraphXt/Yt" への代入に不具合があります。
>以下に示す箇所を正しく実装できているかご確認いただけますか?

不具合が確認できました!

以下の部分が未実装というか処理抜けしてました。(^^;

> ""+StrChar(0xF6)+$Mat 53[2]→$Mat θ[ _FuncNo, 7]
> $Mat 53[1]+StrChar(0xF6)+""→$Mat θ[ _FuncNo, 7]

ということで、サクッと修正済み差し替え版です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その15再々修正版
https://pm.matrix.jp/CB/CBASICCG145beta15.zip
C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その15再々修正版
https://pm.matrix.jp/CB/CBASIC245beta15.zip

"GraphXt/Yt" へのヌル文字列代入不具合

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
"GraphXt/Yt" への代入に不具合があります。

"X"→Xt1
"Y"→Yt1
""→Xt1
$Mat θ[1,7]

の結果、正しくは ",Y" ですが、"X,Y" となってしまっています。

私が提出したルーチンで確かめたところ、異常は見られませんでした。

以下に示す箇所を正しく実装できているかご確認いただけますか?

"→GraphXt" は

 If (Mat θ[ _FuncNo, 1]×256+Mat θ[ _FuncNo, 2]=0x0409) And Mat 53[2] : Then
  ""+StrChar(0xF6)+$Mat 53[2]→$Mat θ[ _FuncNo, 7]
 Else
  For 1→_Counter To 7
   0→Mat θ[ _FuncNo, _Counter]
  Next
 IfEnd

の部分で、
"→GraphYt" は

 If (Mat θ[ _FuncNo, 1]×256+Mat θ[ _FuncNo, 2]=0x0409) And Mat 53[1] : Then
  $Mat 53[1]+StrChar(0xF6)+""→$Mat θ[ _FuncNo, 7]
 Else
  For 1→_Counter To 7
   0→Mat θ[ _FuncNo, _Counter]
  Next
 IfEnd

の部分です。

よろしくお願いします。m(_ _)m

Re:Re:Re: Planet-CasioのCPC#26に参加してみました。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>これは快挙ですね!
>素晴らしいです。
>...ということで、この記事にプログラム紹介として追加しました。
https://egadget.blog.fc2.com/blog-entry-685.html

恐縮です。ありがとうございます!

バージョンが0.9なので、詰めの甘さが残るところで、あと少し追加修正しないといけないのですが、
コンテストの応募期間が終了して審査期間なので、とりあえずはそのままです。(^^;
変なバグらしき挙動があってもそれは仕様です。(^^;


>はい、 CubeFieldですよね!
>私のCG50にも入っています。

もろバレですね。(^^;
最初はそっくり移植版を作成しようかと思ったんですが、ちょっとスピードが足りかったので路線変更しました。(^^;
そしたら、昔のPC9801用のRolling 95っぽくなってしまったかもです。(^^;


>上記のプログラム紹介でも、CubeField も紹介した上で、アドインレベルのプログラムが C.Basicで作れることを強調しました。

ありがとうございます!
処理を欲張らなければ画面全体を動かすゲームも作成できますね。(^^)




Colon様、
>修正確認しました。(^^)

通常の1インデックスだとバグではないのでなかなか見つかりにくいバグでした。
見つけてくださって助かりました。ありがとうございます!(^^)


>おっ、遂に準アドイン扱い、おめでとうございます!! (^^)
>短期間に一定数の方が C.Basic を使う可能性があるとなると、バグ出しの観点からも絶好の機会ですね。

そうですね。
隠れたバグが少しでも多くあぶり出されることを期待したいです。




管理人様、Colon様、

>ところで、Amazon Franceで fx-9860GIII を2日前にポチッとし、国際貨物輸送として Amazon Global Eclair が選択できました。ところが、今日見たら「日本への出荷はできません」と赤文字で記載が追加されていました。
>本当に私の手元に配達されるのか、チョット気になっています。
>なお、この機種は日本やアメリカの Amazon ではまだ販売されていないようです。

まさか日本からの早々の注文が入るとは思わなかったので、私もColon様と同じく、

>「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)

これが真相かと思いますが、管理人様の注文だけは特別に発送してくれるのでしょうか。(^^)

Re:Re: Planet-CasioのCPC#26に参加してみました。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ・インデックス開始値が0の場合に要素数が64を超えるListの初期化が出来なかった不具合を修正しました。

修正確認しました。(^^)

> Planet-CasioのCPC#26においてC.Basicが使用言語として認定されたので参加してみました。(^^)

おっ、遂に準アドイン扱い、おめでとうございます!! (^^)

短期間に一定数の方が C.Basic を使う可能性があるとなると、バグ出しの観点からも絶好の機会ですね。


管理人様、
> ところで、Amazon Franceで fx-9860GIII を2日前にポチッとし、国際貨物輸送として Amazon Global Eclair が選択できました。ところが、今日見たら「日本への出荷はできません」と赤文字で記載が追加されていました。
> 本当に私の手元に配達されるのか、チョット気になっています。
> なお、この機種は日本やアメリカの Amazon ではまだ販売されていないようです。

あっ、これは……。(^^;

「日本から注文来たぞ、やべー忘れてた、注意書き追加しとけ」という可能性も……? (妄想)

この場合どこへ行ってしまうかが心配ですね。

Re: Planet-CasioのCPC#26に参加してみました。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

> Planet-CasioのCPC#26においてC.Basicが使用言語として認定されたので参加してみました。(^^)
> https://www.planet-casio.com/Fr/forums/topic16209-1-le-cpc-26-aux-limites-de-la-physique.html

これは快挙ですね!
素晴らしいです。

> Triangle Field
> https://www.planet-casio.com/Fr/programmes/programme4029-1-triangle-field-sentaro21-jeux-actionsport.html

...ということで、この記事にプログラム紹介として追加しました。
https://egadget.blog.fc2.com/blog-entry-685.html


> どっかで見たようなデジャブ感満載ゲームですが、C.BasicCG用のゲームプログラムとしてそこそこ高速に動きます。(^^)
はい、 CubeFieldですよね!
私のCG50にも入っています。

上記のプログラム紹介でも、CubeField も紹介した上で、アドインレベルのプログラムが C.Basicで作れることを強調しました。


ところで、Amazon Franceで fx-9860GIII を2日前にポチッとし、国際貨物輸送として Amazon Global Eclair が選択できました。ところが、今日見たら「日本への出荷はできません」と赤文字で記載が追加されていました。
本当に私の手元に配達されるのか、チョット気になっています。
なお、この機種は日本やアメリカの Amazon ではまだ販売されていないようです。

Planet-CasioのCPC#26に参加してみました。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Planet-CasioのCPC#26においてC.Basicが使用言語として認定されたので参加してみました。(^^)
https://www.planet-casio.com/Fr/forums/topic16209-1-le-cpc-26-aux-limites-de-la-physique.html

Triangle Field
https://www.planet-casio.com/Fr/programmes/programme4029-1-triangle-field-sentaro21-jeux-actionsport.html

どっかで見たようなデジャブ感満載ゲームですが、C.BasicCG用のゲームプログラムとしてそこそこ高速に動きます。(^^)

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15再修正版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

List初期化のバグとファイルモードのサーチのバグを修正しました。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その15再修正版
https://pm.matrix.jp/CB/CBASICCG145beta15.zip
C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その15再修正版
https://pm.matrix.jp/CB/CBASIC245beta15.zip
(build15.)
・インデックス開始値が0の場合に要素数が64を超えるListの初期化が出来なかった不具合を修正しました。
・ファイルモードで検索文字列が空の場合に[F4]がCOPYになる不具合を修正しました。

Re:Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15修正版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


Colon様、
>それぞれ修正確認しました。

ありがとうございます!(^^)


>視覚的に分かりやすい例です。
https://pm.matrix.jp/upload/upload.cgi?get=00096

>Ptune の FKey Icon 作成時に使ったサンプルプログラムを削ったもので、
>[F1] に {+} のアイコンが表示されれば正解です。


確認できました!
ありがとうございます!!
インデックスベースが1ずれて初期化されているっぽいのですが、これから調査してみます。

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15修正版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ファンクションメニューが {[A]<>a} になっています。(^^;
>> ・ G SelOn
>> ・ G SelOff
>> ・ T SelOn
>> ・ T SelOff
> 0xBC→Mat θ[ _FuncNo, 3]

それぞれ修正確認しました。

> エラーの出る例をお願いできれば幸いです。(^^)

視覚的に分かりやすい例です。
https://pm.matrix.jp/upload/upload.cgi?get=00096

Ptune の FKey Icon 作成時に使ったサンプルプログラムを削ったもので、
[F1] に {+} のアイコンが表示されれば正解です。

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15修正版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


Colon様、
>ファンクションメニューが {[A]<>a} になっています。(^^;

うわ、修正したと思ったら間違えてました。(^^;


>これはまだ直っていません。
>長いリストでお試しください。

エラーの出る例をお願いできれば幸いです。(^^)


>テストする項目が多いので、完璧なチェックまでは暫くお時間をください。

了解です。
よろしくお願いします。(^^)


>とりあえず、
>> ・ G SelOn
>> ・ G SelOff
>> ・ T SelOn
>> ・ T SelOff
>> これらの記法で、すべての関数式の選択 / 非選択が出来ます。

>こちらの実装をお願いします。

一応実装してたのですが、機能してませんでした。(^^;


>また、GraphY/r/Yt/Xt/X のそれぞれについて

> 0x84→Mat θ[ _FuncNo, 3]

>とした箇所がありますが、正しくは
>0xBC→Mat θ[ _FuncNo, 3]
>です。

ありがとうございます!
修正しました。(^^)

ということで修正版です。


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その15修正版
https://pm.matrix.jp/CB/CBASICCG145beta15.zip
C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その15修正版
https://pm.matrix.jp/CB/CBASIC245beta15.zip



管理人様、
素早い対応をいつもありがとうございます!(^^)

Re^2: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

Build 15 へのアップデート対応しました。

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 簡単に実装できるかと思ったんですが、色々と変更点が多いので、今回はまだ実装前段階です。(^^;
> とりあえず、コマンドのみ入力できるようにしてます。

ファンクションメニューが {[A]<>a} になっています。(^^;

> 了解です!
> ってことで、再修正しました。(^^)
> 修正しました。(^^)

修正確認しました。

> ・デフォルトのインデックス開始値が0の場合にListの自動確保が出来なかった不具合を修正しました。

これはまだ直っていません。
長いリストでお試しください。

> ・Colon様のサポートにより関数メモリの実装を開始しました。

テストする項目が多いので、完璧なチェックまでは暫くお時間をください。

とりあえず、
> ・ G SelOn
> ・ G SelOff
> ・ T SelOn
> ・ T SelOff
> これらの記法で、すべての関数式の選択 / 非選択が出来ます。

こちらの実装をお願いします。

また、GraphY/r/Yt/Xt/X のそれぞれについて

> 0x84→Mat θ[ _FuncNo, 3]

とした箇所がありますが、正しくは
0xBC→Mat θ[ _FuncNo, 3]
です。

大変失礼しました。m(_ _)m

修正よろしくお願いします。

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その15

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


管理人様、
>対応しました。

いつもありがとうございます!(^^)

>実は、一旦 Readme_J.txt 等に対応していたのですが、今後もこのファイル名にされるのかどうかを確認したかったのです。
>で、また README_J.txt 等に戻されたので、またそれに合わせたという次第。

あ、そうだったんですね。(^^;


>今後は、for FX については現状でお願い致します。

了解です。(^^)



Colon様、
>少し遅れました。m(_ _)m

こちらこそ少し遅れました。m(_ _)m


>そうですね。
>一応 "Seq(" + α みたいな感じかと思います。
>エラー処理もそうなんですが、変数への代入が挟まるのでその辺りは変更必須です。

簡単に実装できるかと思ったんですが、色々と変更点が多いので、今回はまだ実装前段階です。(^^;
とりあえず、コマンドのみ入力できるようにしてます。


>あ、[OPTN] - [F6] - [F6] - [F3] (FUNCMEM) - [F4] (SEE) を {EDIT} (黒) に変更がよいかも、ということです。(^^;
>それから、一覧画面に入ってから編集するアイコンは {EDIT} (白) です。

了解です!
ってことで、再修正しました。(^^)


>今のところは不具合が出ていないので、引き続き様子を見てみます。

よろしくお願いします。(^^)


>ところで、セットアップ画面の Display [F3] (Norm) で出るポップアップですが、"Norm" となるべき所が "Nrm" のままになっているので、修正お願いします。

修正しました。(^^)


ファンクションメモリー関連はColon様のC.Basic版を実装してありますが、DspF-Tblはまだ未実装です。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その15
https://pm.matrix.jp/CB/CBASICCG145beta15.zip
C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その15
https://pm.matrix.jp/CB/CBASIC245beta15.zip
(build15)
・Colon様のサポートにより関数メモリの実装を開始しました。
・デフォルトのインデックス開始値が0の場合にListの自動確保が出来なかった不具合を修正しました。
・ファンクションメモリー(Fn)のStore/Recall/SEEのSEEをEditに変更しました。

Re^5: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
少し遅れました。m(_ _)m

> テーブル機能の詳細が明らかになるにつれて、徐々にその仕組が分かりかけてますが、
> 内部的にはSeq()のような感じで実装できる感じでしょうか。

そうですね。
一応 "Seq(" + α みたいな感じかと思います。

エラー処理もそうなんですが、変数への代入が挟まるのでその辺りは変更必須です。

> あ、そういうことだったのですね。
> ってことで、変数画面と同様に変更してみました。(^^)

ありがとうございます。(^^)

>> ところで、編集が出来るようになったので [F4] を {SEE} から「黒」アイコンの {EDIT} に変更した方がよいかもしれません。

> 変更しました。(^^)

あ、[OPTN] - [F6] - [F6] - [F3] (FUNCMEM) - [F4] (SEE) を {EDIT} (黒) に変更がよいかも、ということです。(^^;

それから、一覧画面に入ってから編集するアイコンは {EDIT} (白) です。

> ところで、行列の編集が白アイコンなのですが、黒アイコンが本来のアイコンですよね?

[F1] (EDIT) のことでしたら、そこは白が正しいです。

> とりあえず、ちょっといじくってみましたが、直ったかどうか、というところのSEE部分だけの修正版です。(^^;

今のところは不具合が出ていないので、引き続き様子を見てみます。


ところで、セットアップ画面の Display [F3] (Norm) で出るポップアップですが、"Norm" となるべき所が "Nrm" のままになっているので、修正お願いします。

Re: Re^4: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

> そのついでに、FX版でのREADME→Readmeに変更しましたが、
> マニュアルリンクがあることをすっかり忘れておりました!
> ということで、README系は元に戻しました。(^^;

対応しました。

実は、一旦 Readme_J.txt 等に対応していたのですが、今後もこのファイル名にされるのかどうかを確認したかったのです。
で、また README_J.txt 等に戻されたので、またそれに合わせたという次第。

私の書き込みが言葉足らずでした。

今後は、for FX については現状でお願い致します。


Re^4: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>となっていますが、今後この新しいファイル名になるということでよろしいでしょうけ?
>マニュアルへのリンクを張っているので、気になりました。

CalcLoverHK様の要請に応じてsetup_format.rxtは大文字から始めるように変更しました。

そのついでに、FX版でのREADME→Readmeに変更しましたが、
マニュアルリンクがあることをすっかり忘れておりました!
ということで、README系は元に戻しました。(^^;



Colon様、
>前回のコメントで漏れていた分の補足です。

私の方こそ、気がつくのが遅れました。(^^;

テーブル機能の詳細が明らかになるにつれて、徐々にその仕組が分かりかけてますが、
内部的にはSeq()のような感じで実装できる感じでしょうか。


>左右キーのほうの [→] キーが、改ページしたり 1 つ上に行ったりカーソルが消えたりしていたので、
>変数画面のようなイメージで [→] を使えるようにしてはどうかという考えでした。

あ、そういうことだったのですね。
ってことで、変数画面と同様に変更してみました。(^^)


>ところで、編集が出来るようになったので [F4] を {SEE} から「黒」アイコンの {EDIT} に変更した方がよいかもしれません。

変更しました。(^^)
ところで、行列の編集が白アイコンなのですが、黒アイコンが本来のアイコンですよね?


>まだ直っていないようです。
>バイナリエディタで確認したところ、0xFF が大量に貼り付けられています。

うわ、その現象を再現できてないのですが、大量というのはまずいです。(^^;


>少なくとも Mat θ の範囲外にある番号を RECALL するときに発生しているようです。

とりあえず、ちょっといじくってみましたが、直ったかどうか、というところのSEE部分だけの修正版です。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その14その1修正版
https://pm.matrix.jp/CB/CBASICCG145beta14.zip
C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1修正版
https://pm.matrix.jp/CB/CBASIC245beta14.zip

Re^3: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> [,]の横の[→] で編集に入るようにしたのですが、あり?(^^;
> [→] は左右キーの[→]だったでしょうか?

あ、[→] は 2 つありましたね。(^^;

左右キーのほうの [→] キーが、改ページしたり 1 つ上に行ったりカーソルが消えたりしていたので、
変数画面のようなイメージで [→] を使えるようにしてはどうかという考えでした。

ところで、編集が出来るようになったので [F4] を {SEE} から「黒」アイコンの {EDIT} に変更した方がよいかもしれません。

> 再度修正してみましたがどうでしょうか?

まだ直っていないようです。
バイナリエディタで確認したところ、0xFF が大量に貼り付けられています。

ポップアップからの RECALL では発生せず、一覧画面からの RECALL でのみ発生する不具合なので、何とも不思議な感じですね。(^^;
しかも発生したりしなかったりするようです。(^^;

少なくとも Mat θ の範囲外にある番号を RECALL するときに発生しているようです。

Re^2: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

アップデート対応しました。

ところで、添付テキストファイルですが、

for FX:
REASME.J.txt が Readme.J.txt にファイル名変更
REASME.EN.txt が Readme.EN.txt にファイル名変更
REASME.FR.txt が Readme.FR.txt にファイル名変更

setup_format.rxt が Setup_format.txt にファイル名変更

for CG:
setup_format.rxt が Setup_format.txt にファイル名変更

となっていますが、今後この新しいファイル名になるということでよろしいでしょうけ?
マニュアルへのリンクを張っているので、気になりました。

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>> で、[→] キーでの編集はいい案だと思いましたので試しに取り入れました。
>これまで通りの動作になっています。(^^;

[,]の横の[→] で編集に入るようにしたのですが、あり?(^^;
[→] は左右キーの[→]だったでしょうか?


>> また、"SEE" 画面からの RECALL で NULL 文字列の場合に、エディタに貼り付けられる文字列が NULL 文字列にならないことがある不具合があります。

>これがまだ直っておりません。>これがまだ直っておりません。

再度修正してみましたがどうでしょうか?
(再アップしてます。)


>その他は修正確認しました。

ありがとうございます!


>というわけで、以下に関数式への代入ルーチンを列挙します。

ありがとうございます!!
これから実装していってみます。(^^)


>ところで、UCF での "DispF-Tbl" に関する話題ですが、
>"DispF-Tbl" は関数式周りの仕様が固まらないことには動作させられないので、今後の順序としては次のようになると思います。

ありがとうございます!
とりあえず完全互換にはならずとも使える状態まで持っていきたいと思います。(^^)

前回のコメントに補足

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
前回のコメントで漏れていた分の補足です。

まず、テーブル機能はグラフ機能のサブセットであるため、複素数が利用できません。

次に、Hlib2 様のコメントで気がつきましたが、
・ VarRange
・ VarList

というコマンドがあり、これらを利用するには "Variable" という項目をセットアップに追加する必要があります。

設定の内部値は、0 が "Range"、1 以上は List n に対応します。

数表を作成する際の X / <r> / T の値は、
"Variable" の設定が "Range" の場合は F Start から F End までを F pitch 刻みで変化させ、
"List n" の場合は対応するリストに含まれる値を使用します。
この場合、List に複素数が含まれていてはいけません。


私が知らなかった文法です。(^^;
・ G SelOn
・ G SelOff
・ T SelOn
・ T SelOff

これらの記法で、すべての関数式の選択 / 非選択が出来ます。

これらのコマンドは既に、関数式が登録されていない場合はプレフィックスを操作しないようになっているはずなので、
例えば "G SelOn" であれば

For 1→_Counter To 127
 G SelOn _Counter
Next

と同じです。


なお、"F Result" は代入先の行列を指定しない場合は Mat Ans に出力します。

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> で、[→] キーでの編集はいい案だと思いましたので試しに取り入れました。

これまで通りの動作になっています。(^^;

> また、"SEE" 画面からの RECALL で NULL 文字列の場合に、エディタに貼り付けられる文字列が NULL 文字列にならないことがある不具合があります。

これがまだ直っておりません。

その他は修正確認しました。


> これは貴重な発見ですね!
> カラー化での機能強化で細部の細かなところまではバグ取りが行き届かなかったのでしょう。(^^;
> はい、それでいいと思います。(^^)

了解しました。(^^)

というわけで、以下に関数式への代入ルーチンを列挙します。

ルーチンは C.Basic で記述し、インデントを全角スペースで入れています。


仕様としては、代入により強制的に各種描画選択が On になります。
Graph と Table 以外のフラグも立てていますが、万が一機能拡張が必要になった場合にスムーズに対応できるよう、OS 通りのフラグの立て方にしています。

また、"→GraphY" と "→GraphX" は "Func Type" の設定により等号になったり不等号になったりするので、そこの条件分岐があります。

ヌル文字列を代入する場合は基本的に関数式とプレフィックスをクリアし、
ヌル文字列へ代入する場合はプレフィックスをデフォルトの設定に変更するようにしています。

Xt と Yt はどうしても複雑になってしまいますが、OS 互換の動作になるように条件分岐を入れています (バグの箇所を除く)。
なお、"If RowSize(Mat 53)=1" の部分はエラーを回避するための処理です。


以下の全てについて、"Switch MOD( _FuncNo, 5)" から "SwitchEnd" まではグラフ色に関わる部分なので FX 版では除去して構いません。
勿論、あっても問題ないのでそのままでも良いです。

========================================
・ GraphY

【書式】
〈代入する関数式〉→GraphY_FuncNo

【ルーチン】
If StrLen(〈代入する関数式〉)=0 : Then
 For 1→_Counter To 7
  0→Mat θ[ _FuncNo, _Counter]
 Next
Else
 0x01→Mat θ[ _FuncNo, 1]
 Switch System(10001)
  Case 4
  0x98→Mat θ[ _FuncNo, 2]
  Break
  Case 5
  0x88→Mat θ[ _FuncNo, 2]
  Break
  Case 6
  0xB8→Mat θ[ _FuncNo, 2]
  Break
  Case 7
  0xA8→Mat θ[ _FuncNo, 2]
  Break
  Default
  0x08→Mat θ[ _FuncNo, 2]
 SwitchEnd
 0x84→Mat θ[ _FuncNo, 3]
 If StrLen($Mat θ[ _FuncNo, 7])=0 : Then
  0x02→Mat θ[ _FuncNo, 4]
  Switch MOD( _FuncNo, 5)
   Case 1
   0x001F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 2
   0xF800→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 3
   0x07E0→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 4
   0xF81F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 5
   0x0000→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
  SwitchEnd
 IfEnd
 〈代入する関数式〉→$Mat θ[ _FuncNo, 7]
IfEnd
Return

========================================
・ Graphr

【書式】
〈代入する関数式〉→Graphr_FuncNo

【ルーチン】
If StrLen(〈代入する関数式〉)=0 : Then
 For 1→_Counter To 7
  0→Mat θ[ _FuncNo, _Counter]
 Next
Else
 0x04→Mat θ[ _FuncNo, 1]
 0x0A→Mat θ[ _FuncNo, 2]
 0x84→Mat θ[ _FuncNo, 3]
 If StrLen($Mat θ[ _FuncNo, 7])=0 : Then
  0x02→Mat θ[ _FuncNo, 4]
  Switch MOD( _FuncNo, 5)
   Case 1
   0x001F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 2
   0xF800→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 3
   0x07E0→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 4
   0xF81F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 5
   0x0000→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
  SwitchEnd
 IfEnd
 〈代入する関数式〉→$Mat θ[ _FuncNo, 7]
IfEnd
Return

========================================
・ GraphXt

【書式】
〈代入する関数式〉→GraphXt_FuncNo

【ルーチン】
StrSplit($Mat θ[ _FuncNo, 7], StrChar(0xF6))
Mat Ans→Mat 53
If RowSize(Mat 53)=1 : Then
 {2, ColSize(Mat 53)}→Dim Dim Mat 53.B
 0→Mat 53[2]
IfEnd

If StrLen(〈代入する関数式〉)=0 : Then
 If (Mat θ[ _FuncNo, 1]×256+Mat θ[ _FuncNo, 2]=0x0409) And Mat 53[2] : Then
  ""+StrChar(0xF6)+$Mat 53[2]→$Mat θ[ _FuncNo, 7]
 Else
  For 1→_Counter To 7
   0→Mat θ[ _FuncNo, _Counter]
  Next
 IfEnd
Else
 0x04→Mat θ[ _FuncNo, 1]
 0x09→Mat θ[ _FuncNo, 2]
 0x84→Mat θ[ _FuncNo, 3]
 If StrLen($Mat θ[ _FuncNo, 7])=0 : Then
  0x02→Mat θ[ _FuncNo, 4]
  Switch MOD( _FuncNo, 5)
   Case 1
   0x001F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 2
   0xF800→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 3
   0x07E0→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 4
   0xF81F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 5
   0x0000→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
  SwitchEnd
 IfEnd
 〈代入する関数式〉+StrChar(0xF6)+$Mat 53[2]→$Mat θ[ _FuncNo, 7]
IfEnd
Return

========================================
・ GraphYt

【書式】
〈代入する関数式〉→GraphYt_FuncNo

【ルーチン】
StrSplit($Mat θ[ _FuncNo, 7], StrChar(0xF6))
Mat Ans→Mat 53
If RowSize(Mat 53)=1 : Then
 {2, ColSize(Mat 53)}→Dim Dim Mat 53.B
 0→Mat 53[2]
IfEnd

If StrLen(〈代入する関数式〉)=0 : Then
 If (Mat θ[ _FuncNo, 1]×256+Mat θ[ _FuncNo, 2]=0x0409) And Mat 53[1] : Then
  $Mat 53[1]+StrChar(0xF6)+""→$Mat θ[ _FuncNo, 7]
 Else
  For 1→_Counter To 7
   0→Mat θ[ _FuncNo, _Counter]
  Next
 IfEnd
Else
 0x04→Mat θ[ _FuncNo, 1]
 0x09→Mat θ[ _FuncNo, 2]
 0x84→Mat θ[ _FuncNo, 3]
 If StrLen($Mat θ[ _FuncNo, 7])=0 : Then
  0x02→Mat θ[ _FuncNo, 4]
  Switch MOD( _FuncNo, 5)
   Case 1
   0x001F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 2
   0xF800→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 3
   0x07E0→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 4
   0xF81F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 5
   0x0000→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
  SwitchEnd
 IfEnd
 $Mat 53[1]+StrChar(0xF6)+〈代入する関数式〉→$Mat θ[ _FuncNo, 7]
IfEnd
Return

========================================
・ GraphX

【書式】
〈代入する関数式〉→GraphX_FuncNo

【ルーチン】
If StrLen(〈代入する関数式〉)=0 : Then
 For 1→_Counter To 7
  0→Mat θ[ _FuncNo, _Counter]
 Next
Else
 0x02→Mat θ[ _FuncNo, 1]
 Switch System(10001)
  Case 8
  0x98→Mat θ[ _FuncNo, 2]
  Break
  Case 9
  0x88→Mat θ[ _FuncNo, 2]
  Break
  Case 10
  0xB8→Mat θ[ _FuncNo, 2]
  Break
  Case 11
  0xA8→Mat θ[ _FuncNo, 2]
  Break
  Default
  0x08→Mat θ[ _FuncNo, 2]
 SwitchEnd
 0x84→Mat θ[ _FuncNo, 3]
 If StrLen($Mat θ[ _FuncNo, 7])=0 : Then
  0x02→Mat θ[ _FuncNo, 4]
  Switch MOD( _FuncNo, 5)
   Case 1
   0x001F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 2
   0xF800→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 3
   0x07E0→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 4
   0xF81F→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
   Case 5
   0x0000→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W
   Break
  SwitchEnd
 IfEnd
 〈代入する関数式〉→$Mat θ[ _FuncNo, 7]
IfEnd
Return

========================================


ところで、UCF での "DispF-Tbl" に関する話題ですが、
"DispF-Tbl" は関数式周りの仕様が固まらないことには動作させられないので、今後の順序としては次のようになると思います。


1. GraphY / Graphr / GraphXt / GraphYt / GraphX の実装を完了させる
 ・ 多分このコメントの内容で全て

2. DispF-Tbl を実装する
 ・ 行列画面を改変の上流用可能な箇所も

3. F Result を実装する
 ・ DispF-Tbl と連動して初めて動作する

4. マニュアルグラフの描画を実装する
 ・ ここからが最難関
 ・ 完成は来月以降 (?)

5. DrawGraph コマンドを実装する
 ・ ここまで出てきたルーチンを使い回しながら


"DispF-Tbl" は、関数式の内容を計算 → 一時停止の場合は結果を表示、というコマンドです。

計算に使用する式には「選択されている」という前提の他に、
・ "Func Type" が "Y=" の場合は "Y=" の式のみ
・ "Func Type" が "r=" の場合は "r=" の式のみ
・ "Func Type" が "Param" の場合は "Param" の式のみ

という条件があります。

これらの条件に当てはまる式について計算結果を行列 (のようなもの) に格納するのですが、数値の他に "ERROR" というのがあって、この実装形式の検討が必要です。

結果の表示部分は既存の行列表示ルーチンを大部分で利用できそうですが、
表の上側の文字列が中央揃えであったり、関数式によって色分けが必要であったりするので、
これらの部分などでは変更が必要になります。

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ありがとうございます。
>頭痛は若干残っていますが何とか活動できるレベルまで持ち直しました。

>毎年この時期は体調を崩しますが、今年は新型コロナウイルスが流行っている分より気を付けねばなりません。(^^;

少し回復されたということで良かったです。(^^)
新型コロナはまだまだ先が見えませんが気をつけていかないとですね。


>[→] キーの動作が微妙なんですが、いっそのこと [→] キーで編集が出来るようにしてしまってはどうでしょうか?

キーの動作がちょっとおかしくなってましたね。(^^;
で、[→] キーでの編集はいい案だと思いましたので試しに取り入れました。
分かりやすいところで[F5](Edit)も一応追加してあります。(^^)


>また、"SEE" 画面からの RECALL で NULL 文字列の場合に、エディタに貼り付けられる文字列が NULL 文字列にならないことがある不具合があります。
>Function Memory が空の場合、[F2] (RECALL) のポップアップが出ません。
>STORE / RECALL のポップアップ時に [EXIT] を押すと、"1" と表示されてしまいます。
>また、STORE / RECALL のポップアップの 2 行目の割り付けを純正と同じにしたほうが見映えが良いと思います。

ありがとうございます!
修正しました。(^^)


>ところで、プログラムの最初のほうで List への代入が上手くいかない場合があります。
>"Matrix base" が 0 の場合に発生する不具合のようですが、詳しい原因はよく分かりません。
>可能でしたら確認お願いします。

一応チェックしてみたのですが、

'#Mat 1
123->List 1[1]

これはエラーにならないのですが、

'#Mat 0
123->List 1[0]

これがエラーになりますね。(^^;
これは次回までに修正します。(^^)



>純正 Casio Basic にバグ (?) を見つけました。

これは貴重な発見ですね!
カラー化での機能強化で細部の細かなところまではバグ取りが行き届かなかったのでしょう。(^^;


>この現象を C.Basic の実装方法で再現しようとすると却って面倒なので、ヌル文字列を代入した際は一律で色をリセットする仕様にしても良いでしょうか?

はい、それでいいと思います。(^^)


>さて、Graphr, GraphXt, GraphYt, GraphX のうち、既に実装できる範囲の内容をお伝えします。
>具体的には "→Graphr" のような書式以外を実装することができるので、これについてお伝えします。

>「エラー処理はスキップして良い」とのことでしたので、Graphr, GraphX については GraphY と全く同じルーチンで構いません。

>GraphXt, GraphYt については、
>StrSplit($Mat θ[ _FuncNo, 7], StrChar(0xF6))
>の前半を GraphXt, 後半を GraphYt として扱う他は、GraphY と同じルーチンで構いません。

ありがとうございます!
同じ領域にX,Y両方の式を詰め込むとはなかなかに純正仕様も複雑仕様ですよね。
ってことで、次回実装してみます。(^^)


ってことで、とりあえず、ファンクションメモリー(Fn)の修正版です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その14その1
https://pm.matrix.jp/CB/CBASICCG145beta14.zip

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その14その1
https://pm.matrix.jp/CB/CBASIC245beta14.zip
(build14 共通です。)
・ファンクションメモリー(Fn)のStore/Recall/SEEのSEEで[F5](Edit)を追加し編集可能になりました。
・ファンクションメモリー(Fn)のStore/Recall/SEEの不具合を修正しました。

GraphXt / GraphYt について

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
純正 Casio Basic にバグ (?) を見つけました。

GraphY / Graphr / GraphX にヌル文字列を代入した場合は色がデフォルトに戻るのですが、
GraphXt / GraphYt にヌル文字列を代入しても色はデフォルトに戻りません。

純正のプログラム機能で以下をお試しください。

〈サンプル 1〉
"TEST"→GraphY1
SetG-Color Cyan , 1
""→GraphY1

〈サンプル 2〉
"TEST"→GraphXt1
SetG-Color Cyan , 1
""→GraphXt1

上記についてそれぞれ、実行後にグラフ機能に入ってみると、
〈サンプル 1〉の実行後は Y1 が青になっているのに対し、
〈サンプル 2〉の実行後は Y1 がシアンになっているのがわかると思います。

この現象を C.Basic の実装方法で再現しようとすると却って面倒なので、ヌル文字列を代入した際は一律で色をリセットする仕様にしても良いでしょうか?


さて、Graphr, GraphXt, GraphYt, GraphX のうち、既に実装できる範囲の内容をお伝えします。
具体的には "→Graphr" のような書式以外を実装することができるので、これについてお伝えします。

「エラー処理はスキップして良い」とのことでしたので、Graphr, GraphX については GraphY と全く同じルーチンで構いません。

GraphXt, GraphYt については、
StrSplit($Mat θ[ _FuncNo, 7], StrChar(0xF6))
の前半を GraphXt, 後半を GraphYt として扱う他は、GraphY と同じルーチンで構いません。

Re:Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5再

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ここのところ連日のアップデートだったので、チェックも大変だったと思います。
> 体調が回復されるまで無理はされないでくださいませ。(^^)

ありがとうございます。
頭痛は若干残っていますが何とか活動できるレベルまで持ち直しました。

毎年この時期は体調を崩しますが、今年は新型コロナウイルスが流行っている分より気を付けねばなりません。(^^;


さて、Function Memory の一覧についてです。

[→] キーの動作が微妙なんですが、いっそのこと [→] キーで編集が出来るようにしてしまってはどうでしょうか?

また、"SEE" 画面からの RECALL で NULL 文字列の場合に、エディタに貼り付けられる文字列が NULL 文字列にならないことがある不具合があります。

Function Memory が空の場合、[F2] (RECALL) のポップアップが出ません。

STORE / RECALL のポップアップ時に [EXIT] を押すと、"1" と表示されてしまいます。

また、STORE / RECALL のポップアップの 2 行目の割り付けを純正と同じにしたほうが見映えが良いと思います。

以上、よろしくお願いします。


ところで、プログラムの最初のほうで List への代入が上手くいかない場合があります。

"Matrix base" が 0 の場合に発生する不具合のようですが、詳しい原因はよく分かりません。

可能でしたら確認お願いします。

Re:Progress on C.Basic Update Agent

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>build 13 差替えに対応しました。

いつもありがとうございます!(^^)
fnのRecallでポップアップがStore Fromになっていたのをこっそり直しています。(^^;



@CalcLoverHK
I'm happy to see the progress of Update Agent.(^^)

>(So sentaro21, you can now abandone the constant link ^^)

Ok,Thanks!


>https://pm.matrix.jp/CB/CBASICxxxbeta{x/xx}
>https://pm.matrix.jp/CB/CBASICxxxbeta{x/xx}
>
>The build number is not going to sync with CG build number. Instead, it has its own version system. Every update just add 1 to the build number.
>
>And remember don't use version number like "01" or "06" because they cause some troubles on UA. I managed to fix it hardly. (^^;


Ok.(^^)
I'll change that from 1.46beta1.


>Last optional request, can you capitalize setup_format.txt -> Setup_format.txt It just looks inconsistant as it is the only one that don't follow other documents' format (^^;

I fixed it and re-uploaded.(^^)

Progress on C.Basic Update Agent

Hi sentaro21

After another 6 days developments on my C.Basic Update Agent (FOR statement is a mess in CMD, I must say), I've made it more useful and even less dependent.

Things I have done:
- Finally no need constant link
- More friendly GUI
- Ability to output all logs
More features are descripted in UA_ReadmeFX.txt and UA_ReadmeCG.txt

FX:
http://www.mediafire.com/file/ghstr9sb0jcb6jb/UA_ReadmeFX.txt/file
http://www.mediafire.com/file/5v6z76lko810d4w/UpdateAgentFX.cmd/file

CG:
http://www.mediafire.com/file/eseh3k3hrl9gggv/UA_ReadmeCG.txt/file
http://www.mediafire.com/file/0k9eoynrjsb53jc/UpdateAgentCG.cmd/file

(So sentaro21, you can now abandone the constant link ^^)

This version is more close to be stable and probably I will release final version within 2~3 days (maybe more). But I have few questions and requests:

1. Version formats
Because UA are very sensitive of the download link, if you don't follow the formats, it will not work properly. So I want to set up following formats:

FX/CG offical version: https://pm.matrix.jp/CB/CBASICxxxbeta
No problem.

FX/CG beta version:
Do you prefer the current one (which sometimes skips build number and sync to CG build number, which is not good for UA because it will have to check every builds), or the one I suggest below?

https://pm.matrix.jp/CB/CBASICxxxbeta{x/xx}
https://pm.matrix.jp/CB/CBASICxxxbeta{x/xx}

The build number is not going to sync with CG build number. Instead, it has its own version system. Every update just add 1 to the build number.

And remember don't use version number like "01" or "06" because they cause some troubles on UA. I managed to fix it hardly. (^^;

Last optional request, can you capitalize setup_format.txt -> Setup_format.txt It just looks inconsistant as it is the only one that don't follow other documents' format (^^;

Thanks for your supports. ^^

Cheers
CalcLoverHK

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5再

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

build 13 差替えに対応しました。

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5再

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>略し方も問題ないでしょうか? >管理人様、sentaro様

私的には完璧だと思います。(^^)
実装された暁にはC.Basicのメニューを見て純正機能かと勘違いされることもあるかもしないくらい完璧です!(^^)


>動作に何箇所か不具合があるようですが、
>体調を崩してしまったので回復してから調査・報告します。(^^;

うわ、やはり、バグが…(^^;
ということで、
エディタでStore/Recallでファンクションメニューが戻ってしまうバグは見つけました。(^^;
あと、SEE表示を純正に近づけておきました。(^^)
それ以外の不具合は見つかり次第修正します。(^^;

ここのところ連日のアップデートだったので、チェックも大変だったと思います。
体調が回復されるまで無理はされないでくださいませ。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その5再
https://pm.matrix.jp/CB/CBASICCG145beta13.zip
https://pm.matrix.jp/CB/CBASICCG.zip

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5再
https://pm.matrix.jp/CB/CBASIC245beta13.zip
https://pm.matrix.jp/CB/CBASICFX.zip
(build13 共通です。)
・ファンクションメモリー(Fn)およびグラフメモリー(Y)をデフォルトで数式評価とし、
 文字列関数内および文字列に続く場合は文字列として評価するように変更しました。
 (数式評価)
  fn1->A
  fn1(123)->A
  Locate 1,1,fn1
  Text 1,1,fn1(123)
 (文字列評価)
  "123"+fn1->Str 1
  fn2->Str 2
  StrJoin(fn1,Str 1)

・文字列から文字列への代入で代入されない不具合を修正しました。
(fn3にコピーされない例)
  ClrMat
  "123"->fn1
  "ABC"->Str 1
  Str 1->fn3
・ファンクションメモリー(Fn)のStore/Recall/SEEを追加しました。
 (※エディタではクリップボードの内容がストア対象です。1行入力では1行全体がストア対象になります。)
・F_Start/F_End/F_pitchを独立変数に変更しました。
・?コマンドで文字列が表示される場合にアスキーコードにデコードしないように修正しました。

Re:Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> CG20で試したら私のところでも不具合が出なかったです。(^^;
> CG50だけの不具合というのも変なのですが、なんかそんな感じです。
> で、何が原因かとしばらく試行錯誤してしまったんですが、なんと、F Start等の変数の位置を移動したら出なくなりました。(^^;
> すっきりしない感じですが、そんな感じでとりあえず治りました。(^^)

不思議ですが取り敢えず直って良かったです。

> なかなかいい感じではないでしょうか。(^^)

略し方も問題ないでしょうか? >管理人様、sentaro様

> ・ファンクションメモリー(Fn)のStore/Recall/SEEを追加しました。

動作に何箇所か不具合があるようですが、
体調を崩してしまったので回復してから調査・報告します。(^^;

Re:Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>C.Basic for FX Ver 2.45 buil13 / C.Basic for CG Ver1.45 build13 のアップデート対応しました。

早速にありがとうございます!(^^)

新たなバグが無ければいいのですが、おそらく見つかると思うのでそれは次のbuild14で直します。(^^;

Re: C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

C.Basic for FX Ver 2.45 buil13 / C.Basic for CG Ver1.45 build13 のアップデート対応しました。

C.Basic for CG v1.45β FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>私のところでは正常です。
>ただ、この前私が出くわした不具合に似ているので何か関係があるかもしれませんね。

CG20で試したら私のところでも不具合が出なかったです。(^^;
CG50だけの不具合というのも変なのですが、なんかそんな感じです。
で、何が原因かとしばらく試行錯誤してしまったんですが、なんと、F Start等の変数の位置を移動したら出なくなりました。(^^;
すっきりしない感じですが、そんな感じでとりあえず治りました。(^^)


>行列のようです。
>C.Basic 的に言えばほぼ同じですが。(^^;

了解です。
とりあえず、F Start / F End / F pitch の仕様が分かるまではこれらは普通の変数状態ですね。(^^;


>FKey Icon のサンプル第 5 弾です。

https://pm.matrix.jp/upload/upload.cgi?get=00094
https://pm.matrix.jp/upload/upload.cgi?get=00095

>「入」アイコンは {Base} から {Transp} までの 105 個で、そのうち 80 個が作成済みです。
>画像 2 つ目の最後に追加分の 白 / 黒 アイコンを入れました。

>当初 {>GphFunc} としようとしていたものは、見辛いというのともっとシンプルで良いだろうという理由で {>GRAPH} に変更しました。

なかなかいい感じではないでしょうか。(^^)


>#1381 以降のアイコンですが、以前アップしていただいた png から読み取って流用できました。(^^)

さすがですね!
お役に立てて何よりです。(^^)


ということで、build13を一段落とします。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その5
https://pm.matrix.jp/CB/CBASICCG145beta13.zip
https://pm.matrix.jp/CB/CBASICCG.zip

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その13その5
https://pm.matrix.jp/CB/CBASIC245beta13.zip
https://pm.matrix.jp/CB/CBASICFX.zip
(build13 共通です。)
・ファンクションメモリー(Fn)およびグラフメモリー(Y)をデフォルトで数式評価とし、
 文字列関数内および文字列に続く場合は文字列として評価するように変更しました。
 (数式評価)
  fn1->A
  fn1(123)->A
  Locate 1,1,fn1
  Text 1,1,fn1(123)
 (文字列評価)
  "123"+fn1->Str 1
  fn2->Str 2
  StrJoin(fn1,Str 1)

・文字列から文字列への代入で代入されない不具合を修正しました。
(fn3にコピーされない例)
  ClrMat
  "123"->fn1
  "ABC"->Str 1
  Str 1->fn3
・ファンクションメモリー(Fn)のStore/Recall/SEEを追加しました。
 (※エディタではクリップボードの内容がストア対象です。1行入力では1行全体がストア対象になります。)
・F_Start/F_End/F_pitchを独立変数に変更しました。
・?コマンドで文字列が表示される場合にアスキーコードにデコードしないように修正しました。

Fkey 相談用資料 第 5 弾

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

FKey Icon のサンプル第 5 弾です。

https://pm.matrix.jp/upload/upload.cgi?get=00094
https://pm.matrix.jp/upload/upload.cgi?get=00095

「入」アイコンは {Base} から {Transp} までの 105 個で、そのうち 80 個が作成済みです。


画像 2 つ目の最後に追加分の 白 / 黒 アイコンを入れました。

当初 {>GphFunc} としようとしていたものは、見辛いというのともっとシンプルで良いだろうという理由で {>GRAPH} に変更しました。


sentaro様、
#1381 以降のアイコンですが、以前アップしていただいた png から読み取って流用できました。(^^)

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 1.45その13その4での新規作成で妙なエラーになってプログラムが入力できないる現象が発覚しました。(^^;
> 既存のプログラムの実行&中断編集は可能ですが、最初からの編集が出来ないと思います。(^^;
> ということで、原因究明中です。(^^;

私のところでは正常です。

ただ、この前私が出くわした不具合に似ているので何か関係があるかもしれませんね。

> ということは、これはリストに関連するコマンドでしょうか?

行列のようです。
C.Basic 的に言えばほぼ同じですが。(^^;



あっ、そういえば「入」アイコンのサンプルを出すと言って出し忘れていたので、これから慌てて準備します。(^^;

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その4

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

1.45その13その4での新規作成で妙なエラーになってプログラムが入力できないる現象が発覚しました。(^^;
既存のプログラムの実行&中断編集は可能ですが、最初からの編集が出来ないと思います。(^^;
ということで、原因究明中です。(^^;


Colon様、
>修正確認しました。

ありがとうございます!(^^)


>"F Result" は変数ではないので、申し訳ありませんが戻してください。(^^;

あ、そうなんですね。
ということで、それは独立変数から戻します。(^^;


>いや、分からん。
> しかも説明はこれだけ。

> 注釈もよく分からん。

ちょっとツボりました!(^^;
Colon様をもってしても分からないコマンドが存在するというのがCasioBasicの複雑怪奇なところですね。(^^;


>テーブル機能の計算結果が入っているようですが、どうやら単独では使えない (= エラーになる) コマンドらしいので実装する順番としてはかなり最後の方になると思います。

ということは、これはリストに関連するコマンドでしょうか?


>良いアイデアですね!
>{ExStr} にも加えておくに一票です。(^^)

了解です。(^^)


>純正では出来ない構文ですから、拡張機能扱いになるので OK だと思います。(^^)
>これらは私も C.Basic に出会う前から欲しいと思っていた機能です。

お!そうだったんですね。(^^)
この仕様変更でちょっと何やら変なバグが発生したので、(^^;
それが落ち着いたら、仕様固定したいと思います。

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> "X=" が小文字になっています。
> また、"Func Type" が "Param" の時に入力できる文字が "T" になっていません。

修正確認しました。


> Y,θ,Tは変わらないので[F1] (x), [F2] (X)だけでいいかと思います。(^^)

了解しました。(^^)


> ついでなので、F Resultも独立変数にしましたが、これってどういう使われ方なのでしょう?

"F Result" は変数ではないので、申し訳ありませんが戻してください。(^^;

CASIO の取扱説明書では次のように説明されています。

==【引用】=========================
・ {Result*1} … 数表内容の行列
 *1 Run-Matrix または Program モードで TABLE メニューが表示されているときのみ “Result” 項目が表示されます。
==================================

いや、分からん。
しかも説明はこれだけ。

注釈もよく分からん。


とか言ってても仕方ないので調べてみました。(^^;

実態は確かに行列っぽいんですが、代入や呼び出し方法が特殊なので素直には実装できないと思います。
構文や使い方の説明がなされていないので、全体の機能を把握しきった上でまた報告します。m(_ _)m

テーブル機能の計算結果が入っているようですが、どうやら単独では使えない (= エラーになる) コマンドらしいので実装する順番としてはかなり最後の方になると思います。


> すでに2年以上の実績があるので、公式的にStrReplのところが埋まらない限りはこのままで構わない気もします。
> ExStrのカテゴリーにも加えておくというのも一つの手ですね。(^^)

良いアイデアですね!
{ExStr} にも加えておくに一票です。(^^)


> この修正ですが、
> fnやGraphYは基本的に数式評価ですが、
> 例外として、(Hlib2様のリクエストを満たすために)転送先が文字変数の場合のみ、文字列として扱います。
> さらに文字列関数内で使う場合と文字列が最初にある式では文字列評価になってますが問題無ければこの仕様でいきたいと思います。(^^)

純正では出来ない構文ですから、拡張機能扱いになるので OK だと思います。(^^)

これらは私も C.Basic に出会う前から欲しいと思っていた機能です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その4

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>"X=" が小文字になっています。
>また、"Func Type" が "Param" の時に入力できる文字が "T" になっていません。

修正しました。(^^)


>あ、私のイメージだと [F1] (x), [F2] (X), [F3] (x,Y,θ,T), [F4] (X,Y,θ,T) でしたが、
>これだと単に x↔️X の切り替えなので、アイコンは現状のままで良さそうでしょうか?

Y,θ,Tは変わらないので[F1] (x), [F2] (X)だけでいいかと思います。(^^)


>はい、倍精度 / 整数の区別も不要ですし、V-Win 関係の変数のような形式で良いと思います。

ついでなので、F Resultも独立変数にしましたが、これってどういう使われ方なのでしょう?


>どうしましょうか?

すでに2年以上の実績があるので、公式的にStrReplのところが埋まらない限りはこのままで構わない気もします。
ExStrのカテゴリーにも加えておくというのも一つの手ですね。(^^)


ということで、

>現段階で修正して欲しい点があります。
>Hlib2 様からもご指摘があったかと思いますが、"Locate", "Text", "◢" などに >"GraphY1" などを指定した場合、GraphY1 などを数式として計算した結果が表示されるのが正しい仕様です。

この修正ですが、
fnやGraphYは基本的に数式評価ですが、
例外として、(Hlib2様のリクエストを満たすために)転送先が文字変数の場合のみ、文字列として扱います。
GraphY→fn1
GraphY→Stt 1

さらに文字列関数内で使う場合と文字列が最初にある式では文字列評価になってますが問題無ければこの仕様でいきたいと思います。(^^)
(例)StrJoin("123"+GraphY1)->Str 1
(例)"123"+GraphY1->Str 1


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その4
https://pm.matrix.jp/CB/CBASICCG145beta13.zip
https://pm.matrix.jp/CB/CBASICCG.zip

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その3

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 純正の唯一の設定項目がFunc Typeだったのですよね。って今再確認しました。(^^;
> ということで、修正しました。(^^)

"X=" が小文字になっています。


> 修正しました。(^^)

"SetupRecover" の修正確認しました。


> 追加しました。(^^)

あ、私のイメージだと [F1] (x), [F2] (X), [F3] (x,Y,θ,T), [F4] (X,Y,θ,T) でしたが、
これだと単に x↔️X の切り替えなので、アイコンは現状のままで良さそうでしょうか?

また、"Func Type" が "Param" の時に入力できる文字が "T" になっていません。


> これは新たに3つの変数が増えるということですよね?

はい、倍精度 / 整数の区別も不要ですし、V-Win 関係の変数のような形式で良いと思います。


> 必要ならば、エラー判定は後付出来ますし、省いて大丈夫です。(^^)

了解しました。(^^)


> ってことは、build09以前の仕様で問題なかったんですね。(^^;
> これは次で直します。

よろしくお願いします。m(_ _)m


> たしかに拡張コマンドなので場所が違ってますね。
> ただ、置換機能なので、検索の隣が空いていたのでそこにしたと思います。(^^)

どうしましょうか?

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その3

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>{MENU} - {TABLE} の [F6] (GPHCLR) 追加、"G SelOff" / "T SelOn" の修正をそれぞれ確認しました。
>確認しました。値は正しいようです。

ありがとうございます!(^^)


>設定画面での表示内容としては、"Y=Type" や "ParamType" ではなく、"Y=" や "Param" のようになります。
>また、使用するアイコンは #61, #62, #63, #723; #65, #66, #67, #68; #724, #725, #726, #727 です。
>純正プログラム機能の設定画面を参照してください。

純正の唯一の設定項目がFunc Typeだったのですよね。って今再確認しました。(^^;
ということで、修正しました。(^^)


>"Y=Type" など各コマンドの正常動作も確認できましたが、SetupRecover が効かないようです。

修正しました。(^^)


>System(10001) ですが、ルーチンを書くときに使いやすいので暫く残していただけると助かります。

了解です!
というか、別の読み出し方法が無いのでずっと残ることになると思います。(^^)


>"FuncType" が導入できたので、
>次は "[x]character" に [X,Y,θ,T] と [x,Y,θ,T] を追加していただければと思います。

追加しました。(^^)


>次は、F Start / F End / F Pitch を Alias ではなく独立実装にしていただければこの 3 つは OK です。

これは新たに3つの変数が増えるということですよね?


>これについてですが、純正ではデータが無い番号を指定した場合に "No Data"、Y1 に対して X1 を指定した場合に "Syntax ERROR" になります。
>C.Basic ではこれらのエラー判定を省いても大丈夫でしょうか?

必要ならば、エラー判定は後付出来ますし、省いて大丈夫です。(^^)


>現段階で修正して欲しい点があります。
>Hlib2 様からもご指摘があったかと思いますが、"Locate", "Text", "◢" などに "GraphY1" などを指定した場合、GraphY1 などを数式として計算した結果が表示されるのが正しい仕様です。

あ゛…(汗)
ってことは、build09以前の仕様で問題なかったんですね。(^^;
Hlib2様のリクエストは、
fn1→Str 1
のところだけ修正すれば良かったということですね。(^^;
これは次で直します。


>ところで、"StrRepl(" は {ExSTR} ではなく {STR} に入っていますが、これは大丈夫なんでしょうか?

たしかに拡張コマンドなので場所が違ってますね。
ただ、置換機能なので、検索の隣が空いていたのでそこにしたと思います。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その2
https://pm.matrix.jp/CB/CBASICCG145beta13.zip
https://pm.matrix.jp/CB/CBASICCG.zip


@CalcLoverHK
I tried new script, it seems to works well.(^^)

Improved C.Basic Update Agent

Hi sentaro21

Yes, exactly! Thank you so much!

By the way, I've made some big overhaul on C.Basic Update Agent to make it more compact. ^^

The difference between archive and with update agent folder has decreased to only two files. You now only have to download two files of FX and CG versions below. Then, put them on the archive file (C.Basic file with version number). Finally rename the whole folder to "CBASICFX" or "CBASICCG". You don't need to change the source file name. ^^

FX version:
https://www.mediafire.com/file/21nsjke0qx2zp1k/UpdateAgentFX.cmd/file
https://www.mediafire.com/file/ltxiz1o2uvw3yop/UA_ReadmeFX.txt/file

CG version:
https://www.mediafire.com/file/porx5t9csxqxqzb/UpdateAgentCG.cmd/file
https://www.mediafire.com/file/bqeqckgcsttx24c/UA_ReadmeCG.txt/file

(Actually, even without UA_Readme, the update agent still works. This file is just to inform new users. Once read, they can remove it.)

Cheers
CalcLoverHK

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その2

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
{MENU} - {TABLE} の [F6] (GPHCLR) 追加、"G SelOff" / "T SelOn" の修正をそれぞれ確認しました。


> SETUPの三番目に追加しました。
> 内部値は互換になっていると思いますが、確認する手段がありませんので、
> 仮としてSystem(10001)で取得できるようにしてます。(^^;

確認しました。値は正しいようです。

設定画面での表示内容としては、"Y=Type" や "ParamType" ではなく、"Y=" や "Param" のようになります。
また、使用するアイコンは #61, #62, #63, #723; #65, #66, #67, #68; #724, #725, #726, #727 です。

純正プログラム機能の設定画面を参照してください。

"Y=Type" など各コマンドの正常動作も確認できましたが、SetupRecover が効かないようです。

System(10001) ですが、ルーチンを書くときに使いやすいので暫く残していただけると助かります。

"FuncType" が導入できたので、
次は "[x]character" に [X,Y,θ,T] と [x,Y,θ,T] を追加していただければと思います。

[x,θ,T] キーで入力できる文字は、"FuncType" が
・ 0, 4, 5, 6, 7 の場合 …… 0x90 / "X"
・ 1 の場合 …… "θ" ([ALPHA] + [^] と同じ)
・ 2 の場合 …… "T" (ASCII 文字の "T")
・ 3, 8, 9, 10, 11 の場合 …… "Y" (ASCII 文字の "Y")

です。
この辺りも純正プログラム機能でご確認いただければ分かりやすいかと思います。


> ?コマンドで文字列を表示する場合にアスキーコードに戻してたのを戻さないようにしてみました。
> これで大丈夫だと思います。(^^)

ありがとうございます! (^^)
正常動作を確認しました。


さて、新規コマンドも残るは以下の 23 個になりました。

===============
GraphY
Graphr
GraphXt
GraphYt
GraphX
F Start
F End
F Pitch
F Result
DrawGraph
DispF-Tbl
Graph Y=
Graph r=
Graph(X,Y)=(
Graph ∫
Graph Y>
Graph Y<
Graph Y>=
Graph Y<=
Graph X>
Graph X<
Graph X>=
Graph X<=
===============

次は、F Start / F End / F Pitch を Alias ではなく独立実装にしていただければこの 3 つは OK です。

その間に、私は GraphY から GraphX までへの代入ルーチンを考えておきます。

これについてですが、純正ではデータが無い番号を指定した場合に "No Data"、Y1 に対して X1 を指定した場合に "Syntax ERROR" になります。
C.Basic ではこれらのエラー判定を省いても大丈夫でしょうか?

現段階で修正して欲しい点があります。
Hlib2 様からもご指摘があったかと思いますが、"Locate", "Text", "◢" などに "GraphY1" などを指定した場合、GraphY1 などを数式として計算した結果が表示されるのが正しい仕様です。

"X"→GraphY1
0→X
Locate 1, 1, GraphY1

の場合は、"0" と表示されるべきです。


ところで、"StrRepl(" は {ExSTR} ではなく {STR} に入っていますが、これは大丈夫なんでしょうか?

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その2

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


@CalcLoverHK
I upload CBASICFX.zip / CBASICCG.zip.
Is this Ok?(^^)


Colon様、
>キープレス変更、GraphYn(<数式>) の修正を確認しました。

ありがとうございます!(^^)


>追加コマンドについては、"G SelOff" と "T SelOn" の処理が逆になっています。
>その他は正常に動作しました。

あ、間違えてました!
ってことで、修正しました。(^^;


>さて、次は SETUP に "Func Type" を追加していただければ、以下のコマンドが導入できます。

SETUPの三番目に追加しました。
内部値は互換になっていると思いますが、確認する手段がありませんので、
仮としてSystem(10001)で取得できるようにしてます。(^^;


>ところで、グラフ関数式リストの作成において "?GraphY1" のような書式を使いたいのですが、sin などのコマンドがアルファベットになってしまいます。
>何か対策は取れませんか?

?コマンドで文字列を表示する場合にアスキーコードに戻してたのを戻さないようにしてみました。
これで大丈夫だと思います。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その2
https://pm.matrix.jp/CB/CBASICCG145beta13.zip

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
キープレス変更、GraphYn(<数式>) の修正を確認しました。

{MENU} - {TABLE} の [F6] は {MENU} - {GRAPH} の [F6] (GPHCLR) と全く同じなので、ここも追加お願いします。

追加コマンドについては、"G SelOff" と "T SelOn" の処理が逆になっています。
その他は正常に動作しました。


さて、次は SETUP に "Func Type" を追加していただければ、以下のコマンドが導入できます。

・ Y=Type
・ r=Type
・ ParamType
・ X=Type
・ Y>Type
・ Y<Type
・ Y>=Type
・ Y<=Type
・ X>Type
・ X<Type
・ X>=Type
・ X<=Type

これらは SETUP の内部値を対応する値に変更するだけのコマンドです。
よろしくお願いします。m(_ _)m


ところで、グラフ関数式リストの作成において "?GraphY1" のような書式を使いたいのですが、sin などのコマンドがアルファベットになってしまいます。
何か対策は取れませんか?

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>色々いじってたら直りました。
>文字の入力が出来なくなったりカタログが効かなくなったりしていたので、私のほうで何か変になってたっぽいです。(^^;

良かったです。(^^)
一瞬エンバグかと焦りました。(^^;


>{MENU} は純正で空いている [F6] - [F3~F5] に {CONVNTL} / {#} / {%} を割り当てれば良さそうですが、{VARS} は少し工夫が必要かもですね。

'%'は「ALPHA]+[(-)]のショートカットが使えるので、そこを本来の[TABLE]に変えました。(^^)


>ところで、ManualCG_J.txt が文字化けしています。

BOMの入ってないファイルになっていたようです。
ってことで、差し替えました。(^^)


>修正確認しました。
>抜けていましたが、GraphYn(<数式>) で X=<数式> の時の GraphYn の値が求められると思います。
>これの式評価が従来通りになっているので、こちらも 6 バイトプレフィックスへの対応をお願いします。m(_ _)m

あ、ここもありました!(^^;
ありがとうございます!(^^)

ということで、とりあえず、G SelOn~SetG-Color まで実装終了です。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その13その1
https://pm.matrix.jp/CB/CBASICCG145beta13.zip
(build13)
...

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

Hi sentaro21

Download my modified C.Basic files below.
FX: https://www.mediafire.com/file/xv6qn5hnlvgx7cw/CBASICFX.zip/file
CG: https://www.mediafire.com/file/ol6k8y4nu8631bc/CBASICCG.zip/file

Then upload them to your website pm.matrix.jp
The link name should be like this:
https://pm.matrix.jp/CB/CBASICFX
https://pm.matrix.jp/CB/CBASICCG
You can see there is no version number after FX or CG.

You can continue to upload the link with the version number, but please do remember to upload the link without the version number just like above. From now on, if you upload the newer C.Basic zip file with update agent using the C.Basic file with version number, please first copy "C.Basic_update" to it, change "CBASIC***beta" or "CBASICCG***beta" file inside the zip both to "Source" (This is more clear than before, I think) then zip it and rename the whole zip file to CBASICFX or CBASICCG to finally upload to pm.matrix.jp.

I hope you can understand my meaning. (^^;

Cheers
CalcLoverHK

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、

>> とりあえず、
>> ?コマンドだけの修正です。(^^;

> ありがとうございます。(^^)
> 後程確認します。

修正確認しました。

抜けていましたが、GraphYn(<数式>) で X=<数式> の時の GraphYn の値が求められると思います。
これの式評価が従来通りになっているので、こちらも 6 バイトプレフィックスへの対応をお願いします。m(_ _)m

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 確認したら上手くいってるっぽいのですが、
> どこでおかしくなってるでしょう?

色々いじってたら直りました。

文字の入力が出来なくなったりカタログが効かなくなったりしていたので、私のほうで何か変になってたっぽいです。(^^;

> ファンクションキーの修正もありますが、順次実装していってみます。(^^)

{MENU} は純正で空いている [F6] - [F3~F5] に {CONVNTL} / {#} / {%} を割り当てれば良さそうですが、{VARS} は少し工夫が必要かもですね。

> とりあえず、
> ?コマンドだけの修正です。(^^;

ありがとうございます。(^^)
後程確認します。


ところで、ManualCG_J.txt が文字化けしています。

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>以下の差替えアップデートに対応しました。
早速にありがとうございます!(^^)



@CalcLoverHK
How do I satisfy your request?(^^)



Colon様、
>"?" コマンドも対応お願いします。

あ、抜けてました。(^^;


>直っていないようです。(^^;

確認したら上手くいってるっぽいのですが、
どこでおかしくなってるでしょう?
-------------------
ClrMat θ
'#GraphY θ,256,512
"123+456"->GraphY256
-------------------


>というわけで、お伝えできるものから内部動作をお伝えするので、実装の方をお願いします。m(_ _)m
>以下のコマンドは DrawGraph など描画時の挙動に影響するものですが、描画する側のコマンドの変更はまだ行わないので内部値の変更のみになります。

ありがとうございます!
ファンクションキーの修正もありますが、順次実装していってみます。(^^)

とりあえず、
?コマンドだけの修正です。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再々
https://pm.matrix.jp/CB/CBASICCG145beta12.zip

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

sentaro人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

以下の差替えアップデートに対応しました。

> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再
> https://pm.matrix.jp/CB/CBASICCG145beta12.zip
> (build12.)
> ・GraphYとfnの確保数と文字列の長さをStr変数と同等に変更しました。
> ・GraphYの格納仕様を6バイトのプレフィックス付きに変更しました。
> (行列への直アクセス以外は以前と変更ありません。)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

Hi sentaro21

Thank you for testing my script! ^^

But my purpose of this script is to automatically fetch the C.Basic update and replace the old one without changing the download link by myself. Although your link can update C.Basic to latest 2.45 build, but it cannot download versions that are newer than this one, for example, 2.46.

I found out your storage website pm.matrix.jp matches my requirements perfectly. You can upload the replacement to replace the version without changing the already existed link. That's why I need a constant link of C.Basic update.

Cheers
CalcLoverHK

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
グラフ関係のサンプルプログラムは、一通りコマンドの実装が完了してから作成したいと思います。


sentaro様、
> 了解です!
> ってことで、そこだけの修正アップデートしてみました。(^^)

"?" コマンドも対応お願いします。

> ・GraphYとfnの確保数と文字列の長さをStr変数と同等に変更しました。

直っていないようです。(^^;

というわけで、お伝えできるものから内部動作をお伝えするので、実装の方をお願いします。m(_ _)m

以下のコマンドは DrawGraph など描画時の挙動に影響するものですが、描画する側のコマンドの変更はまだ行わないので内部値の変更のみになります。

なお、ルーチンは C.Basic で記述し、便宜的に Mat θ を使って説明することとします。
Y1, r2, Xt3 などの数字部分は〈関数式の番号〉/ "_FuncNo" とします。
また、16 ビットカラー値は "_Color16" と表します。

========================================
・ G SelOn
(書式)G SelOn 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ Mat θ[ _FuncNo, 3] or 0x80→Mat θ[ _FuncNo, 3]

========================================
・ G SelOff
(書式)G SelOff 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ Mat θ[ _FuncNo, 3] and 0x7F→Mat θ[ _FuncNo, 3]

========================================
・ T SelOn
(書式)T SelOn 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ Mat θ[ _FuncNo, 3] or 0x20→Mat θ[ _FuncNo, 3]

========================================
・ T SelOff
(書式)T SelOff 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ Mat θ[ _FuncNo, 3] and 0xDF→Mat θ[ _FuncNo, 3]

========================================
・ NormalG
(書式)NormalG 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ 0x02→Mat θ[ _FuncNo, 4]

========================================
・ ThickG
(書式)ThickG 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ 0x03→Mat θ[ _FuncNo, 4]

========================================
・ BrokenThickG
(書式)BrokenThickG 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ 0x05→Mat θ[ _FuncNo, 4]

========================================
・ DotG
(書式)DotG 〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ 0x08→Mat θ[ _FuncNo, 4]

========================================
・ ThinG 【CG 版のみ】
(書式)ThinG〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ 0x12→Mat θ[ _FuncNo, 4]

========================================
・ SetG-Color 【CG 版のみ】
(書式)SetG-Color 〈色指定コマンド〉,〈関数式の番号〉

【ルーチン】
Mat θ[ _FuncNo, 7] ⇒ _Color16→Poke(VarPtr(Mat θ[ _FuncNo, 5])).W

========================================


内部フォーマットは以下の通りです。
今後提案するルーチンはこれらに基づくものとなります。

〈01 - 02 バイト目〉
グラフ式のタイプを格納します。

・ 0x0108 …… Y=
・ 0x0198 …… Y>
・ 0x0188 …… Y<
・ 0x01B8 …… Y≧
・ 0x01A8 …… Y≦
・ 0x0208 …… X=
・ 0x0298 …… X>
・ 0x0288 …… X<
・ 0x02B8 …… X≧
・ 0x02A8 …… X≦
・ 0x040A …… <r>=
・ 0x0409 …… Param

〈03 バイト目〉
関数式の選択状況を格納します。
実際の値は以下の Or となります。

・ 0x01 …… 不明
・ 0x02 …… 不明
・ 0x04 …… 不明
・ 0x08 …… DefG
・ 0x10 …… Dyna
・ 0x20 …… Table
・ 0x40 …… グラフ右
・ 0x80 …… グラフ左

〈04 バイト目〉
グラフの線種の設定を格納します。

・ 0x02 …… Normal
・ 0x03 …… Thick
・ 0x05 …… Broken
・ 0x08 …… Dot
・ 0x12 …… Thin

〈05 - 06 バイト目〉
16 ビットカラー値です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>はい、それだけやっていただければ、
>テストした上で各コマンドのルーチンと詳細な仕様をお伝えします。(^^)

了解です!
ってことで、そこだけの修正アップデートしてみました。(^^)


>詳細は調査中ですが、少なくとも "DrawGraph" コマンドと Func Type は関係ありません。(^^;

あ、そうなんですね。(^^;


>ASCII 文字の "," が括弧の外に使われることがあるからだと思いますが、
>"StrSplit()" で一発で分けられるのでルーチンは組みやすそうです。

分けるには確実に便利ですね。(^^)


>内部データの例示をするので "×" を使います、ということでした。(^^;

了解です。(^^)


>「そうしなければいけない」ではなく「そうなれば便利」という提案なので、FX 版はそのままでも良いと思います。(^^;

了解です。(^^)
とりあえず、r、Xt、Yt、Xはすぐに実装状態になりそうなので、そのままにしておきます。(^^;


>まぁ、独自発見の SysCall を使いすぎると FX 版への移植に支障が出るので、普段の SysCall 以外で使うのは移植の心配がほぼ無い [SHIFT] + [5] だけになると思います。

FX版とSysCallが違うとなればそれはまた難題ですね。(^^;


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12.再
https://pm.matrix.jp/CB/CBASICCG145beta12.zip
(build12.)
・GraphYとfnの確保数と文字列の長さをStr変数と同等に変更しました。
・GraphYの格納仕様を6バイトのプレフィックス付きに変更しました。
(行列への直アクセス以外は以前と変更ありません。)



@CalcLoverHK
I tried your script, it seems to works well.(^^)

I have no build number CBASIC245beta.zip has been updated.
https://pm.matrix.jp/CB/CBASIC245beta.zip
(build11)


I made a batch script to automatically (mostly) update C.Basic

Hi all Japanese members

I've made a script to replace old version with the current version. ;)
You can test the script by downloading my modified C.Basic version folder.

https://www.mediafire.com/file/ncr8fpniktz82cr/CBASIC243beta.zip/file

Open the folder and you will see the odd "Update_agent" folder. Click it, and you will see "UpdateAgent.cmd". Run it without running as administrator.

You need to accept the licenses opened in website. (I use wget.exe for downloading C.Basic new version much faster and unzip.exe for unzipping the file.)

There are some problems in this script:

1. You can only download the specific file by the specific link (which means if C.Basic has newer version, it cannot download that file), so I request sentaro21 to open the *constant* link for me to make it functioning. (e.g. pm.matrix.jp/CB/CBASICFX.zip)

2. The bitsadmin command is very slow at start, but becomes quicker over time.

3. I can't rename the old C.Basic folder to CBASICFX.

4. This script mainly consists of goto (^^; I can't understand the for statement in batch.

5. When the program replace the older C.Basic files with newer one, it pops out the confirmation. I want to make it totally automatic by auto-fill the choice and enter itself.

This is my first time to properly write a batch script. I've done a lot of research to get all things works. This is quite hard.

If you have improvements or find bugs, please tell me immediately.
Thank you for testing my script.

Cheers
CalcLoverHK

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 形式変更というのは6バイト付けた形式のことですね。(^^)

はい、それだけやっていただければ、
テストした上で各コマンドのルーチンと詳細な仕様をお伝えします。(^^)

> DrawGraphのデフォルトが決まるわけですね。(^^)

詳細は調査中ですが、少なくとも "DrawGraph" コマンドと Func Type は関係ありません。(^^;

> ","でも支障は無さそうですが、あえて0xF6になってる理由は文字列の切れ目判定が確実になるということでしょうかね。

ASCII 文字の "," が括弧の外に使われることがあるからだと思いますが、
"StrSplit()" で一発で分けられるのでルーチンは組みやすそうです。

> あ、テキスト変換では"×"は"*" になるので…(^^;

内部データの例示をするので "×" を使います、ということでした。(^^;

> CGシリーズは緑でいいですが、FX版はどうしましょうか?(^^;

「そうしなければいけない」ではなく「そうなれば便利」という提案なので、FX 版はそのままでも良いと思います。(^^;

> おお!何やら楽しみです。(^^)

SetG-Color や G-Normal などのコマンドを使えば、各コマンドのバグ出しもしやすくなると考えています。

> SysCallが使える部分がどれだけあるかわからないですが、ほとんど独自実装になりそうですね。(^^;

まぁ、独自発見の SysCall を使いすぎると FX 版への移植に支障が出るので、普段の SysCall 以外で使うのは移植の心配がほぼ無い [SHIFT] + [5] だけになると思います。

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>以下の差替えアップデートへの対応をしました。

早速にありがとうございます!(^^)



Colon様、
>'#GraphYθ, 256, 256
>を試してみましたが、Y128~256 への代入はおろか、Y1 への代入も出来なくなってしまいます。(^^;
>確認お願いします。

fnとGraphYは必要性が薄いと思って最大確保数が127まで、文字列の長さが最大32767となってました。(^^;
Strは確保数が32767、長さ2147483648、となってましたので、これは同じサイズに仕様変更しないとですね。


>まずは形式変更と変数周りのバグ出しになりそうですね。
>形式変更が完了すればまず以下のコマンドが実装できます。

形式変更というのは6バイト付けた形式のことですね。(^^)


>次に、セットアップ項目に "Graph Func" を追加していただければ、以下のコマンドが実装できます (同じく内部値の変更のみで描画への反映はまだ)。

DrawGraphのデフォルトが決まるわけですね。(^^)


>テストしやすいよう、OS と同じ値 ("Y=": 0, "<r>=": 1, ……) で実装していただけると助かります。
>値は次のページにある表の Index: 24 のところに書いてあります。
https://prizm.cemetech.net/index.php/Setup

了解しました。(^^)


>そうなんですが、ちょっと特殊です。
>例えば、

>cos T → Xt1
>sin T→Yt1

>の場合、1 番目の関数式の文字列部分は "8254F6815400" / "cos T,sin T" となります。

つまり、Xt,Ytペアで一つ分ということなんですね。


>このとき、"," は 0xF6 を使います。
>ASCII 文字の "," では動作しないのが正しい仕様です。

","でも支障は無さそうですが、あえて0xF6になってる理由は文字列の切れ目判定が確実になるということでしょうかね。


>タイポでしょうが、例に使いやすいので ("*" は "×" に変えた上で) 頂きます。(^^;

あ、テキスト変換では"×"は"*" になるので…(^^;


>ところで、[VARS] + [F4] (GRAPH) で [F2]~[F5] を追加したんですね。(^^)

はい、追加できるところから追加していってます。(^^)


>正式サポートでないコマンドのアイコンは緑で表示してはどうでしょうか?
>入力 / 実行できない → マスク化、実装中 → 緑という感じです。

CGシリーズは緑でいいですが、FX版はどうしましょうか?(^^;


>[SHIFT] + [,] でサポート予定のグラフ関数式リスト画面へのジャンプですが、[VARS] + [F4] (GRAPH) - [F6] が空いているのでそこにも割り当てるのはどうでしょうか?
>アイコンも {>GphFunc} などで作ってみます。

ショートカットだけでなく、アイコンメニュー上に機能が存在するのもありですね。
ってことで、了解です。(^^)


>グラフ関数式リスト画面ですが、私が発見した SysCall が絡んでくるので一旦私のほうで作ってみようと思います。

おお!何やら楽しみです。(^^)


>それから、ポップアップでない通常の画面の右側に表示する線種のアイコンですが、これの表示方法がよく分かっていません。(^^;
>16 ビットカラーで表示したいのいうのもあるので、ここのアイコン表示だけは独自実装ということでお願いします。

SysCallが使える部分がどれだけあるかわからないですが、ほとんど独自実装になりそうですね。(^^;

Re^7: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> '#GraphY
> はあります。(^^)

'#GraphYθ, 256, 256
を試してみましたが、Y128~256 への代入はおろか、Y1 への代入も出来なくなってしまいます。(^^;

確認お願いします。


> その感じだと実装は難しくは無さそうですね。
> ありがとうございます!(^^)

まずは形式変更と変数周りのバグ出しになりそうですね。
形式変更が完了すればまず以下のコマンドが実装できます。
描画 ("DrawGraph") に反映できるのはまだで内部値の変更が出来るようになるだけですが、これらのコマンドは元々内部値の変更だけなので問題ありません。

・ G SelOn
・ G SelOff
・ NormalG
・ ThickG
・ BrokenThickG
・ DotG
・ ThinG
・ SetG-Color
・ T SelOn
・ T SelOff

次の変数は独立確保に変更すれば良いだけです。

・ F Start
・ F End
・ F Pitch

次に、セットアップ項目に "Graph Func" を追加していただければ、以下のコマンドが実装できます (同じく内部値の変更のみで描画への反映はまだ)。

・ Y=Type
・ r=Type
・ ParamType
・ X=Type
・ Y>Type
・ Y<Type
・ Y>=Type
・ Y<=Type
・ X>Type
・ X<Type
・ X>=Type
・ X<=Type

テストしやすいよう、OS と同じ値 ("Y=": 0, "<r>=": 1, ……) で実装していただけると助かります。
値は次のページにある表の Index: 24 のところに書いてあります。
https://prizm.cemetech.net/index.php/Setup


以下のコマンドは一見実装できそうですが、説明書に詳細な仕様が記載されておらず、まだ調査が必要です。

・ GraphY
・ Graphr
・ GraphXt
・ GraphYt
・ GraphX


> ところで、XtとYtも同じ領域を共有してますか?

そうなんですが、ちょっと特殊です。
例えば、

cos T → Xt1
sin T→Yt1

の場合、1 番目の関数式の文字列部分は "8254F6815400" / "cos T,sin T" となります。

このとき、"," は 0xF6 を使います。
ASCII 文字の "," では動作しないのが正しい仕様です。

> "sin (A*T)"->Xt1
> "cos (B*T)"->Yt2

タイポでしょうが、例に使いやすいので ("*" は "×" に変えた上で) 頂きます。(^^;

この場合、
1 番目の関数式の文字列部分は "812841A95428F600" / "sin (A×T)," になり、
2 番目の関数式の文字列部分は "F6822842A9542900" / ",cos (B×T)" になります。

> Graph(X,Y)=(Xt1,Yt1)

"Graph(X,Y)=" コマンドに限り、Xt1 と Yt1 の間の "," は ASCII 文字でも 0xF6 でも可です。

その他のコマンドで 0xF6 を使うと "Syntax ERROR" になる仕様です。


ところで、[VARS] + [F4] (GRAPH) で [F2]~[F5] を追加したんですね。(^^)

正式サポートでないコマンドのアイコンは緑で表示してはどうでしょうか?
入力 / 実行できない → マスク化、実装中 → 緑という感じです。

[SHIFT] + [,] でサポート予定のグラフ関数式リスト画面へのジャンプですが、[VARS] + [F4] (GRAPH) - [F6] が空いているのでそこにも割り当てるのはどうでしょうか?
アイコンも {>GphFunc} などで作ってみます。


グラフ関数式リスト画面ですが、私が発見した SysCall が絡んでくるので一旦私のほうで作ってみようと思います。

[SHIFT] + [5] (FORMAT) で Line Style / Line Color のポップアップ (SysCall) を出し、[SHIFT] + [6] で 16 ビットカラーポップアップを出すことになるかと思います。
"2: Line Color" の右には 4 ビットカラーが表示されますが、現在設定されている色が 4 ビットカラー以外の場合は、色を "-3" に設定することでカラーバーのアイコンを表示させることができます。

それから、ポップアップでない通常の画面の右側に表示する線種のアイコンですが、これの表示方法がよく分かっていません。(^^;
16 ビットカラーで表示したいのいうのもあるので、ここのアイコン表示だけは独自実装ということでお願いします。

Re: Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

以下の差替えアップデートへの対応をしました。


> とりあえず、System()コマンドの0固定の件を追加したので、そこだけお願いします。(^^)
>
>
> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12
> https://pm.matrix.jp/CB/CBASICCG145beta12.zip
> (build12)
> ・エディタでファイルモードの切替でファイルリストが更新されない不具合を修正しました。
> ・セットアップで機能しない場合はアイコンをマスク化しました。
> ・System()コマンドでメインメモリに保存されるC.Basicのシステムファイルを取得できるようになりました。
>  (インデックス開始値は0で固定です。)
> (例)System(10000,1)
>  @CBASIC/Cbasicの内容をListAnsに取得します。
> (例)System(10000,2)
>  @CBASIC/Cbasic2の内容をListAnsに取得します。

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>差替えアップデート対応しましたが、表示上は特になにもしていません。

いつもありがとうございます!(^^)

とりあえず、System()コマンドの0固定の件を追加したので、そこだけお願いします。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12
https://pm.matrix.jp/CB/CBASICCG145beta12.zip
(build12)
・エディタでファイルモードの切替でファイルリストが更新されない不具合を修正しました。
・セットアップで機能しない場合はアイコンをマスク化しました。
・System()コマンドでメインメモリに保存されるC.Basicのシステムファイルを取得できるようになりました。
 (インデックス開始値は0で固定です。)
(例)System(10000,1)
 @CBASIC/Cbasicの内容をListAnsに取得します。
(例)System(10000,2)
 @CBASIC/Cbasic2の内容をListAnsに取得します。

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>0 固定に関しては更新履歴にも明記したほうが良いと思います。

了解です。(^^)


>それぐらい高機能という証拠でしょうが、
>CASIO 関係者以外で説明書 600 ページ近くにわたる全機能を把握している人っているんでしょうかね。(^^;

マニュアルの全機能を試すだけでも大変ですよね。(^^;


>説明書に記載されていない仕様も沢山あるわけですから、もう OS のみぞ知るという世界ですね。

全記載になると分厚いマニュアルになりそうですね。(^^;


>つまり、純正のグラフ機能では、(メモリが許せば) 関数式リストの 20 個に加え、G-MEM 1~20 の計 420 個の関数式を記憶できることになります。

グラフメモリーは関数式リストも含む総合的なメモリなんですね。
ちょっとずつわかってきました。ありがとうございます!(^^)


>…… あれ? '#Str や '#fn に相当するコマンドってありましたっけ?? (^^;

'#GraphY
はあります。(^^)


>構造体として記憶されていて、そのメンバーの 1 つが関数式 (文字列) という感じかと思います。
>結果的に行列として実装できるのは構造体だからです。

なるほどです。


>現在はデフォルトで Y1 が Mat θ[1,1~256] に格納されていますが、
>プレフィックス形式だと

>Mat θ[1,1~4] …… 色以外の情報
>Mat θ[1,5~6] …… 16 ビットカラー
>Mat θ[1,7~262] …… 関数式 (文字列)

>となります。
>色はどっち道「どうせならフルカラーに」となりそうなので、初めから 16 ビット確保しておけば良いという考えです。

その感じだと実装は難しくは無さそうですね。
ありがとうございます!(^^)

ところで、XtとYtも同じ領域を共有してますか?

----------------------
ClrGraph
Deg
1->TThetamin
360->TThetamax
1->Tthetaptch
2->A
3->B
"sin (A*T)"->Xt1
"cos (B*T)"->Yt2
Graph(X,Y)=(Xt1,Yt1)
----------------------

Re: Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

> >管理人様案で既に考慮してくださっているようですが、
> >CG10/20 では [x10^x] ではなく [EXP] なので、機種ごとに分けて頂ければと思います。
>
> あ゛…配慮不足でした!
> ってことで、修正再アップしました。(^^)

差替えアップデート対応しましたが、表示上は特になにもしていません。

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> はい、一応戻るのがデフォルトの仕様ということでした。
> はい、0で固定です。(^^)

了解しました。(^^)
0 固定に関しては更新履歴にも明記したほうが良いと思います。

> ってことで、修正再アップしました。(^^)

修正確認しました。


> なんかグラフ電卓を初めて手にしたときのような完全に初心者モードになってしまっています。(^^;

それぐらい高機能という証拠でしょうが、
CASIO 関係者以外で説明書 600 ページ近くにわたる全機能を把握している人っているんでしょうかね。(^^;

説明書に記載されていない仕様も沢山あるわけですから、もう OS のみぞ知るという世界ですね。


> 「グラフメモリー」と「関数式リスト」との違いは何でしょう?(^^;

はい、まず正式名称としては、
[5] (Graph) を起動したときに現れる式の一覧は「グラフ関数式リスト」と言います。
同様に、[6] (Dyna Graph) では「ダイナミックグラフ関数式リスト」、[7] (Table) では「テーブル関数式リスト」と言います。

これら 3 つは実態としては同じなので、勝手に「関数式リスト」と呼ばせてもらいます。(^^;

「グラフメモリー」というのは、関数式 20 個とビューウインドウ設定、各関数式の線種と色、選択有無をまとめて記憶しておく機能で、G-MEM 1~20 の 20 セットが記憶可能です (メインメモリ容量が許せば)。

つまり、純正のグラフ機能では、(メモリが許せば) 関数式リストの 20 個に加え、G-MEM 1~20 の計 420 個の関数式を記憶できることになります。

ただし、C.Basic では関数式リストに格納する関数式の数を増やせるので、「グラフメモリー」については特段の事情が無い限り実装しなくても良いと思います……

…… あれ? '#Str や '#fn に相当するコマンドってありましたっけ?? (^^;


> そもそも関数式リストの実体が何なのかまだ良くわかってません。(^^;

構造体として記憶されていて、そのメンバーの 1 つが関数式 (文字列) という感じかと思います。

結果的に行列として実装できるのは構造体だからです。

> 実体が数式の文字列であれば、一番最初にあった方が良さそうな感じはしますが、
> それって、関数式リストのひとつずつそれぞれに付加されるわけですよね?

以前書きましたが、OS では各関数式が "色以外の情報 4 バイト" + "文字列" というフォーマットで、グラフの色 (4 ビットカラー) はまた別の箇所にあります (CG 版の開発時に付け足したからだと思います)。

C.Basic では初めから色も関数式と一緒に格納しておけば良いと思いますので、

> 数式は可変長ですし、6バイトの固定長ならばのプレフィックスの方がいいかと思います。(^^)

現在はデフォルトで Y1 が Mat θ[1,1~256] に格納されていますが、
プレフィックス形式だと

Mat θ[1,1~4] …… 色以外の情報
Mat θ[1,5~6] …… 16 ビットカラー
Mat θ[1,7~262] …… 関数式 (文字列)

となります。
色はどっち道「どうせならフルカラーに」となりそうなので、初めから 16 ビット確保しておけば良いという考えです。

この場合、文字列系コマンドと →Yn での読み出し / 書き込みアドレスは 6 バイト後ろに変更になりますね。

(例)&Mat θ[1,1] → &Mat θ[1,1+6]

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
連日の素早い対応をありがとうございます!(^^)


Colon様、
>「グラフメモリー」という機能はまた別のものらしいです。

なんかグラフ電卓を初めて手にしたときのような完全に初心者モードになってしまっています。(^^;
「グラフメモリー」と「関数式リスト」との違いは何でしょう?(^^;


>あっ、そういうことでしたか。
>ならば仕様ということで大丈夫ですね。

はい、一応戻るのがデフォルトの仕様ということでした。
設定を戻さないこともセットアップで出来ます。(^^)


>了解しました。(^^)
>まず "Y=" の描画から始めようと思います。

まずはYですね。
直感的に分かりやすいので助かります。(^^)


>取得さえできればあとは自由に使えますね。(^^)
>インデックス開始値は 0 で固定でしょうか?
>(とは言え、ファイルを弄るときに 1 開始にすることはありませんが……)

はい、0で固定です。(^^)


>管理人様案で既に考慮してくださっているようですが、
>CG10/20 では [x10^x] ではなく [EXP] なので、機種ごとに分けて頂ければと思います。

あ゛…配慮不足でした!
ってことで、修正再アップしました。(^^)


>まずは関数式リストのフォーマットを決めないと始まらないので、追加 6 バイトをどのように確保しましょうか?

そもそも関数式リストの実体が何なのかまだ良くわかってません。(^^;
実体が数式の文字列であれば、一番最初にあった方が良さそうな感じはしますが、
それって、関数式リストのひとつずつそれぞれに付加されるわけですよね?
数式は可変長ですし、6バイトの固定長ならばのプレフィックスの方がいいかと思います。(^^)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
これまで私が「グラフメモリー」と言っていたものですが、「関数式リスト」と言うべきでした。

「グラフメモリー」という機能はまた別のものらしいです。


> プログラム終了時=デバッグモード退出時にはプログラム開始前の状態に戻るので、
> プログラム実行中/デバッグ中の変更は元に戻ってしまいますが、そこのところでしょうか?

あっ、そういうことでしたか。
ならば仕様ということで大丈夫ですね。

> 再読み込みされてなかったですね。
> マスク化が可能になった効果ですね。

修正確認しました。

> 最初からまとめると、おそらくバグ取りが大変になるので、
> とりあえず最初は独立した専用ルーチンでいきたいと思います。(^^;

了解しました。(^^)
まず "Y=" の描画から始めようと思います。

> ・System()コマンドでメインメモリに保存されるC.Basicのシステムファイルを取得できるようになりました。

取得さえできればあとは自由に使えますね。(^^)
インデックス開始値は 0 で固定でしょうか?
(とは言え、ファイルを弄るときに 1 開始にすることはありませんが……)

> [x10^x] / [EXP]:Input """"
>          Folder Top

管理人様案で既に考慮してくださっているようですが、
CG10/20 では [x10^x] ではなく [EXP] なので、機種ごとに分けて頂ければと思います。


> Colon様の進捗状況に合わせて必要なところから実装できるところから実装していく感じでいきたいと思います。(^^)

ありがとうございます! (^^)

まずは関数式リストのフォーマットを決めないと始まらないので、追加 6 バイトをどのように確保しましょうか?

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


管理人のやすです。

Build 12 へのアプデー徒対応しました。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>まず、ML / Screen での座標ずれ、Screen#/% から List への代入、ヘルプの文言それぞれ修正確認しました。

ありがとうございます!(^^)


>デバッグモード時に SETUP を変更してもデバッグモード退出時に元に戻ってしまう項目があります (例えば "RefrshCtr DD")。

プログラム終了時=デバッグモード退出時にはプログラム開始前の状態に戻るので、
プログラム実行中/デバッグ中の変更は元に戻ってしまいますが、そこのところでしょうか?


>また、エディタで Storage mode を切り替えると、ファイルリストに出たときに動作がおかしくなります。

再読み込みされてなかったですね。
ってことで、修正しました。(^^)


>SETUP のうち、無効になっている項目はファンクションメニューをマスク化していただくのが良いかもしれません。
>・ エディタにおける "HeapRAM Size"
>・ CG10/20 における "Use Hidn RAM"
>・ 同 "HidnRAM Init"
>・ CG シリーズにおける "Max Pict No"

マスク化が可能になった効果ですね。
ってことで、修正しました。(^^)


>グラフ機能の試験を行うにあたり、C.Basic 内での SETUP 項目を取得する関数があると助かります。
>"System()" コマンドの追加オプションでも良いと思います。

>(例)System(xx, P1, P2)
>   P1: 1 (CBasic) / 2 (CBasic2)
>   P2: offset ("setup_format.txt" に基づく)

これはUCFでのHlib2様のリクエスト物件と同じ感じですね。(^^)
Hlib2様のリクエストではビット単位でまとめて圧縮するというのもありますが、
とりあえず、ファイルまるごと読み出せるようにしてみました。(^^;


>読みやすさよりコンパクトさ重視ということで、
>If 文や Switch 文を使って描画部分はひとつの関数にまとめましょうか?

最初からまとめると、おそらくバグ取りが大変になるので、
とりあえず最初は独立した専用ルーチンでいきたいと思います。(^^;


>構文解析は私が手をつけにくいので、
>・ 私 (Colon) …… 仕様調査、描画ルーチン作成、サンプルプログラム作成
>・ sentaro様 …… 私の調査を元に構文解析変更

>という分担だと助かるのですが、いかがでしょうか?

了解です!
コマンド仕様さえ分かれば実装面はなんとかするので、よろしくお願いします。(^^)


>まぁ、同一ルーチンの使い回しで行けるので、実質 8 コマンド / 8 変数くらいだと思います。(^^;
>引数無しのコマンドが多いので、その分多くなっている感じですね。


まだ仕様がイマイチ把握できていないのですが、8コマンド/8変数くらいならなんとかなりそうです。(^^)


>グラフ・テーブル関係ですが、私の日程としては、最低でも
>・ 仕様調査:1 週間以下
>・ ルーチン設計:2 週間
>・ コーティング・デバッグ:3 週間

>くらいは欲しいです (FKey Icon のこともあるので……)。

>昨日ちょっと弄ってみましたが、素直にプログラムすると倍精度実数の誤差が For 文で増幅されたり (グラフのノイズに繋がりかねない)、異常に描画時間がかかって実質フリーズする場合があったり、非連続点の処理の検討が必要だったりと一筋縄では行かなそうなので、その辺りの対策も考えながらということになります。(^^;

>バグやエラーは私の方で出来る限り除去してからお渡しすることとし、その後は最低でも

>・ C.Basic for CG への移植・デバッグ:2 週間
>・ C.Basic for FX への移植・デバッグ:1 週間

>くらいはかかると思います (経験則)。

了解です!
グラフ関連は結構大掛かりな実装になるので、Colon様の進捗状況に合わせて必要なところから実装できるところから実装していく感じでいきたいと思います。(^^)


>時間がかかるので、
>v1.46/v2.46 までは溜まっている変更が必要な点 (Mat エディタの TOOL、強制 GB オプション変更、List のフォント読み出し変更、外部フォントファイル差し替え、etc……) を消化していただき、>v1.47/v2.47 以降でグラフ関係を C.Basic に移植し始めるというのはどうでしょうか?

未実装の宿題がどんどん溜まる一方なので、順番に片付けていかないとですね。(^^;
ってことで、了解です!(^^)


>ところで、FKeyIcon「入」についてです。
>この土日で「入」アイコンのデザイン案を半分程度作成するまで行けたので、また今週中にサンプルを出します。

お!早いですね!(^^)




管理人様、
>Build 11 の差替えアップデート対応、昨晩対応しております。

いつも素早い対応に感謝です!

>例えば、以下の2行を追加し、

>[x10^x] / [EXP]:Input """"
>         Folder Top

>8行目に Press: [EXIT]
>とする案です。
>入力記号に "" を付けると分かりにくくなるので、いっそ "" は外すと良いかも知れませんね。

修正してみました。(^^)



C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その11.再
https://pm.matrix.jp/CB/CBASICCG145beta12.zip
(build12)
・セットアップで機能しない場合はアイコンをマスク化しました。
・System()コマンドでメインメモリに保存されるC.Basicのシステムファイルを取得できるようになりました。
(例)System(10000,1)
 @CBASIC/Cbasicの内容をListAnsに取得します。
(例)System(10000,2)
 @CBASIC/Cbasic2の内容をListAnsに取得します。

Re^3: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11.再

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

== File mode Help ===
ですが、[x10^x] / [EXP] キーは、
アルファモードでは "" の入力、
アルファモードでない時にフォルダのトップに移動する
ので、それを追加するのはどうでしょうか?

例えば、以下の2行を追加し、

[x10^x] / [EXP]:Input """"
         Folder Top

8行目に Press: [EXIT]
とする案です。

入力記号に "" を付けると分かりにくくなるので、いっそ "" は外すと良いかも知れませんね。


Re^2: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11.再

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

Build 11 の差替えアップデート対応、昨晩対応しております。

Re: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11.再

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
まず、ML / Screen での座標ずれ、Screen#/% から List への代入、ヘルプの文言それぞれ修正確認しました。


次に、バグ報告その他提案事項です。

デバッグモード時に SETUP を変更してもデバッグモード退出時に元に戻ってしまう項目があります (例えば "RefrshCtr DD")。

また、エディタで Storage mode を切り替えると、ファイルリストに出たときに動作がおかしくなります。

SETUP のうち、無効になっている項目はファンクションメニューをマスク化していただくのが良いかもしれません。
・ エディタにおける "HeapRAM Size"
・ CG10/20 における "Use Hidn RAM"
・ 同 "HidnRAM Init"
・ CG シリーズにおける "Max Pict No"

グラフ機能の試験を行うにあたり、C.Basic 内での SETUP 項目を取得する関数があると助かります。
"System()" コマンドの追加オプションでも良いと思います。

(例)System(xx, P1, P2)
   P1: 1 (CBasic) / 2 (CBasic2)
   P2: offset ("setup_format.txt" に基づく)


> グラフごとにサブルーチンを用意するとなると結構容量食いそうですね。(^^;

読みやすさよりコンパクトさ重視ということで、
If 文や Switch 文を使って描画部分はひとつの関数にまとめましょうか?

> DynaGraphとか一度も使ったことがありません。(^^;

係数などを変化させるとグラフがどう変わるかをアニメーションで見られる教育目的の便利機能ですが、重いのが難点です。(^^;

Graph や Table は実用上便利なのでよく使いますが、DynaGraph は私もあまり使いません。

> そんなオプションがあったとは…初めて知りました。(^^;
> Yグラフだけ(それも一部)しか把握出来ていなかったので、初めてということがいっぱい出てきそうです。(^^;

構文解析は私が手をつけにくいので、
・ 私 (Colon) …… 仕様調査、描画ルーチン作成、サンプルプログラム作成
・ sentaro様 …… 私の調査を元に構文解析変更

という分担だと助かるのですが、いかがでしょうか?

> さすがグラフ電卓と言うべきかなんというか多機能過ぎですね。(^^;

まぁ、同一ルーチンの使い回しで行けるので、実質 8 コマンド / 8 変数くらいだと思います。(^^;
引数無しのコマンドが多いので、その分多くなっている感じですね。


グラフ・テーブル関係ですが、私の日程としては、最低でも
・ 仕様調査:1 週間以下
・ ルーチン設計:2 週間
・ コーティング・デバッグ:3 週間

くらいは欲しいです (FKey Icon のこともあるので……)。

昨日ちょっと弄ってみましたが、素直にプログラムすると倍精度実数の誤差が For 文で増幅されたり (グラフのノイズに繋がりかねない)、異常に描画時間がかかって実質フリーズする場合があったり、非連続点の処理の検討が必要だったりと一筋縄では行かなそうなので、その辺りの対策も考えながらということになります。(^^;

バグやエラーは私の方で出来る限り除去してからお渡しすることとし、その後は最低でも

・ C.Basic for CG への移植・デバッグ:2 週間
・ C.Basic for FX への移植・デバッグ:1 週間

くらいはかかると思います (経験則)。

時間がかかるので、
v1.46/v2.46 までは溜まっている変更が必要な点 (Mat エディタの TOOL、強制 GB オプション変更、List のフォント読み出し変更、外部フォントファイル差し替え、etc……) を消化していただき、
v1.47/v2.47 以降でグラフ関係を C.Basic に移植し始めるというのはどうでしょうか?

========================================

ところで、FKeyIcon「入」についてです。

この土日で「入」アイコンのデザイン案を半分程度作成するまで行けたので、また今週中にサンプルを出します。

C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11.再

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、

>ところで、"Y=" 以外のグラフ導入となると、セットアップの "Func Type" の状態によって [x,θ,T] で入力される文字を切り替えることになります。

かなり複雑化してきますね。(^^;


>FX 機では X, Y, θ, T の切り替えになるのでしょうか?
>C.Basic では "[x] character" の設定項目を追加して、{x}/{X}/{x,Y,θ,T}/{X,Y,θ,T} とすれば良いと考えています。

そうなりますね。(^^)


>ML コマンドで直っていません。
>Screen# コマンドでは、本来の座標より 0.5 大きい値が出力されます。

修正抜けてました。(^^;


>取り敢えず大丈夫そうです。
>上下キーで検索モードから退出しないのも使いやすくて良いですね。(^^)

ありがとうございます!
ステータス関連が絡むので、Colon様チェックで合格だとかなり安心できます。(^^)


>"[x^2]: Input "~"" などとしたほうが分かりやすいと思います。

変更してみました。(^^)

ということで、修正再アップ版です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その11.再
https://pm.matrix.jp/CB/CBASICCG145beta11.zip
(build11)
・CGモードでScreen#で座標変換した場合に2ドットずれる不具合を修正しました。

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11
https://pm.matrix.jp/CB/CBASIC245beta11.zip
(build11)(同じ修正)
・Screen#、Screen%を連続実行するとエラーになる不具合を修正しました。
・Screen#、Screen%からListAnsに転送した場合の不具合を修正しました。
(例)Screen#0,0→List Ans

・ファイルモードの検索機能を改善しました。
 アルファベットキーを押すと検索窓が開き検索モードになります。
 検索窓では左右移動等、通常の入力が可能です。
 検索窓を解除するには[EXIT]を押してください。
 カーソル上下、[EXE] [F1](EXE) [F2](EDIT) [F3](NEW)キーは検索窓を閉じること無く実行できます。



>さて、グラフのアルゴリズムについてです。

>構文解析の他に、
>・ Y グラフ描画
>・ X グラフ描画
>・ Param グラフ描画
>・ <r> グラフ描画

>・ 一時停止時アルゴリズム
> ・ TRACE
> ・ ZOOM
> ・ スクロール
> etc ……

>のようにサブルーチンを用意し、
>実行するコマンドに応じて呼び出せれば良い感じでしょうか?

グラフごとにサブルーチンを用意するとなると結構容量食いそうですね。(^^;


>UCF における Hlib2 様からのご報告を確認しました。
>テーブル機能に関する要望もありましたが、私はテーブル関係のプログラミングコマンドを使ったことがないので、一旦遊びながら仕様を調べてみようと思います。

ありがとうございます!
グラフ関連はそんな機能が存在していたとは???状態なので、助かります!(^^)


>Graph, DynaGraph, Table では数式を共有していますが、選択有無を別々に設定出来ることは知りませんでした。(^^;

DynaGraphとか一度も使ったことがありません。(^^;


>角括弧で描画する閉区間を指定できますが、区間指定をサポートしていないのが原因ですね。

そんなオプションがあったとは…初めて知りました。(^^;


>グラフ式には色々と特別な構文があるので、一旦私の方で仕様を調査します。
>その後、構文解析に取り込むという段取りでどうでしょうか?

よろしくお願いします。(^^)

Yグラフだけ(それも一部)しか把握出来ていなかったので、初めてということがいっぱい出てきそうです。(^^;


>では、関係するコマンドについて、現時点で把握できている 45 個を列挙します。

さすがグラフ電卓と言うべきかなんというか多機能過ぎですね。(^^;
描画機能はPlotやLineだけあれば十分というのが一番ですが、グラフ電卓の互換なのでそうもいかないですね。(^^;

グラフ・テーブル関係 - 情報整理、必要なコマンドなど

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
UCF における Hlib2 様からのご報告を確認しました。
テーブル機能に関する要望もありましたが、私はテーブル関係のプログラミングコマンドを使ったことがないので、一旦遊びながら仕様を調べてみようと思います。

以下、紛らわしさ防止のため、[VARS] - [F4] (GRAPH) で入力できる "Y", "<r>", "Xt" などはそれぞれ "GraphY", "Graphr", "GraphXt" のように txt 変換後の書き方をします。

> G SelOn, G SelOff (they need for drawing selected graphics by DrawGraph)

これは追加する 6 バイトの中の情報を切り替えることにより可能になります。

> T SelOn, T SelOff

Graph, DynaGraph, Table では数式を共有していますが、選択有無を別々に設定出来ることは知りませんでした。(^^;

内部フォーマットを再調査しましたが、Table の選択有無も追加する 6 バイトの中にあるようです。

> DispF-Tbl

これはただ単にテーブルをサポートしていないだけですね。

> F Result (although ➝F Start, ➝F End and ➝F pitch works)

これもサポートしていないだけですね。

→F Start, →F End, →F pitch works は Alias として実装しているので可能ですが、
プログラム実行開始時に初期化されるので、Alias ではなく独立して確保する必要がありそうです。

> ➝Xt1, ➝Yt1, Graph(x,y)=(Xt1,Yt1),

これは GraphXt, GraphYt をサポートしていないからですね。

> Graph=0.2X^2,[1,2] (but without [1,2] works)

角括弧で描画する閉区間を指定できますが、区間指定をサポートしていないのが原因ですね。

グラフ式には色々と特別な構文があるので、一旦私の方で仕様を調査します。

その後、構文解析に取り込むという段取りでどうでしょうか?


では、関係するコマンドについて、現時点で把握できている 45 個を列挙します。

・ G SelOn
・ G SelOff
・ Y=Type
・ r=Type
・ ParamType
・ X=Type
・ Y>Type
・ Y<Type
・ Y>=Type
・ Y<=Type
・ X>Type
・ X<Type
・ X>=Type
・ X<=Type
・ NormalG
・ ThickG
・ BrokenThickG
・ DotG
・ ThinG
・ SetG-Color
・ T SelOn
・ T SelOff
・ GraphY
・ Graphr
・ GraphXt
・ GraphYt
・ GraphX
・ F Start
・ F End
・ F Pitch
・ F Result
・ DrawGraph
・ DispF-Tbl
・ Graph Y=
・ Graph r=
・ Graph(X,Y)=(
・ Graph ∫
・ Graph Y>
・ Graph Y<
・ Graph Y>=
・ Graph Y<=
・ Graph X>
・ Graph X<
・ Graph X>=
・ Graph X<=

Re^3: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 割当番号は10000以上はColon様にすべておまかせします。(^^)

了解しました。(^^)

ところで、"Y=" 以外のグラフ導入となると、セットアップの "Func Type" の状態によって [x,θ,T] で入力される文字を切り替えることになります。

FX 機では X, Y, θ, T の切り替えになるのでしょうか?

C.Basic では "[x] character" の設定項目を追加して、{x}/{X}/{x,Y,θ,T}/{X,Y,θ,T} とすれば良いと考えています。


> 1 番上にいるときのみ、検索モードに入って出ると問答無用でアルファロックになってしまうので、ここの対策をお願いします。
> 間違ってキーを押したときに退出してしまうことがあるので、デフォルトの動作では検索モードを退出しないようにして、退出できるのは [EXIT] と [SHIFT] + [EXIT] (QUIT) のみにしていただけませんか?
> メインメモリで検索モードに入ったとき、[F6] を消せていません。また、[÷] も不要だと思います。
> 5 回以上のループでエラーになるようです

修正確認しました。


> 仕様想定外なので、ちょっと調査してみます。(^^;

よろしくお願いします。


> ・CGモードでScreen#で座標変換した場合に2ドットずれる不具合を修正しました。

ML コマンドで直っていません。
Screen# コマンドでは、本来の座標より 0.5 大きい値が出力されます。


> バグが無ければファイル検索はこれで一段落でしょうか。(^^)

取り敢えず大丈夫そうです。
上下キーで検索モードから退出しないのも使いやすくて良いですね。(^^)


> CG版のファイルモードのみ簡単なヘルプを実装しているところです。(^^;

"[x^2]: Input "~"" などとしたほうが分かりやすいと思います。


さて、グラフのアルゴリズムについてです。

構文解析の他に、
・ Y グラフ描画
・ X グラフ描画
・ Param グラフ描画
・ <r> グラフ描画

・ 一時停止時アルゴリズム
 ・ TRACE
 ・ ZOOM
 ・ スクロール
 etc ……

のようにサブルーチンを用意し、
実行するコマンドに応じて呼び出せれば良い感じでしょうか?

Re:Re: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>Build 11 へのアップデート対応しました。

早速にありがとうございます!(^^)


>ファイル検索機能は、とても使いやすくなりました。ありがとうございます。

バグが無ければファイル検索はこれで一段落でしょうか。(^^)


>CATALOG機能は、純正のを呼び出すだけになっているようですが、先ずはこれで、ということでしょうか?

んと、まだ純正のままです。(^^;
CG版のファイルモードのみ簡単なヘルプを実装しているところです。(^^;

Re: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11

sentaro人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


Build 11 へのアップデート対応しました。


sentaro様、Colon様、
ファイル検索機能は、とても使いやすくなりました。ありがとうございます。

CATALOG機能は、純正のを呼び出すだけになっているようですが、先ずはこれで、ということでしょうか?



> Colon様、
> >まず、{>FOLDER} と {>FILE} のアイコンを作ってみました。
> >文字数なども問題なさそうです。
>
> お、いい感じみたいですね!(^^)
>
> >ところで、現在「入」アイコンを製作中ですが、OS アイコンの分析に時間がかかっているため、当初の見込みより 3 週間程度の遅れが発生しています。(^^;
> >また、「入」アイコンはその他のアイコンと性格が異なるため、機能追加があってもアイコンが探しやすいよう、#11001 以降に割り当てたいと考えているのですが、いかがでしょうか?
>
> 割当番号は10000以上はColon様にすべておまかせします。(^^)
>
>
> >1 番上にいるときのみ、検索モードに入って出ると問答無用でアルファロックになってしまうので、ここの対策をお願いします。
> >間違ってキーを押したときに退出してしまうことがあるので、デフォルトの動作では検索モードを退出しないようにして、退出できるのは [EXIT] と [SHIFT] + [EXIT] (QUIT) のみにしていただけませんか?
>
> 修正しました。(^^)
>
>
> >後程チェックします。(^^)
> >現状、"Y=X^2" のグラフでノイズが出るなどしているので、その辺りも含めてアルゴリズムをチェックして行きたいと思います。
>
> お手数おかけします。m(_ _)m
>
>
> >ML コマンド (多分 "Screen" コマンドも?) の # オプションで出力される座標が、本来の位置よりも上に 2 ドット、左に 2 ドットずれています。
>
> CG版は詰めが甘いですね。(^^;
>
>
> >メインメモリで検索モードに入ったとき、[F6] を消せていません。また、[÷] も不要だと思います。
>
> 修正しました。(^^)
>
>
> >ML コマンドで色 (青、赤など) を指定した場合に、コマンド実行後にもその色が残っていますが、これは仕様ということで良いでしょうか?
> >
> >私は「インタプリタでの実行を高速化するための仕様」であると理解しています。
>
> MLコマンドは余分な処理をしないというのが仕様で、色変更は各コマンドに付随しているものではないので、そのとおりです。(^^)
>
>
> >For 1→A To 5
> >Screen#0, 0
> >Next
> >
> >5 回以上のループでエラーになるようです
>
> 修正しました。(^^)
>
>
> >また、次の 2 つで List Ans の中身が異なりますが、原因はわかりますか?
> >
> >・ Screen#0, 0
> >・ Screen#0, 0→List Ans
>
> 仕様想定外なので、ちょっと調査してみます。(^^;
>
>
>
> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その11
> https://pm.matrix.jp/CB/CBASICCG145beta11.zip
> (build11)
> ・CGモードでScreen#で座標変換した場合に2ドットずれる不具合を修正しました。
>
> C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11
> https://pm.matrix.jp/CB/CBASIC245beta11.zip
> (build11)(同じ修正)
> ・Screen#、Screen%を連続実行するとエラーになる不具合を修正しました。
> ・ファイルモードの検索機能を改善しました。
>  アルファベットキーを押すと検索窓が開き検索モードになります。
>  検索窓では左右移動等、通常の入力が可能です。
>  検索窓を解除するには[EXIT]を押してください。
>  カーソル上下、[EXE] [F1](EXE) [F2](EDIT) [F3](NEW)キーは検索窓を閉じること無く実行できます。

C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>まず、{>FOLDER} と {>FILE} のアイコンを作ってみました。
>文字数なども問題なさそうです。

お、いい感じみたいですね!(^^)

>ところで、現在「入」アイコンを製作中ですが、OS アイコンの分析に時間がかかっているため、当初の見込みより 3 週間程度の遅れが発生しています。(^^;
>また、「入」アイコンはその他のアイコンと性格が異なるため、機能追加があってもアイコンが探しやすいよう、#11001 以降に割り当てたいと考えているのですが、いかがでしょうか?

割当番号は10000以上はColon様にすべておまかせします。(^^)


>1 番上にいるときのみ、検索モードに入って出ると問答無用でアルファロックになってしまうので、ここの対策をお願いします。
>間違ってキーを押したときに退出してしまうことがあるので、デフォルトの動作では検索モードを退出しないようにして、退出できるのは [EXIT] と [SHIFT] + [EXIT] (QUIT) のみにしていただけませんか?

修正しました。(^^)


>後程チェックします。(^^)
>現状、"Y=X^2" のグラフでノイズが出るなどしているので、その辺りも含めてアルゴリズムをチェックして行きたいと思います。

お手数おかけします。m(_ _)m


>ML コマンド (多分 "Screen" コマンドも?) の # オプションで出力される座標が、本来の位置よりも上に 2 ドット、左に 2 ドットずれています。

CG版は詰めが甘いですね。(^^;


>メインメモリで検索モードに入ったとき、[F6] を消せていません。また、[÷] も不要だと思います。

修正しました。(^^)


>ML コマンドで色 (青、赤など) を指定した場合に、コマンド実行後にもその色が残っていますが、これは仕様ということで良いでしょうか?

>私は「インタプリタでの実行を高速化するための仕様」であると理解しています。

MLコマンドは余分な処理をしないというのが仕様で、色変更は各コマンドに付随しているものではないので、そのとおりです。(^^)


>For 1→A To 5
>Screen#0, 0
>Next

>5 回以上のループでエラーになるようです

修正しました。(^^)


>また、次の 2 つで List Ans の中身が異なりますが、原因はわかりますか?

>・ Screen#0, 0
>・ Screen#0, 0→List Ans

仕様想定外なので、ちょっと調査してみます。(^^;



C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その11
https://pm.matrix.jp/CB/CBASICCG145beta11.zip
(build11)
・CGモードでScreen#で座標変換した場合に2ドットずれる不具合を修正しました。

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その11
https://pm.matrix.jp/CB/CBASIC245beta11.zip
(build11)(同じ修正)
・Screen#、Screen%を連続実行するとエラーになる不具合を修正しました。
・ファイルモードの検索機能を改善しました。
 アルファベットキーを押すと検索窓が開き検索モードになります。
 検索窓では左右移動等、通常の入力が可能です。
 検索窓を解除するには[EXIT]を押してください。
 カーソル上下、[EXE] [F1](EXE) [F2](EDIT) [F3](NEW)キーは検索窓を閉じること無く実行できます。

Re^3: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その10再々々

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
何度もすみません。

グラフ描画の実験に ML コマンドを使っていたのですが、この中で次の不具合を見つけました。

For 1→A To 5
Screen#0, 0
Next

5 回以上のループでエラーになるようです。


また、次の 2 つで List Ans の中身が異なりますが、原因はわかりますか?

・ Screen#0, 0
・ Screen#0, 0→List Ans

Re:Re: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その10再々々

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
バグ報告です。
細切れになってすみません。

ML コマンド (多分 "Screen" コマンドも?) の # オプションで出力される座標が、本来の位置よりも上に 2 ドット、左に 2 ドットずれています。

メインメモリで検索モードに入ったとき、[F6] を消せていません。また、[÷] も不要だと思います。


それから、1 つ確認です。

ML コマンドで色 (青、赤など) を指定した場合に、コマンド実行後にもその色が残っていますが、これは仕様ということで良いでしょうか?

私は「インタプリタでの実行を高速化するための仕様」であると理解しています。

Re: C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その10再々々

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
まず、{>FOLDER} と {>FILE} のアイコンを作ってみました。
文字数なども問題なさそうです。

ところで、現在「入」アイコンを製作中ですが、OS アイコンの分析に時間がかかっているため、当初の見込みより 3 週間程度の遅れが発生しています。(^^;

※ 現在、分析は半分程度終了しています。

パソコンが近くに無くても作業を進められるようにするなど、今後の進捗に向けて工夫して参ります。m(_ _)m

また、「入」アイコンはその他のアイコンと性格が異なるため、機能追加があってもアイコンが探しやすいよう、#11001 以降に割り当てたいと考えているのですが、いかがでしょうか?


> 先頭に戻る動作では検索解除だけにしました。(^^)
> 先頭でもう一度押すとファイルモードが再起動します。

1 番上にいるときのみ、検索モードに入って出ると問答無用でアルファロックになってしまうので、ここの対策をお願いします。

>> また、検索モード時に [SHIFT] で文字が被るのと、[SHIFT] → [SHIFT] で検索モードを退出してしまうバグがあるので修正お願いします。

> 修正しました。(^^)

すみません、[SHIFT] → [SHIFT] に限らず、動作を個別に定義していないキーを押すと退出してしまうようでした (アルファモード解除時の [x, θ, T] など)。

間違ってキーを押したときに退出してしまうことがあるので、デフォルトの動作では検索モードを退出しないようにして、退出できるのは [EXIT] と [SHIFT] + [EXIT] (QUIT) のみにしていただけませんか?


> 一瞬、それは大変かなと思いましたが、ファイルモードは1バイト文字だけなので、次回アップデートで修正してみます。(^^)

お手数お掛けしますがよろしくお願いします。m(_ _)m


> ファイルリスト画面で「アルファモード」または「アルファロック」の時に [F2] (EDIT) でエディタに入り、[F4] または [SHIFT] + [F5] を押すとアルファロックが有効になってしまいます。
> また、エディタの検索画面を「アルファロック」で出た場合に [F4] または [SHIFT] + [F5] を押すと「アルファモード」になってしまいます (これは以前からあったバグのようです)。
> 最後に、エディタの検索画面でアルファロックの大文字と小文字のアイコンが切り替わりません。

すべて修正確認しました。


> CBP_interpreterVRAM.cpp
> の2588行以降がグラフファンクションの構文解析で、実際の動作は、
> CBP_glib2.cpp
> のほぼ全体がグラフ描画に関するサブルーチンになります。

後程チェックします。(^^)

現状、"Y=X^2" のグラフでノイズが出るなどしているので、その辺りも含めてアルゴリズムをチェックして行きたいと思います。


> 複数グラフ等への対応をまるで考えてなかったために、拡張するのはちょっと難問かもしれません。(^^;

動作を見る限りそうっぽいですね。

追加する 6 バイトの実装方法さえ決まれば、g3m である程度のアルゴリズムを書いてテスト出来るかもしれません。

多分、"DrawGraph" コマンドの動作を他のコマンドを使って記述するとかは出来ると思います。

C.Basic for CG v1.45β & for FX v2.45β (さらに使いやすく色々と変更していってみる版)その10再々々

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再々々

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>私の見解をひとつ前のコメントに書きました。

了解です。(^^)
ってことで、とりあえず、仕様は現状のままですが構わないでしょうか? >管理人様


>思ったよりも "== SEARCH MODE ==" のおさまりが良いですね。
>窓の位置もこっちのほうが分かりやすいです。(^^)

ありがとうございます!
いい提案をしていただいたおかげですね。(^^)


>[EXIT] でファイルリストの先頭に戻る動作をしたときにアルファロックになるのは期待した動作でしょうか?

先頭に戻る動作では検索解除だけにしました。(^^)
先頭でもう一度押すとファイルモードが再起動します。


>また、検索モード時に [SHIFT] で文字が被るのと、[SHIFT] → [SHIFT] で検索モードを退出してしまうバグがあるので修正お願いします。

修正しました。(^^)


>ところで、細切れでの提案になって申し訳ありませんが、いっそのこと [→] / [←] でカーソル移動できるようにしてしまってはいかがでしょうか?
>こうすれば純正の {SEARCH} で行える操作の完全上位互換になると思います。


一瞬、それは大変かなと思いましたが、ファイルモードは1バイト文字だけなので、次回アップデートで修正してみます。(^^)


>基本のアルゴリズムさえ調えば難しくはないと思いますが、規模がそれなりに大きい変更にはなりそうですね。
>バグ出ししやすいよう、ソースが入っているファイルをこの段階で教えていただけますか?

んと、
CBP_interpreterVRAM.cpp
の2588行以降がグラフファンクションの構文解析で、実際の動作は、
CBP_glib2.cpp
のほぼ全体がグラフ描画に関するサブルーチンになります。
最初の頃からYグラフだけは実装していたのですが、
複数グラフ等への対応をまるで考えてなかったために、拡張するのはちょっと難問かもしれません。(^^;


>ファイルリスト画面で「アルファモード」または「アルファロック」の時に [F2] (EDIT) でエディタに入り、[F4] または [SHIFT] + [F5] を押すとアルファロックが有効になってしまいます。
>また、エディタの検索画面を「アルファロック」で出た場合に [F4] または [SHIFT] + [F5] を押すと「アルファモード」になってしまいます (これは以前からあったバグのようです)。
>最後に、エディタの検索画面でアルファロックの大文字と小文字のアイコンが切り替わりません。

修正できたかと思いますが、チェックの方よろしくです。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再々
https://pm.matrix.jp/CB/CBASICCG145beta10.zip
(build10)
・ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。



@CalcLoverHK
Here is the same update as the CG version.
There may still be bugs.(^^;

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その10
https://pm.matrix.jp/CB/CBASIC245beta10.zip

入力モード不具合追加報告

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
すみません、いくつかのバグを見落としていました。(^^;

ファイルリスト画面で「アルファモード」または「アルファロック」の時に [F2] (EDIT) でエディタに入り、[F4] または [SHIFT] + [F5] を押すとアルファロックが有効になってしまいます。

また、エディタの検索画面を「アルファロック」で出た場合に [F4] または [SHIFT] + [F5] を押すと「アルファモード」になってしまいます (これは以前からあったバグのようです)。

最後に、エディタの検索画面でアルファロックの大文字と小文字のアイコンが切り替わりません。

以上、確認お願いします。

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再々

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
コメントが競合してしまいましたね。(^^;

> このアイコンはまたColon様に作成していただければということで仮アイコンです。(^^;

了解しました。

> 現在は、ALPHAモードで[(-)](@)、[X^2](~)、[^](')を押してもALPHAモードは解除されないので、その時点でのモードを維持する仕様ですが、
> ALPHAモードを解除している場合にもALPHAモードに戻すということでしょうか?

私の見解をひとつ前のコメントに書きました。

> 1ページ目に固定にしました。(^^)

ありがとうございます! (^^)

> 了解です!
> それから、FX版にはステータスエリアがないので、検索モードに入ったことがより分かりやすい形として、
> 検索窓をCATALOGと同じ表示位置に変更してみました。(^^)

思ったよりも "== SEARCH MODE ==" のおさまりが良いですね。

窓の位置もこっちのほうが分かりやすいです。(^^)


> 追加してみました。(^^)
> 修正しました。(^^)

確認しました。

[EXIT] でファイルリストの先頭に戻る動作をしたときにアルファロックになるのは期待した動作でしょうか?

また、検索モード時に [SHIFT] で文字が被るのと、[SHIFT] → [SHIFT] で検索モードを退出してしまうバグがあるので修正お願いします。


ところで、細切れでの提案になって申し訳ありませんが、いっそのこと [→] / [←] でカーソル移動できるようにしてしまってはいかがでしょうか?
こうすれば純正の {SEARCH} で行える操作の完全上位互換になると思います。


> あ、そういうことだったんですね。
> 現状、Yグラフしかサポートしていないので、そこのところから始めないとですね。(^^;

基本のアルゴリズムさえ調えば難しくはないと思いますが、規模がそれなりに大きい変更にはなりそうですね。

バグ出ししやすいよう、ソースが入っているファイルをこの段階で教えていただけますか?

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

@sentaro21
Can you import the feature which gives the ability to type numbers, ~, " and ' to search programs in FX version?

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再々

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

再アップした直後にColon様の書き込みを発見してちょっと焦ってしまいました。(^^;

Colon様、
>次のようなキープレスに固定してはどうでしょうか?

>・ [EXIT] → 検索モードから退出
>・ [F1] → {EXE} に固定 (よく使うから)
>・ [F2] → {EDIT} に固定 (よく使うから)

1ページ目に固定にしました。(^^)


>その上で、当初 [F1] ~ [F3] に表示してはどうかと思っていましたが、ステータスエリアに == SEARCH MODE == と表示していただけると分かりやすいです。

了解です!
それから、FX版にはステータスエリアがないので、検索モードに入ったことがより分かりやすい形として、
検索窓をCATALOGと同じ表示位置に変更してみました。(^^)


>[+] と [-] もダイレクトで入力できるようにしていただけたのですね。(^^)

[ALPHA]モード解除で入力できるようになったので、許可してみました。(^^)


>となると、ファイル名に使う以下の文字も入力できるようにしていただければ整合性が取れると思います。
>・ ,
>・ (
>・ )
>・ ^

追加してみました。(^^)


>最初に小文字を入力したいこともあるので、検索モードから出たあとも大文字小文字の設定をリセットせずに保持してほしいです。
>また、アルファロックないしアルファモードの状態で、[SHIFT] → [SHIFT] → [ALPHA] と押すとアルファモードになるべきがなりません。

修正しました。(^^)


>要望してくださった方は、例えば "DrawGraph" コマンドで "Y=" 以外のタイプのグラフを書きたいときに互換動作しないということを仰いたいのではないでしょうか?

あ、そういうことだったんですね。
現状、Yグラフしかサポートしていないので、そこのところから始めないとですね。(^^;


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再々
https://pm.matrix.jp/CB/CBASICCG145beta10.zip
(build10)
・ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。
 [F4](A<>a):大文字小文字切り替えです。
 [F5](CHAR)
 [F5](→):フォルダ/ファイルサーチを切り替えます。
 [DEL]:一文字戻ります。
 [AC]:全部消します。
 [EXIT]:元に戻ります。
 [X^2]:~
 [^]:' or ^
 [(-)]:@

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>[F5](/) については、最初使い方でチョット悩みました。
>フォルダ名を入力した後に [F5](/) を押すのが正しい方法と気が付くのに、色々試行錯誤しました。
>文字列入力後にそれをフォルダ指定するために [F5] を押すのですから、FKeyアイコンは "/" でなくて "Folder" の方が分かりやすくないでしょうか?

そういえば、そうかもですね。
フォルダ/ファイル検索に移行するので、"→Folder"と"→File"というのでもいいのでしょうか?
ってことで、変更してみました。(^^)
このアイコンはまたColon様に作成していただければということで仮アイコンです。(^^;



>[(-)](@)、[X^2](~)、[^](') を押した後は、自動的にALPHAモードに戻った方が良いと思います。

現在は、ALPHAモードで[(-)](@)、[X^2](~)、[^](')を押してもALPHAモードは解除されないので、その時点でのモードを維持する仕様ですが、
ALPHAモードを解除している場合にもALPHAモードに戻すということでしょうか?


>ヘルプ機能を表示するための分かりやすいショートカットキーを設定できませんか?
>例えば、[SHIFT] + [4] (CATALOG) をヘルプキーにして、ファイルリストでは そこで使えるショートカットの一覧、エディタ画面では純正Casio Basic の CATALOG機能のようなものを 現存の ~~HELP.g3m をベースに表示できると便利だと思います。

HELP機能はあった方がいいですね。
ファイルモードでは[SHIFT]+[4]は使われていないので、ぴったりかもです。(^^)


とりあえず、アイコン変更だけ修正再アップです。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10再
https://pm.matrix.jp/CB/CBASICCG145beta10.zip
・ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。
 [F4](A<>a):大文字小文字切り替えです。
 [F5](CHAR)
 [F5](→):フォルダ/ファイルサーチを切り替えます。
 [DEL]:一文字戻ります。
 [AC]:全部消します。
 [EXIT]:元に戻ります。
 [X^2]:~
 [^]:'
 [(-)]:@

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、sentaro様、
> フォルダ名を入力した後に [F5](/) を押すのが正しい方法と気が付くのに、色々試行錯誤しました。

[F6] (/) を押すのはどのタイミングでも (途中でも) 良いようです。

最初から [F6] で入力するのは不可能なので、そこを見越して [÷] にも割り当てるという提案をしました。

初めから入力したい場合は、[ALPHA] → [÷] で可能です。

> [(-)](@)、[X^2](~)、[^](') を押した後は、自動的にALPHAモードに戻った方が良いと思います。

それらのキーは元々アルファモードで入力が出来るのではないでしょうか?

その都度アルファモードに戻るようにしてしまうと、数字等の入力に支障が出てしまいます。(^^;

> 例えば、[SHIFT] + [4] (CATALOG) をヘルプキーにして、ファイルリストでは そこで使えるショートカットの一覧、エディタ画面では純正Casio Basic の CATALOG機能のようなものを 現存の ~~HELP.g3m をベースに表示できると便利だと思います。

賛成します。
エディタないし一行入力画面では、従来のカタログ機能に C.Basic のコマンドを追加、という感じにも出来ますね。


sentaro様、
検索終了後に検索終了のつもりで [EXIT] を押したらファイルリストの先頭に戻ったり、ファンクションメニューのページ数によって [F1] ~ [F3] の機能が変わってしまったりで直感的に操作しにくいです。


次のようなキープレスに固定してはどうでしょうか?

・ [EXIT] → 検索モードから退出
・ [F1] → {EXE} に固定 (よく使うから)
・ [F2] → {EDIT} に固定 (よく使うから)

その上で、当初 [F1] ~ [F3] に表示してはどうかと思っていましたが、ステータスエリアに == SEARCH MODE == と表示していただけると分かりやすいです。

[+] と [-] もダイレクトで入力できるようにしていただけたのですね。(^^)

となると、ファイル名に使う以下の文字も入力できるようにしていただければ整合性が取れると思います。
・ ,
・ (
・ )
・ ^


> シフトとアルファ表示が絡むだけに、よろしくお願いします。(^^)

最初に小文字を入力したいこともあるので、検索モードから出たあとも大文字小文字の設定をリセットせずに保持してほしいです。

また、アルファロックないしアルファモードの状態で、[SHIFT] → [SHIFT] → [ALPHA] と押すとアルファモードになるべきがなりません。

確認お願いします。


> グラフ式メモリとして実体が同じで名前が違うだけの感じがするので、
> すべてGraphYで代用できないかということでした。(^^;

名前が違うと他コマンドでの動作が変わってきますので、数式の実態としては従来と何ら変わりませんが、その他に "Y=" なのか "X=" なのかパラメトリックグラフなのかといった情報などを格納する必要があります (この点、グラフメモリーは単に文字列を格納しているわけではないと言えます)。

要望してくださった方は、例えば "DrawGraph" コマンドで "Y=" 以外のタイプのグラフを書きたいときに互換動作しないということを仰いたいのではないでしょうか?

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、

ファイルモードでのファイル名/フォルダ名入力機能ですが、いくつか提案があります。

1) フォルダ名入力
[F5](/) については、最初使い方でチョット悩みました。
フォルダ名を入力した後に [F5](/) を押すのが正しい方法と気が付くのに、色々試行錯誤しました。
文字列入力後にそれをフォルダ指定するために [F5] を押すのですから、FKeyアイコンは "/" でなくて "Folder" の方が分かりやすくないでしょうか?

2) ALPHAモードの設定
[(-)](@)、[X^2](~)、[^](') を押した後は、自動的にALPHAモードに戻った方が良いと思います。


さて、C.Basic では色々なショートカットキーがあります。
たとえは、ファイルリストで [x10^x] / [EXP] を押せば、フォルダの最初にジャンプする、[SHIFT] + [6] でカラーピッカが現れる、などです。

ヘルプ機能を表示するための分かりやすいショートカットキーを設定できませんか?
例えば、[SHIFT] + [4] (CATALOG) をヘルプキーにして、ファイルリストでは そこで使えるショートカットの一覧、エディタ画面では純正Casio Basic の CATALOG機能のようなものを 現存の ~~HELP.g3m をベースに表示できると便利だと思います。

如何でしょうか?




Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>後程動作確認しておきます。

シフトとアルファ表示が絡むだけに、よろしくお願いします。(^^)


>ん、どういうことでしょうか? (^^;

グラフ式メモリとして実体が同じで名前が違うだけの感じがするので、
すべてGraphYで代用できないかということでした。(^^;

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> まずはアルファモードが分かりやすいCG版からということで動作チェックの方、よろしくお願いします。(^^)

ありがとうございます!

後程動作確認しておきます。


> となると、今の所Yのグラフしかサポートして無いのでYだけでいいような気がしますが、どうなんでしょう?(^^;

ん、どういうことでしょうか? (^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


Colon様、
>エディタのみのショートカットにせずに、ファイルリストからもファンクションメモリーの内容が見られるほうが便利そうなので、取り敢えず次のようになるでしょうか。

ありがとうございます!
了解しましたです。(^^)


>仰る通りの仕様です。
>sin X→Y1 のあとに、cos Y→X1 を実行すれば Y1 のデータは消えます。

ってことは、実体は一つで共有してるってことなんですね。(^^)
となると、今の所Yのグラフしかサポートして無いのでYだけでいいような気がしますが、どうなんでしょう?(^^;



管理人様、Colon様、
>アルファベット大文字と "~" のみ使用可能の現状に対して、
>[ALPHA] のトグル動作でアルファベットモードのON/OFF と "'" の入力方法が確保できれば、さらに良いかと思います。
>新規ファイル名設定の時のような FKey 表示 (鍵マークのFKeyは不要?)、つまり [F4](A↔a) と [F5](CHAR) になり、それらが使えると、操作の一貫性があってより良いと思いますが、如何でしょうか?
>管理人様の提案に賛成します。
>純正のファイルリストでは「アルファロック」がデフォルトなので、C.Basic でもファイルリストに入った時に「アルファロック」にしていただき、その上で他モードと切り替えられると良いと思います。

了解です!
ということで、[SHIFT][ALPHA]が効くようにしてみました。(^^)


>それから、[F6] や [÷] に {/} を割り当てて、これを押すとフォルダの検索も出来る、というのはいかがでしょうか?
>(例)"/CBa" → "CBasic" というフォルダが検索できる

いいアイデアです!
ってことで、即採用させていただきました!(^^)


まずはアルファモードが分かりやすいCG版からということで動作チェックの方、よろしくお願いします。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その10
https://pm.matrix.jp/CB/CBASICCG145beta10.zip
(build10)
・ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。
 [F4](A<>a):大文字小文字切り替えです。
 [F5](CHAR)
 [F5](/):フォルダサーチに切り替わります。
 [DEL]:一文字戻ります。
 [AC]:全部消します。
 [EXIT]:元に戻ります。
 [X^2]:~
 [^]:'
 [(-)]:@



> ところで、ここまでサンプルプログラムが増えてくると、同梱サンプルプログラムの簡単な説明と格納フォルダの一覧のテキストファイルが有ると良いかと思いますが、如何でしょうか?
>目的のサンプルプログラムが探しやすくなって良さそうですね。(^^)

たしかに有った方が良さそうですね。(^^)

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、sentaro様、
> 新規ファイル名設定の時のような FKey 表示 (鍵マークのFKeyは不要?)、つまり [F4](A↔a) と [F5](CHAR) になり、それらが使えると、操作の一貫性があってより良いと思いますが、如何でしょうか?

管理人様の提案に賛成します。

何か入力したら左詰めミニフォント青で "== SEARCH MODE ==" などと表示し、[F4] (A<>a), [F5] (CHAR) となれば分かりやすいと思います。

> シフトやアルファモードを切り替えられるようにしておいた上で、

> [ALPHA] のトグル動作でアルファベットモードのON/OFF と "'" の入力方法が確保できれば、さらに良いかと思います。

純正のファイルリストでは「アルファロック」がデフォルトなので、C.Basic でもファイルリストに入った時に「アルファロック」にしていただき、その上で他モードと切り替えられると良いと思います。

私はテストプログラムに数字をつけていることが多いので、アルファモードを解除したら数字を入力できる、みたいにしていただけると助かります。

それから、[F6] や [÷] に {/} を割り当てて、これを押すとフォルダの検索も出来る、というのはいかがでしょうか?

(例)"/CBa" → "CBasic" というフォルダが検索できる


> まぁ、グラフメモリ以外は変わらないことが理想です。

その方向での機能拡張が可能だと思います。(^^)

> これは必須ですが、旧仕様と新仕様で、同じ内容を実行する簡単なサンプルコードをマニュアルに書き、このサンプルプログラムを同梱して貰えると、完璧だと思います。特にサンプルプログラム同梱は一番有り難いです。

了解しました。
仕様が固まってみたら作ってみます。

> ところで、ここまでサンプルプログラムが増えてくると、同梱サンプルプログラムの簡単な説明と格納フォルダの一覧のテキストファイルが有ると良いかと思いますが、如何でしょうか?

目的のサンプルプログラムが探しやすくなって良さそうですね。(^^)

Re^7: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、

> >ファイルリストでの Search 機能ですが、余計なリソースを使わずうまいやり方ですね。

> ただ、純正の検索と比べると、アルファベット大文字+'~'しか検索文字に使えないので、

> シフトやアルファモードを切り替えられるようにしておいた上で、
> [X^2]と[^]のキーを使うようにするのが良さそうでしょうか?(^^)

アルファベット大文字と "~" のみ使用可能の現状に対して、
[ALPHA] のトグル動作でアルファベットモードのON/OFF と "'" の入力方法が確保できれば、さらに良いかと思います。
新規ファイル名設定の時のような FKey 表示 (鍵マークのFKeyは不要?)、つまり [F4](A↔a) と [F5](CHAR) になり、それらが使えると、操作の一貫性があってより良いと思いますが、如何でしょうか?


Colon様、
>> Matθへの直アクセスは、私の手元では結構使っています。というか、この方が分かりやすいので多用しています。

>これまでの仕様と比べてこれ以上変わると困る、みたいなラインはありますか?

まぁ、グラフメモリ以外は変わらないことが理想です。

>> どこまで互換性を担保するかですが、行列への直アクセスする濃いユーザー向けには、マニュアルで注意書きを明記するので良いと思いますが、如何でしょうか?

>一応グラフメモリーのフォーマットは載せておく必要がありそうですね。

これは必須ですが、旧仕様と新仕様で、同じ内容を実行する簡単なサンプルコードをマニュアルに書き、このサンプルプログラムを同梱して貰えると、完璧だと思います。特にサンプルプログラム同梱は一番有り難いです。


ところで、ここまでサンプルプログラムが増えてくると、同梱サンプルプログラムの簡単な説明と格納フォルダの一覧のテキストファイルが有ると良いかと思いますが、如何でしょうか?

Re^6: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> Matθへの直アクセスは、私の手元では結構使っています。というか、この方が分かりやすいので多用しています。

これまでの仕様と比べてこれ以上変わると困る、みたいなラインはありますか?

> どこまで互換性を担保するかですが、行列への直アクセスする濃いユーザー向けには、マニュアルで注意書きを明記するので良いと思いますが、如何でしょうか?

一応グラフメモリーのフォーマットは載せておく必要がありそうですね。


sentaro様、
> ここでまた独立したメニューが現れるわけですね。(^^)

そうですね。
エディタのみのショートカットにせずに、ファイルリストからもファンクションメモリーの内容が見られるほうが便利そうなので、取り敢えず次のようになるでしょうか。

〈ファイルリスト画面〉
・ [SHIFT] + [,] …… ポップアップ、サポート機能への切り替え
・ [SHIFT] + [→] …… 最後に使ったサポート機能に戻る

〈エディタ画面〉
・ [SHIFT] + [,] …… ポップアップ、サポート機能への切り替え
・ [SHIFT] + [→] …… 最後に使ったサポート機能に戻る

〈各サポート機能画面〉
・ [SHIFT] + [,] …… ポップアップ、サポート機能同士の切り替え
・ [SHIFT] + [→] …… サポート機能に入る前の画面に応じて、ファイルリスト / エディタに戻る


> 例えば、Y1に数式を記憶していて、別途X1を記憶させるとそれはY1がX1の内容で書き換わるとかでしょうか?

あ、そこが一番大事ですね (特に FX 版では)。

仰る通りの仕様です。
sin X→Y1 のあとに、cos Y→X1 を実行すれば Y1 のデータは消えます。

また、sin X→Y1 のあとに cos Y→X2 を実行すれば、Y1 と X2 のデータが残ることになります。

ここは純正グラフ機能で [F3] (TYPE) を色々弄ってみたほうが理解しやすいと思います。


あとは、等号不等号うんぬんは別のコマンドで指定する必要があったりしますが、
最近グラフ関係を使っておらず結構忘れているので、きちんと思い出してから説明します。(^^;

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>[SHIFT] + [,] は今のところ
>・ Var
>・ Mat/List/Vct
>・ Graph Memory
>・ Function Memory
>・ Str

>のような感じでしょうか。

ここでまた独立したメニューが現れるわけですね。(^^)


>実装に関しては、同一 Mat 内でも独立でもどちらでも構わないと思います。

んと、ここがまだちょっとわかってないのですが、
グラフメモリは同じ領域を共有しているということでしょうか?
例えば、Y1に数式を記憶していて、別途X1を記憶させるとそれはY1がX1の内容で書き換わるとかでしょうか?

ここのあたりの純正仕様に関してはまだまだ分からないことが多いです。(^^;



管理人様、
>再アップした for FX と for CG build 09 でアップデート対応しました。

早速にありがとうございます!(^^)


>ファイルリストでの Search 機能ですが、余計なリソースを使わずうまいやり方ですね。
>これで、大分楽になります。ありがとうございます。

純正の[CATALOG]の検索機能が参考になりました。(^^)
ただ、純正の検索と比べると、アルファベット大文字+'~'しか検索文字に使えないので、
純正同様のアポストロフィーも追加しておかねばというところですが、
シフトやアルファモードを切り替えられるようにしておいた上で、
[X^2]と[^]のキーを使うようにするのが良さそうでしょうか?(^^)

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

再アップした for FX と for CG build 09 でアップデート対応しました。

ファイルリストでの Search 機能ですが、余計なリソースを使わずうまいやり方ですね。
これで、大分楽になります。ありがとうございます。


> [SHIFT] + [,] は今のところ
> ・ Var
> ・ Mat/List/Vct
> ・ Graph Memory
> ・ Function Memory
> ・ Str
>
> のような感じでしょうか。

私も最後の Str も追加したこのような機能で、先ずは実装頂いて、使ってみたいと思います。


> 実装に関しては、同一 Mat 内でも独立でもどちらでも構わないと思います。
>
> 例えば Mat θ の数式前に 6 バイト確保しても良いですし、最後に 6 バイト確保しても良いと思います。
>
> 行列のバイト数を増減するときのことを考えると最初に 6 バイトのほうが簡単そうです が、従来との互換性を考えたときにどうかということですね (Mat θ 直アクセスのプログラムはまだ少ないでしょうが)。

Matθへの直アクセスは、私の手元では結構使っています。というか、この方が分かりやすいので多用しています。
但し fn は一度も使ったことがありません。

どこまで互換性を担保するかですが、行列への直アクセスする濃いユーザー向けには、マニュアルで注意書きを明記するので良いと思いますが、如何でしょうか?


Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ついでにStrも一覧表示できると便利かもしれません。

そうですね。

[SHIFT] + [,] は今のところ
・ Var
・ Mat/List/Vct
・ Graph Memory
・ Function Memory
・ Str

のような感じでしょうか。


> ん?これは別の独立したメモリーではないということでしょうか?

あ、すみません、Mat θ の勘違いです。(^^;

実装に関しては、同一 Mat 内でも独立でもどちらでも構わないと思います。

例えば Mat θ の数式前に 6 バイト確保しても良いですし、最後に 6 バイト確保しても良いと思います。

行列のバイト数を増減するときのことを考えると最初に 6 バイトのほうが簡単そうです が、従来との互換性を考えたときにどうかということですね (Mat θ 直アクセスのプログラムはまだ少ないでしょうが)。

ちなみに、OS では色指定以外が〈4バイト〉+〈数式〉+〈パディング〉の形式で一緒になっていて、色指定のみは別ファイルになっています (CG 版の実装は後付けだからだと思います)。

Re: Re:C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>It may be useful function.
>In my fx-CG50, there are 39 files starting with letter S. In order to search Sys.g3m, I always push [T] then scroll up to reach at Sys.g3m. It's a bit frustrating.

先の文字を選択して遡るのは同じでした。(^^;
複数文字での検索はもっと早くに実装しておくべきでしたね。


Colon様、
>e-Activity での動作を再度調べてみましたが、
>・ [SHIFT] + [,] …… 呼び出しているアプリケーション同士での切り替え
>・ [SHIFT] + [→] …… エディタと最後に呼び出したアプリケーション間の切り替え

>となっているようです。
>言い換えれば、前者は同階層、後者は異なる階層間での移動です。

e-Activityを使ったことがほぼ皆無だったので、
[,]と[→]の印字が何を意味していたのか、Colon様の説明で初めてわかりました!
ありがとうございます!(^^)

それらのショートカットはC.Basic独自に設定することになると思いますが、
e-Activity に準じた操作体系ならユーザー側の戸惑いが無いのでその方向でいきたいと思います。(^^)


>なるほど、その手がありましたね。

ファンクションキーをどこに設定しようかと考えていたら、CATALOGでの選択方法があった!と思いつきました。(^^)
これは、純正にも取り入れて欲しいかもですね。


>何も入力していない状態で [DEL] を押すと画面がちらついてしまうので、確認お願いします。

あ、何やらバグっていたようです。
ってことで、修正再アップしました。(^^)


>修正確認しました。
>UCF にてグラフ関係の要望があったのを確認しました。

ありがとうございます!


>将来的には、ファンクションメモリー一覧などと一緒に、グラフメモリーの一覧にもショートカットで跳べるようにしてしまえば便利かもしれません。

ついでにStrも一覧表示できると便利かもしれません。
基本的に同じ実装なのでやることは一緒ですし。(^^)


>それから、もしもグラフメモリーで X, <r>, Param に対応するのであれば、必要な仕様追加箇所は (OS を参考に) 把握できているのでいつでもお伝えできます。

助かります!


>一応現仕様の Mat z ベースというのは存続可能で、各グラフ式ごとに 6 バイトだけ追加確保できれば良さそうです。

ん?これは別の独立したメモリーではないということでしょうか?

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> I improved it in the same way as "CATALOG".(^^)

なるほど、その手がありましたね。

何も入力していない状態で [DEL] を押すと画面がちらついてしまうので、確認お願いします。

> ・インデントの必要なコマンド(If,Else..)の直前で改行した場合にインデントが余分に付加される不具合を修正しました。

修正確認しました。

> ・ファンクションメモリー(Fn)およびグラフメモリー(Y)に引数が無い場合は文字列として評価するようにしました。

UCF にてグラフ関係の要望があったのを確認しました。

将来的には、ファンクションメモリー一覧などと一緒に、グラフメモリーの一覧にもショートカットで跳べるようにしてしまえば便利かもしれません。

それから、もしもグラフメモリーで X, <r>, Param に対応するのであれば、必要な仕様追加箇所は (OS を参考に) 把握できているのでいつでもお伝えできます。

一応現仕様の Mat z ベースというのは存続可能で、各グラフ式ごとに 6 バイトだけ追加確保できれば良さそうです。

Re^7: fn機能について。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 今まで使われていなかったショートカット機能なので、
> さて、どのようにしましょうか?

e-Activity での動作を再度調べてみましたが、
・ [SHIFT] + [,] …… 呼び出しているアプリケーション同士での切り替え
・ [SHIFT] + [→] …… エディタと最後に呼び出したアプリケーション間の切り替え

となっているようです。
言い換えれば、前者は同階層、後者は異なる階層間での移動です。

一方、エディタからアプリケーション呼び出しをする機能は [F2] (STRIP) が担っています。


さて、C.Basic においてエディタからサポート機能へのショートカットを導入するにあたり、切り替える階層の対応関係を優先するか、ポップアップが出るキーを揃えるかということになるかと思います。

前者にするとエディタ → サポート機能の切り替え (ポップアップ) が [SHIFT] + [→] になり、サポート機能同士の切り替え (ポップアップ) が [SHIFT] + [,] になります。
この場合、純正にある [SHIFT] + [→] でのトグルは出来なくなります。

後者の場合、エディタ → サポート機能の切り替え、サポート機能同士の切り替え共に [SHIFT] + [,] でポップアップを出すこととし、[SHIFT] + [→] は純正同様になります。
この場合、[SHIFT] + [,] に別階層の切り替えも一部割り当てることにはなりますが、「純正の機能プラスアルファ」という感じで体系を説明することは可能だと考えます。

e-Activity 自体あまり馴染みが無い方も多いでしょうから、それを考慮すると「ポップアップは [SHIFT] + [,] 」とはっきりする後者案のほうが分かりやすいように思います。


> はい、そういうことです。
> 順番が変わるのはジャンプしたりリターンしたりの実行の流れが変わる箇所なのですが、それが命令ごとに異なるのでマニュアル必須です。(^^;

ありがとうございます。(^^)


> 最初はC.Basicに部分的なコンパイル(=サブプロラムのコンパイル機能)を付加できればと思ってますが、
> コンパイルはシステムエラーとの戦いになるので、
> g3mで出来るところまでやって、バグ取りしつつ本体に実装していくという形がいいのかなと考えてたりしてます。(^^)

了解しました。
そのつもりで心の準備をしておきます。(^^)


管理人様、sentaro様、
> [F6](▷) + [F6](▷) + [F3] can be candidate for the new Search function in file list screen.

以前 FKey Icon の整理について相談していた際に [F6] - [F6] - [F2] の {RENFLDR} を廃止して {RENAME} に統合する方向になっていたので、{SEARCH} を導入するとしたら初めから [F6] - [F6] - [F2] に入れてしまっても良いかと思います。

:C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

とりあえずバグが見つかっているのでそれを修正してアップデートしておきます。(^^)

@CalcLoverHK
Thanks for a very useful point!
I improved it in the same way as "CATALOG".(^^)


C.Basic for CG v2.45β (さらに使いやすく色々と変更していってみる版)その9
https://pm.matrix.jp/CB/CBASIC245beta09.zip
(build09)
・””コマンドの実行速度が遅かった不具合を修正しました。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その9
https://pm.matrix.jp/CB/CBASICCG145beta09.zip
(※同じ変更箇所)
(build09) 
・ファイルモードでアルファベットキーによるダイレクト選択時に2文字以上の指定が出来るようになりました。
 [DEL]:一文字戻ります。
 [AC]:全部消します。
・ファンクションメモリー(Fn)およびグラフメモリー(Y)に引数が無い場合は文字列として評価するようにしました。
・インデントの必要なコマンド(If,Else..)の直前で改行した場合にインデントが余分に付加される不具合を修正しました。

Re: Missing ability to search program by up to 8 characters in C.Basic

Hi CalcLoverHK and sentaro

[F6](▷) + [F6](▷) + [F3] can be candidate for the new Search function in file list screen.

It may be useful function.
In my fx-CG50, there are 39 files starting with letter S. In order to search Sys.g3m, I always push [T] then scroll up to reach at Sys.g3m. It's a bit frustrating.

Missing ability to search program by up to 8 characters in C.Basic

Hi sentaro21

A user from cnCalc has reported that C.Basic do not have SRC button unlike Casio Basic for searching program by up to 8 characters. Currently only pressing key corresponding to alphabet works similar but less versatile. Can you try to implement this feature?

Cheers
CalcLoverHK

Re^6: fn機能について。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>自動インデントを on にしているときに If や For などの直前などで改行を行うとインデントが増えるんですが、これは仕様でしょうか? バグでしょうか?

うわ、たしかに増えますね。(^^;
仕様的にはバグとしかいえないので直してみます。


>空きキーとしては [SHIFT] + [,] や [SHIFT] + [→] があり、これらのキーは e-Activity のエディタでプロセスの切り替えに使われます。

あ、その2つが使われていないままですね!(^^)


>もしこうするのであれば、色々とショートカットを追加できるキーであるだけに、体系をしっかりと検討しておく必要がありそうです。

今まで使われていなかったショートカット機能なので、
さて、どのようにしましょうか?


>C.Basic では行列をだいぶ拡張しているので、"ClrMat A~Z" / "ClrMat @A~@B" / "ClrList 53~1040" のような構文もできるとよいなと思います。

構文解釈だけの問題なので、すべて出来ると思います。(^^)


>頂いたサンプルプログラムでは、1 行目 → 3 行目 → 2 行目という実行順になるということよいですか?

はい、そういうことです。
順番が変わるのはジャンプしたりリターンしたりの実行の流れが変わる箇所なのですが、それが命令ごとに異なるのでマニュアル必須です。(^^;


>例を頂けると安心して挑戦できるので助かります! (^^)

条件判断やループとかになってくるとまた難度が上がっていきますが、Colon様なら難なくこなせそうですね。(^^)


>逆アセンブラ、基礎部分はもう出来てます。(^^;
>昨夜 SH4A のソフトウェアマニュアルを見つけたんですが、"Call()" 関数で遊ぼうと思ったときに List の中身だけでは混乱するので即作りました。(^^;

うわ!すでに出来てるとか、やはりColon様は只者ではないですね!(^^)


>逆アセンブラは Visual Studio でもデバッグ機能として実装されているようですし、C:Basic でも使えれば便利だと考えています。
>コンパイラの実装形式はともかく、コンパイル後のマシン語コードをファイルに出力するのは出来るでしょうから、
>逆アセンブラは C:Basic の標準仕様にまではしなくとも g3m のサポートツールとして提供できそうですね。 

C:Basicではアセンブラ/逆アセンブラも実装する予定だったところですが、想定よりも早くに実装することになるかもですね。(^^;

g3mレベルで出来るできることといえば、逆アセンブラのみならず、アセンブラも出来ますし、さらにはコンパイラも不可能ではないですね。(^^)

最初はC.Basicに部分的なコンパイル(=サブプロラムのコンパイル機能)を付加できればと思ってますが、
コンパイルはシステムエラーとの戦いになるので、
g3mで出来るところまでやって、バグ取りしつつ本体に実装していくという形がいいのかなと考えてたりしてます。(^^)

Re^5: fn機能について。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
自動インデントを on にしているときに If や For などの直前などで改行を行うとインデントが増えるんですが、これは仕様でしょうか? バグでしょうか?

> 右と左で別機能にするとか…
> これはまた要相談ということで…(^^;

ファンクションメモリー一覧に行くためのキープレスが面倒なので、ショートカットは欲しいですね。

空きキーとしては [SHIFT] + [,] や [SHIFT] + [→] があり、これらのキーは e-Activity のエディタでプロセスの切り替えに使われます。

これに似たような感じで、例えば [SHIFT] + [,] を押すと "Var", "Mat/List/Vct", "Function Mem" などとポップアップが出てサポート機能に跳べる、というのもアリだと思います。

もしこうするのであれば、色々とショートカットを追加できるキーであるだけに、体系をしっかりと検討しておく必要がありそうです。

> お!これはまたナイスな新機能です!次のアップデートで取り入れたいと思います。

C.Basic では行列をだいぶ拡張しているので、"ClrMat A~Z" / "ClrMat @A~@B" / "ClrList 53~1040" のような構文もできるとよいなと思います。

無理のない範囲でご検討ください。

> 気をつけないといけないのが、遅延スロットという命令実行順が入れ替わるやっかいな仕組みがありますので、
> そこでハマならないようにお気をつけください。(^^;

頂いたサンプルプログラムでは、1 行目 → 3 行目 → 2 行目という実行順になるということよいですか?

> 超簡単なマシン語の例として、整数足し算です。

例を頂けると安心して挑戦できるので助かります! (^^)

> なんだか、Colon様が神様に見えてきますね。(^^)

いえいえ、そんな恐縮です……。(^^;

> その気になれば、C.Basicでコンパイラプログラムも書けてしまいそうですが、
> アセンブラや逆アセンブラならサクッと作れてしまいそうですね。(^^)

逆アセンブラ、基礎部分はもう出来てます。(^^;

昨夜 SH4A のソフトウェアマニュアルを見つけたんですが、"Call()" 関数で遊ぼうと思ったときに List の中身だけでは混乱するので即作りました。(^^;

まだ対応していない命令がありますが、そこはソースコードに付け足しすればよいだけです。

逆アセンブラは Visual Studio でもデバッグ機能として実装されているようですし、C:Basic でも使えれば便利だと考えています。

コンパイラの実装形式はともかく、コンパイル後のマシン語コードをファイルに出力するのは出来るでしょうから、
逆アセンブラは C:Basic の標準仕様にまではしなくとも g3m のサポートツールとして提供できそうですね。 

> プログラムが自分自身でサブプログラムを増殖していったりということも出来ます。(^^;

Save コマンドとの合わせ技ですね。

Re^4: fn機能について。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>現在コマンド入力履歴が割り当てられていますが、大丈夫でしょうか?

右と左で別機能にするとか…
これはまた要相談ということで…(^^;


>直アクセスで文字列を扱えるのが C.Basic の強みなので行列ベースというのは残してほしい気持ちはあります。

メモリ容量的にはCGシリーズならばさほど大した問題ではないのですが、元祖FXシリーズで独立エリアとなるとちょっと厳しくなってきますね。
ってことで、現行通り行列仕様でいきたいと思います。(^^)


>現在も ClrMat で Str が消えてしまう状況ではありますし、逆に Mat θ 以外を消去できる、みたいな機能があれば問題を解決できると思います。
>・ ClrMat → 全行列を消去
>・ ClrMat A → Mat A を消去
>・ ClrMat -θ → Mat θ (ファンクションメモリー) 以外を消去
>・ ClrMat -θ, <r> → Mat θ と Mat <r> (文字列変数) 以外を消去

お!これはまたナイスな新機能です!次のアップデートで取り入れたいと思います。
ありがとうございます!(^^)


>バリバリマシン語でプログラミングするというよりは、簡単な計算とかを動かして動作を理解しておきたいという感じです。

なるほどです!
整数の「加減乗」算までなら1命令で出来る命令が備わってますのでかなり簡単に出来ると思います。(^^)
気をつけないといけないのが、遅延スロットという命令実行順が入れ替わるやっかいな仕組みがありますので、
そこでハマならないようにお気をつけください。(^^;

超簡単なマシン語の例として、整数足し算です。
---------------------------
---------------------------
0x6043 MOV.L R4,R0 // R4→R0
0x000B rts     // 
0x305C ADD R5,R0 // R5+R0→R0 遅延スロットによりrtsより先に実行される。
---------------------------
マシン語をワードのリストに書き込んで実行すれば結果が返ります。

{0x6043,0x000B,0x305C}-List 1.W
123→A%
456→B%
Call(VarPtr(List 1),A%,B%)


>単なる興味本意でもありますが、
>C:Basic になったときにどうしてもコンパイル段階でのバグが出てくる可能性はゼロになりませんから、
>現段階で "Call()" 関数のテストをしておけばデバッグ等でサポートしやすくなるかな? という考えもあります。

なんだか、Colon様が神様に見えてきますね。(^^)

その気になれば、C.Basicでコンパイラプログラムも書けてしまいそうですが、
アセンブラや逆アセンブラならサクッと作れてしまいそうですね。(^^)


>ということは、うまく使えばサブプログラム判定もできそうですね。
>あとは、プログラム内でプログラム名を取得するとかも出来ますね。

アドレスがわかれば、どうにでもなりますね。(^^;
それから、今はその都度サブプログラムを読み込む仕様になったので、
プログラムが自分自身でサブプログラムを増殖していったりということも出来ます。(^^;


>なかなかに応用が利きそうなコマンドなので、今後使う場面は出てきそうです。
>ただ、今無理をして仕様を固める必要も無いと思います。

了解です。
必要な時に必要な仕様に改めていきたいと思います。(^^)

Re^3: fn機能について。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro樣、
> クリップボードに何かあれば、クリップボードに入っている文字をSTOREで指定されたfnに入れます。
> クリップボードに何も無ければ純正同様プログラムの頭から入る分だけ入れて、(もしくは一行分だけ)
> という感じで考えています。

C.Basic はプログラムが長くなりがちなので、そのような対応も必要になってきますね。

> ショートカットとして、[MENU]+[←][→]でfn一覧を呼び出そうかと考えています。(^^)

現在コマンド入力履歴が割り当てられていますが、大丈夫でしょうか?

> 難点は、行列の流用なので行列初期化で消えてしまうということなんですが、
> この際、独立したメモリエリアにするというのもありかもですね。

直アクセスで文字列を扱えるのが C.Basic の強みなので行列ベースというのは残してほしい気持ちはあります。
現在も ClrMat で Str が消えてしまう状況ではありますし、逆に Mat θ 以外を消去できる、みたいな機能があれば問題を解決できると思います。

・ ClrMat → 全行列を消去
・ ClrMat A → Mat A を消去
・ ClrMat -θ → Mat θ (ファンクションメモリー) 以外を消去
・ ClrMat -θ, <r> → Mat θ と Mat <r> (文字列変数) 以外を消去


> 5~12はスタック渡しになるので、スタックに積まれて呼び出す形になります。
> はい、そのとおりです。(^^)

ありがとうございます。(^^)

> ぉお!
> もしかして自作マシン語を動かすとかでしょうか?(^^)

そうですね。
バリバリマシン語でプログラミングするというよりは、簡単な計算とかを動かして動作を理解しておきたいという感じです。

単なる興味本意でもありますが、
C:Basic になったときにどうしてもコンパイル段階でのバグが出てくる可能性はゼロになりませんから、
現段階で "Call()" 関数のテストをしておけばデバッグ等でサポートしやすくなるかな? という考えもあります。


> レジスタの使われ方はSHシリーズにおけるC言語での関数呼び出し規則そのものなので、
> アドレスはスタックに返り先として積まれて、
> 1番目の引数:R4
> 2番目の引数:R5
> 3番目の引数:R6
> 4番目の引数:R7
> 返り値;R0
> となっています。

> 実行先で自由に使える=壊してもいいレジスタはR0~R7まで、R8~R13を使う場合は適宜保存復帰する必要があります。
> R14はフレームポインタ
> R15はスタックポインタ
> なので基本的にはいじくってはいけません。(^^;

詳細な解説ありがとうございます! (^^)


> このコマンドは本来は読み込み済みのプログラムの先頭アドレスやサブプログラムの先頭アドレスを取得するためのコマンドだったのですが、その有効な使い道が思いつかないので、仕様が不定状態になっています。(^^;

ということは、うまく使えばサブプログラム判定もできそうですね。

あとは、プログラム内でプログラム名を取得するとかも出来ますね。

8→Dim Dim List1.B(ProgPtr(0)+60)
$List 1→Str 1

なかなかに応用が利きそうなコマンドなので、今後使う場面は出てきそうです。
ただ、今無理をして仕様を固める必要も無いと思います。

Re:Re: fn機能について。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>FEINT / FFM / SYSMNG での動作は大丈夫そうです。(^^)

ありがとうございます!
ということで、他のアプリでも問題なければ今後も08の仕様で構わないということになりますね。(^^)


>STORE ではそのようになりますね。

ですよね。(^^;


>その場合、具体的にはどのような仕様になるでしょうか?

クリップボードに何かあれば、クリップボードに入っている文字をSTOREで指定されたfnに入れます。
クリップボードに何も無ければ純正同様プログラムの頭から入る分だけ入れて、(もしくは一行分だけ)
という感じで考えています。
そして、
ショートカットとして、[MENU]+[←][→]でfn一覧を呼び出そうかと考えています。(^^)
難点は、行列の流用なので行列初期化で消えてしまうということなんですが、
この際、独立したメモリエリアにするというのもありかもですね。


>ところで、"SysCall()" コマンドについてですが、引数 1 - 4 が R4 - R7 に対応しているのはマニュアルに記載があります。
>引数 5 - 12 は R8 - R15 に対応しているという認識でよいでしょうか?

んと、R4~R7まではレジスタで直に渡されますが、
5~12はスタック渡しになるので、スタックに積まれて呼び出す形になります。
ですので、~12までという制限は無いのですが、SysCallの最大引数に対応している形です。


>また、OS の挙動から実行開始時にシステムコール番号を R0 に格納し、終了時に戻り値が R0 に入るのだろうと認識していますが、これは合っていますか?

はい、そのとおりです。(^^)


>"Call()" 関数もぼちぼち試してみたいのですが、実行開始時にアドレスはどのレジスタに格納され、終了時に戻り値はどのレジスタに入るでしょうか?

ぉお!
もしかして自作マシン語を動かすとかでしょうか?(^^)
レジスタの使われ方はSHシリーズにおけるC言語での関数呼び出し規則そのものなので、
アドレスはスタックに返り先として積まれて、
1番目の引数:R4
2番目の引数:R5
3番目の引数:R6
4番目の引数:R7
返り値;R0
となっています。

実行先で自由に使える=壊してもいいレジスタはR0~R7まで、R8~R13を使う場合は適宜保存復帰する必要があります。
R14はフレームポインタ
R15はスタックポインタ
なので基本的にはいじくってはいけません。(^^;


>"ProgPtr()" 関数ですが、マニュアルにあるような使い方だとエラーが出ます。
>このコマンドの仕様はどうなっているでしょうか?

このコマンドは本来は読み込み済みのプログラムの先頭アドレスやサブプログラムの先頭アドレスを取得するためのコマンドだったのですが、その有効な使い道が思いつかないので、仕様が不定状態になっています。(^^;
現在の仕様は、
(書式)ProgPtr(プログラムNo)
プログラムNoが1の場合は最初に読み込まれたプログラムの先頭アドレス。
(書式)ProgPtr("プログラム名")
"プログラム名"を持つサブプログラムの先頭アドレス。

ここでいう先頭アドレスはバイナリエディタでのアドレスよりさらにヘッダ部分の先頭まで遡ったアドレスになっています
(先頭アドレス+0x58=プログラム格納アドレス)

Re: fn機能について。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ってことで、そこだけ仕様変更したbuild08をアップしました。(^^)

FEINT / FFM / SYSMNG での動作は大丈夫そうです。(^^)

> プログラムのエディタでfnメモリーに記憶する場合、プログラム全体がまるごと入ってしまうようですが、そういう仕様なのでしょうか?(^^;

STORE ではそのようになりますね。

> 第二のクリップボードとして利用できそうな機能なので、
> クリップボードの内容を記憶するようにした方がよさそうな気がするのですがどうでしょうか?(^^)

その場合、具体的にはどのような仕様になるでしょうか?


ところで、"SysCall()" コマンドについてですが、引数 1 - 4 が R4 - R7 に対応しているのはマニュアルに記載があります。

引数 5 - 12 は R8 - R15 に対応しているという認識でよいでしょうか?
また、OS の挙動から実行開始時にシステムコール番号を R0 に格納し、終了時に戻り値が R0 に入るのだろうと認識していますが、これは合っていますか?

"Call()" 関数もぼちぼち試してみたいのですが、実行開始時にアドレスはどのレジスタに格納され、終了時に戻り値はどのレジスタに入るでしょうか?

"ProgPtr()" 関数ですが、マニュアルにあるような使い方だとエラーが出ます。
このコマンドの仕様はどうなっているでしょうか?

fn機能について。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
いつも素早い対応していただきまして感謝です。(^^)


ところで、UCFでリクエストありましたところの、fn機能に関することなのですが、
プログラムのエディタでfnメモリーに記憶する場合、プログラム全体がまるごと入ってしまうようですが、そういう仕様なのでしょうか?(^^;

第二のクリップボードとして利用できそうな機能なので、
クリップボードの内容を記憶するようにした方がよさそうな気がするのですがどうでしょうか?(^^)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その8

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

アップデート対応しました。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その8

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>弊害が無ければ OK だと思います。

了解しました!
ってことで、そこだけ仕様変更したbuild08をアップしました。(^^)

build07は従来仕様=C.Basicのステータス表示モードがONの場合に更新。(OSのフラグは無関係)
build08はC.Basicのステータス表示がONでOSの表示モードがOFFの場合にだけ更新。
という仕様になります。


>CHAR 画面出入り、連続入力のちらつき共に修正確認しました。(^^)

ありがとうございます!
これでとりあえず、ステータスエリア関連は一安心できますね。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その8
https://pm.matrix.jp/CB/CBASICCG145beta08.zip
(build08)
・OS側のステータス表示フラグがONの場合はステータスエリアの書き換えをしないように変更しました。

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 仕様変更で従来アプリに弊害が無ければ変更してもというところですが、どうでしょうか?(^^)

弊害が無ければ OK だと思います。

> ってことで、アップし直してます。m(_ _)m

CHAR 画面出入り、連続入力のちらつき共に修正確認しました。(^^)

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>おっ、それは良かったです。(^^)
>GetKey でのステータスエリア転送に少し癖があるのがミソですね。

仕様変更で従来アプリに弊害が無ければ変更してもというところですが、どうでしょうか?(^^)


>> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7
>G3A ファイルが build 06 のままになっております。(^^;
>確認お願いします。

うわ、ファイルアップしたところが間違えてました!(^^;

ってことで、アップし直してます。m(_ _)m


>興味深い資料をありがとうございます。(^^)

今回、ソースを見てもらった方が原因究明には早いというのが分かりましたので、
そのままg3aで確認できた方が何かと便利かもしれませんね。(^^)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ステータス非表示モードからの?コマンド(=一行入力)の開始時にアルファ表示ができない問題が解消されました。(^^)

おっ、それは良かったです。(^^)
GetKey でのステータスエリア転送に少し癖があるのがミソですね。

> 最初の2文字は大文字の"CB"でないとコマンドとして認識されません。(^^;
> その後の文字は大文字でも小文字でも可というところですね。

ありがとうございます!

> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7

G3A ファイルが build 06 のままになっております。(^^;

確認お願いします。

> もし、ビルドまで試したい場合にはこちらのビルドパックをお使いください。

興味深い資料をありがとうございます。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>コマンド終了時にステータスエリア表示を戻すという観点で言うと、
>無効で入った場合は無効、C.Basic 有効で入った場合は C.Basic で有効でコマンド終了しますが、
>OS 有効で入った場合に無効で出てしまう = 戻せないので中途半端な仕様ということにはなってしまうと思います。(^^;

あらためてC.BasiでのステータスエリアのOSフラグの無効/有効を考えてみると、基本的にOSフラグは常に無効な状態で走ってたわけです。
有効になるのはステータス表示が必要な?コマンドかGetKey1/2のときだけですね。
で、
プログラム実行時はステータス表示が有効でもOS側のフラグは常に無効になっているので、
?コマンドを出る場合も無効にして出るという感じになってました。


>変わるとはいえ、元々 OS 有効でコマンドに入った場合のみ処理が変わるので、あまり影響はないと思います。

あ、よく考えたら、そうでした!
OS有効/無効を維持する方向での仕様変更でステータス表示に影響が出そうなアプリがあるかと考えれば、
Colon様のアプリしか無いですので、ここは変えても特に問題無さそうですね!(^^)


>ちょっとややこしいですが、SysCall(0x2B7, 1) の返り値は、
>・ 無効 = 0
>・ 有効 = 1

>ですので、SysCall(0x2B7, 0) / SysCall(0x2B7, 2) / SysCall(0x2B7, 3) とは異なる値になります。

>WikiPrizm や Simon の文書にはここまでの記載はありませんでしたね。(^^;

うわ……
すみません!!
設定時の値がそのまま返っているとばかり…思いっきり間違えてました!(^^;


>上の処理ってなんでしょうか?

そこは、返り値を逆に考えた間違いなので、すべて取り消しです。(^^;


>私も最初はここの仕様で苦戦しました。(^^;

Colon様でも苦戦されてたんですね。(^^;
じゃ、私が混乱してたのも当然といえば当然の結果ですね。(^^;


>タイミング的にも PutDispDD は全く関係ありません。
>ちょっと実験してみます。

詳細な実験プログラムをありがとうございます!(^^)
表示の条件が分かったことが大きな収穫です。
ステータス非表示モードからの?コマンド(=一行入力)の開始時にアルファ表示ができない問題が解消されました。(^^)


>すみません、これまたそこではなくて、(^^;
>例えば '#CBDBL ではデフォルトに戻る、'#cbdbl ではデフォルトに戻らない、大文字小文字混在では戻ったり戻らなかったりするという動作をしているので、その基準が知りたいです。

最初の2文字は大文字の"CB"でないとコマンドとして認識されません。(^^;
その後の文字は大文字でも小文字でも可というところですね。


>ソースコードを読んでみましたが、多分誤動作の原因が分かりました。
>というわけで、引数の順番が違うのが誤動作の原因ではないでしょうか?

おおおおお!
ビンゴです!大当たりです!!!
なんとまぁ、初歩的なポカというかなんというかお恥ずかしい限りです。(^^;


ってことで、修正版のアップデートです。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その7
https://pm.matrix.jp/CB/CBASICCG145beta07.zip
(build07)
・エミュレータで隠しメモリが使えるようになりました。


もし、ビルドまで試したい場合にはこちらのビルドパックをお使いください。
https://pm.matrix.jp/CB/fxCG_miniSDK_1_09_for_C.BasicCG.zip
今回のbuild07がビルドできる状態の完パケです。(^^)

CHAR 画面 誤動作の原因判明?

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
ソースコードを読んでみましたが、多分誤動作の原因が分かりました。

CHAR 画面からの復帰時にメッセージが元に戻らないことについて、ぱっと見では問題点が見当たりません。
フラグは戻せていますから、可能性が高いのは SysCall 0x2B9 が実行できていないということです。
そして、SysCall 0x2B9 には "SysCalljmp" 関数が使われています。

ソースコード内を "SysCalljmp" で検索をかけてみたところ、3952 行目に

SysCalljmp( 4,5,6,7,0x17E6); // CAPTURE

という記述がありました。キャプチャを撮る操作は正常に動作します。

また、"CG_SysCall.asm" には

;int SysCalljmp( int r4, int r5, int r6, int r7, int No);

という記述があります。

これらは SysCalljmp( 引数 1, 引数 2, 引数 3, 引数 4, システムコール番号) という文法ですが、
"CBP_inp.cpp" の 653 行目、660 行目、1153 行目、3474 行目、3510 行目では、SysCalljmp( システムコール番号, 引数 1, 引数 2, 引数 3, 引数 4) という順番になっています。

というわけで、引数の順番が違うのが誤動作の原因ではないでしょうか?

システムエラーにならなかったのは、最後の引数を 0 にしていたからかな、と思います。(^^;


確認よろしくお願いします。

Re^11: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 1.44までの仕様ではOS側の表示モードは常に無効になってます。(^^;

コマンド終了時にステータスエリア表示を戻すという観点で言うと、
無効で入った場合は無効、C.Basic 有効で入った場合は C.Basic で有効でコマンド終了しますが、
OS 有効で入った場合に無効で出てしまう = 戻せないので中途半端な仕様ということにはなってしまうと思います。(^^;

> ?コマンドでこの処理を付け加えると、仕様が変わってしまうということですよね?

変わるとはいえ、元々 OS 有効でコマンドに入った場合のみ処理が変わるので、あまり影響はないと思います。

> ここは入る前に無効=3ならばC.Basicは無効でOS側を有効=0にして出るということで合ってるでしょうか?

いいえ、入る前に OS 有効 = 1 ならば C.Basic 無効、OS 有効 = 0 にして出るということです。

ちょっとややこしいですが、SysCall(0x2B7, 1) の返り値は、
・ 無効 = 0
・ 有効 = 1

ですので、SysCall(0x2B7, 0) / SysCall(0x2B7, 2) / SysCall(0x2B7, 3) とは異なる値になります。

WikiPrizm や Simon の文書にはここまでの記載はありませんでしたね。(^^;


> 上の処理がなんかおかしい気がするのですが?

上の処理ってなんでしょうか?

ともかく、連続入力時はカーソルがちらっと表示されれば良いだけなので、ステータスエリアはほっとけば良いような気はするんですが、そう上手くはいかないんでしょうか? (^^;


> CBP_inp.cppの
> 652行目からがCHAR選択での入る前処理、
> 1152行目からが出る処理です。

> で、一行入力は、3447行目から始まりますが、従来仕様に戻してるので前処理はありません。
> 3575で〈ステータスエリアに重ならない部分で ? コマンドが実行された場合)にステータスイネーブルになってます。
> 出るときは、4110行からです。

ありがとうございます!! (^^)
後程じっくり読んでみます。


> あ、やっぱりそうなんですね。(^^;
> ありがとうございます!
> 表示の仕組みがやっと分かりかけました。(^^)

私も最初はここの仕様で苦戦しました。(^^;


> ステータスエリアは16色表示なので、VRAM内容とは無関係に表示されているわけですよね。

後述するように、ステータスエリアが VRAM に転送される場合もあるようなので、これまた難しいです。

> EnableStatusArea と DisplayStatusAreaでステータス有効にして、
> PutDispDDのタイミングでVRAMとは別に転送されるという解釈でよろしいでしょうか?

タイミング的にも PutDispDD は全く関係ありません。

ちょっと実験してみます。

========================================
'#CBINT
Screen.T
{216, 384}→Dim Dim Mat T.W(System(2))
_ClrVram
_DispVram

Locate 1, 1, "DISABLE"

Do
SysCall(0x0EAB, &K%) // GetKey
LpWhile K≠0x7534 // [EXE]

SysCall(0x2B7, 0) // EnableStatusArea
SysCall(0x1D81) // DisplayStatusArea

Locate 1, 1, "ENABLE□"

SysCall(0x0EAB, &K%) // GetKey 2 回目
'SysCall(0x0EAB, &K%) // GetKey 3 回目
'SysCall(0x1D81) // DisplayStatusArea 2 回目

Do
PutDispDD
LpWhile 1
========================================

2 回目の GetKey で [SHIFT] を押してみてください。

PutDispDD で転送されると仮定すれば、無限ループ時に [S] のアイコンが表示されるはずですが、実際は表示されていません。

また、VRAM の内容を確認するために Mat T を見ても、[S] が転送されていないのが分かります。

これは、PutDispDD を _DispVram に置き換えても同様です。


では、DisplayStatusArea 2 回目 のコメントアウトを解除して同じことをしてみます。

すると、[S] が表示されます。
Mat T を確認しても [S] が表示されているのが分かります。


次に、GetKey 3 回目 をコメント解除、DisplayStatusArea 2 回目 をコメント化します。
GetKey 2 回目 で [SHIFT]、3 回目で [ALPHA] を押してみましょう。

すると、画面には [S] が表示され、VRAM にも [S] が転送されているのが分かります。


最後に、GetKey 3 回目 をコメント解除、DisplayStatusArea 2 回目 もコメント解除します。
GetKey 2 回目 で [SHIFT]、3 回目で [ALPHA] を押してみます。
すると、画面・VRAM ともにアルファロックアイコンが表示されるのが分かります。


これらの結果からまとめると、次のようになります。
・ PutDispDD はステータスエリアの表示タイミングに関係ない
・ DisplayStatusArea は、ステータスエリアを "即" LCD と VRAM に転送する
・ GetKey はステータスエリアを LCD と VRAM に転送するが、そのタイミングは次の GetKey 実行時である

[訂正 16:44] PutDispDD をコメント化して確かめるのを忘れていました。正しくは
・ DisplayStatusArea は、ステータスエリアを "即" VRAM に転送する

です。失礼しました。

> それはC.Basicのステータス表示モードによって戻る戻らないが決定されます。
> _DispVram実行後の全画面モード=ステータス非表示であればステータスは変更されない仕様です。(^^)

すみません、これまたそこではなくて、(^^;
例えば '#CBDBL ではデフォルトに戻る、'#cbdbl ではデフォルトに戻らない、大文字小文字混在では戻ったり戻らなかったりするという動作をしているので、その基準が知りたいです。

Re^10: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>? コマンドに入る前に OS 側で有効にしていた場合、コマンド終了後にステータスエリアが無効になってしまっているようです。

1.44までの仕様ではOS側の表示モードは常に無効になってます。(^^;


>コマンドに入る際は以下の処理が必要だと以前お伝えしましたが、出る際の処理を忘れていました。(^^;

?コマンドでこの処理を付け加えると、仕様が変わってしまうということですよね?


>? コマンド終了時に次の処理が必要になります。
>If a% : Then
>_DispVram
>SysCall(0x02B7, 0)

ここは入る前に無効=3ならばC.Basicは無効でOS側を有効=0にして出るということで合ってるでしょうか?


>まだチラチラしていますので、別の原因があるかと思います。

上の処理がなんかおかしい気がするのですが?


>取り敢えず、"?" コマンドと CHAR 画面、ステータスエリアに関する部分がソースのどのファイルに入っているか教えていただけませんか?
>電卓上だけで調べるのは無理がありそうなので、ソースを直接確認したいです。(^^;

すみません!
最初からソースで検討した方が早かったですね。(^^;

CBP_inp.cppの
652行目からがCHAR選択での入る前処理、
1152行目からが出る処理です。

で、一行入力は、3447行目から始まりますが、従来仕様に戻してるので前処理はありません。
3575で〈ステータスエリアに重ならない部分で ? コマンドが実行された場合)にステータスイネーブルになってます。
出るときは、4110行からです。


>OS の動作としては、原則として PutDispDD は関係ありません。

あ、やっぱりそうなんですね。(^^;


>以下、サンプルプログラムです。
>非表示から表示に切り替える際に EnableStatusArea と DisplayStatusArea を実行すれば、その後は GetKey の度に自動で更新されます。

ありがとうございます!
表示の仕組みがやっと分かりかけました。(^^)

ステータスエリアは16色表示なので、VRAM内容とは無関係に表示されているわけですよね。

>SysCall(0x2B7, 0) // EnableStatusArea
>SysCall(0x1D81) // DisplayStatusArea

EnableStatusArea と DisplayStatusAreaでステータス有効にして、
PutDispDDのタイミングでVRAMとは別に転送されるという解釈でよろしいでしょうか?


>連動していないのってそのせいでしたか。(^^;

はい、なぜか最初からOSののステータス非表示がデフォルトになっていたようです。(他人事モード(^^;
で、表示させるときだけ有効にするだけだったので、
この前にそれを連動させたらColon様アプリで動作がおかしくなったので元に戻した次第です。(^^;


>あ、そこではなくて、デフォルトに戻る場合と戻らない場合の判定方法です。(^^;

それはC.Basicのステータス表示モードによって戻る戻らないが決定されます。
_DispVram実行後の全画面モード=ステータス非表示であればステータスは変更されない仕様です。(^^)

Re^9: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 従来よりステータス表示モードの場合はデフォルトのステータス表示に戻ることになっています。
> ステータス非表示モードでは何もしない仕様です。
> ので、ここを完全に抜くと以前と仕様が変わってしまいます。(^^;

すみません、別の不具合を勘違いしていました。

? コマンドに入る前に OS 側で有効にしていた場合、コマンド終了後にステータスエリアが無効になってしまっているようです。

コマンドに入る際は以下の処理が必要だと以前お伝えしましたが、出る際の処理を忘れていました。(^^;

========================================
SysCall(0x02B7, 1)→a%
System(−8)→b%

If a%=0 And b%=0 And 〈ステータスエリアに重ならない部分で ? コマンドが実行された場合〉: Then

PutDispDD

IfEnd
========================================

? コマンド終了時に次の処理が必要になります。

========================================
If a% : Then
_DispVram
SysCall(0x02B7, 0)

ElseIf b% : Then
PutDispDD

Else
_DispVram
SysCall(0x02B7, 3)

IfEnd
========================================

追加よろしくお願いします。


> ステータス表示を戻すためにPutDispDDを入れてました。
> このせいでまた連続入力モードのチラチラが復活してますね。(^^;
> とりあえず、CHAR選択の出口のPutDispDDを外した版です。(^^)

まだチラチラしていますので、別の原因があるかと思います。

> で、これを外すと、今度はステータス表示が元に戻らないようなので、さて?どうしたものかというところです。(^^;
> これはメッセージが完全に復帰していないからということでしょうか?(^^;

私が確認する限り不具合の発生箇所は変わっていません。

取り敢えず、"?" コマンドと CHAR 画面、ステータスエリアに関する部分がソースのどのファイルに入っているか教えていただけませんか?
電卓上だけで調べるのは無理がありそうなので、ソースを直接確認したいです。(^^;

> 0x1D81で表示オン
> ステータスエリアをPutDispDDすれば表示される。

> と認識してますが、これって合ってますか?

OS の動作としては、原則として PutDispDD は関係ありません。

以下、サンプルプログラムです。

========================================
_ClrVram
_DispVram

Locate 1, 1, "DISABLE"

Do
SysCall(0x0EAB, &K%) // GetKey
LpWhile K≠0x7534 // [EXE]

SysCall(0x2B7, 0) // EnableStatusArea
SysCall(0x1D81) // DisplayStatusArea

Locate 1, 1, "ENABLE□"

Do
SysCall(0x0EAB, &K%) // GetKey
LpWhile K≠0x7534 // [EXE]

========================================

非表示から表示に切り替える際に EnableStatusArea と DisplayStatusArea を実行すれば、その後は GetKey の度に自動で更新されます。


> C.Basicではステータスエリアの書き換えのあとは、
> 0x02B7を3にしてディスエーブル状態になっています。

連動していないのってそのせいでしたか。(^^;


> 判定は
> '#CB
> に続く文字が、
> "B","b","D",d"ならば実数モード
> "I","i"ならば整数モード
> "C","c"ならCPLXモードとなっています。(^^)

あ、そこではなくて、デフォルトに戻る場合と戻らない場合の判定方法です。(^^;


以上、よろしくお願いします。

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>差替えアップデート、対応しました。

早速の対応ありがとうございます!(^^)



Colon様、
>Getkey1/2 の度にステータスエリアが C.Basic デフォルトになるので、
>そこの処理を抜いていただくようお願いします。

従来よりステータス表示モードの場合はデフォルトのステータス表示に戻ることになっています。
ステータス非表示モードでは何もしない仕様です。
ので、ここを完全に抜くと以前と仕様が変わってしまいます。(^^;


>フラグの復帰は正常です。

>しかし、ステータスメッセージ関係が戻せていないようです。
>一応メッセージ内容復帰ルーチンは正しく動くようなので、復帰時に私のルーチン以外の箇所で DefineStatusMassage を実行していませんか?
>もしそうでしたら抜いてください。

CHAR選択でのコードは入口も出口も全く同様にしたつもりなのですが、
ステータス表示を戻すためにPutDispDDを入れてました。
このせいでまた連続入力モードのチラチラが復活してますね。(^^;

で、これを外すと、今度はステータス表示が元に戻らないようなので、さて?どうしたものかというところです。(^^;
これはメッセージが完全に復帰していないからということでしょうか?(^^;


ところで、
ステータス表示されてない状態から表示するための段取りは、

0x1D81で表示オン
ステータスエリアをPutDispDDすれば表示される。

と認識してますが、これって合ってますか?


で、ステータスエリアの書き換えはこうなっています。

0x02B7でステータスイネーブルにして、
0x02B8でフラグを設定して、
0x1D77で文字列転送
0x1D7Bでグリフ転送
0x1D81で表示オン //これは要らないかも?
ステータスエリアをPutDispDDすれば表示される。


C.Basicではステータスエリアの書き換えのあとは、
0x02B7を3にしてディスエーブル状態になっています。


元々はCHAR画面に入ったあとで表示が戻らないことを修正するためだったはずが、なかなか一筋縄ではいきませんね。(^^;



>この通りに入力しても動作しませんが、タイポではないでしょうか? (^^;
>冒頭に ' が付くのが正しいという認識でよいですか?

はい、
これは、C.Basicの動作モードを変更するコマンドと同じです。(^^)

判定は
'#CB
に続く文字が、
"A","a","D",d"ならば実数モード
"I","i"ならば整数モード
"C","c"ならCPLXモードとなっています。(^^)
それ以上はあってもなくてもコマンド判定に関係ありません。(^^;


ってことで、
とりあえず、CHAR選択の出口のPutDispDDを外した版です。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活再修正版
https://pm.matrix.jp/CB/CBASICCG145beta06b.zip

Re^7: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
Getkey1/2 の度にステータスエリアが C.Basic デフォルトになるので、
そこの処理を抜いていただくようお願いします。

> Colon様のCHAR画面の出入りルーチンをやっとこ組み込みました。(と思います)(^^)

フラグの復帰は正常です。

しかし、ステータスメッセージ関係が戻せていないようです。
一応メッセージ内容復帰ルーチンは正しく動くようなので、復帰時に私のルーチン以外の箇所で DefineStatusMassage を実行していませんか?
もしそうでしたら抜いてください。

※ 先日ルーチンを載せた際に、"While" に対して "WhileEnd" とすべきところが "LpWhile" となっていました。失礼しました。m(_ _)m


ところで、連続入力モードでのチラチラが再発しています。(^^;


> それ以外は同じ仕様ですが、デフォルトのステータス表示にする機能が必要かもということで、追加してみました。(^^)

助かります! (^^)

> #CBASIC
> #CBDBL
> #CBINT
> #CBCPLX

この通りに入力しても動作しませんが、タイポではないでしょうか? (^^;
冒頭に ' が付くのが正しいという認識でよいですか?

また、' を付けた上で、これ以外の大文字小文字混在時にも C.Basic デフォルトに戻るときがあります。
判定はどのようになっているでしょう?

Re^6: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

差替えアップデート、対応しました。

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

お待たせです。
Colon様のCHAR画面の出入りルーチンをやっとこ組み込みました。(と思います)(^^)

それ以外は同じ仕様ですが、デフォルトのステータス表示にする機能が必要かもということで、追加してみました。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活再修正版
https://pm.matrix.jp/CB/CBASICCG145beta06.zip
(build06)
・以下のコマンドでステータス表示が更新されるようにしました。
#CBASIC
#CBDBL
#CBINT
#CBCPLX

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>FEINT で、"Showing current font" の後、{LOAD} に入って、CHAR 画面を出入りすると分かりますが、CHAR 画面の前後で表示内容が変わっています。

>CHAR 画面から出る際に、C.Basic デフォルトに戻す動作が入っていませんか?
>もしくは、私が出した復帰ルーチンを入れる箇所が誤っていませんか?

はい、C.Basic デフォルトに戻す動作が入ってました。(^^;
ってことで、Colon様のアプリでの書き換えへの対応が全然出来てませんでした。(^^;

そもそもCHAR画面はステータスエリアを書き換えていたんですよね。(^^;
元に戻すにはCHAR画面に入る前にステータスエリア情報を全部取得した上で、出る時に復帰しないと駄目だったんですね。
ということで、
しばしお待ち下さい。(^^;

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> CHAR選択から戻すために一行入力でC.Basicデフォルトにしてました。(^^;
> ということで、そのまま表示するように戻しました。(^^)

FEINT で、"Showing current font" の後、{LOAD} に入って、CHAR 画面を出入りすると分かりますが、CHAR 画面の前後で表示内容が変わっています。

CHAR 画面から出る際に、C.Basic デフォルトに戻す動作が入っていませんか?
もしくは、私が出した復帰ルーチンを入れる箇所が誤っていませんか?

確認お願いします。


> 行ったり来たり状態ですね。(^^;
> あ゛…判定ミスでした。
> ってことで、修正版です。(^^)

修正確認しました。(^^)

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>今回のバージョンの動作が正しい、ということにすれば良いと思います。(^^)

了解です。(^^)


>"Power Properties" で動作確認しましたが、ちゃんと入力前後でステータスエリアの表示状態が戻っていますね。(^^)
>ところで、"?" コマンドに入る度にステータスエリアのフラグを建て直していますか?

んと、入力時にOSとC.Basicのステータスフラグを一時保存しておいて、出る時に状態を復帰する感じですね。
復帰といっても、一行入力ではステータス表示するのがデフォですから、
ステータスエリアが非表示だった場合にだけ元の非表示にOSもC.Basicも両方戻すというところです。
最初から表示状態だった場合は表示フラグはそのままで、ステータスラインの内容は戻りません。(^^;


>"Power Properties" の入力時、v1.44 以前では私がカスタマイズしたステータスラインの内容でしたが、今回のバージョンでは C.Basic のデフォルトになっているようです。
>見た目的には従来の方が良いと思います。

CHAR選択から戻すために一行入力でC.Basicデフォルトにしてました。(^^;
ということで、そのまま表示するように戻しました。(^^)


>それから、CHAR 画面の連続入力時にステータスラインが変になるので、そこを直していただければと思います。

行ったり来たり状態ですね。(^^;


>FEINT / FFM では大丈夫そうです。
>SYSMNG は次の理由により動作確認できていません。
>これですが、System(−7) の戻り値が従来の逆になってしまっています。
>従って、"Display Settings" の動作確認ができていません。(^^;

あ゛…判定ミスでした。
ってことで、修正版です。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活再修正版
https://pm.matrix.jp/CB/CBASICCG145beta06.zip
(build06)
・一行入力時のステータスエリアの表示を改善しました。
・エミュレータの判定方法をハードウェアID判定に変更しました。(0x8001FFD)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 了解です!
> ってことで、とりあえず元仕様に戻しました。(^^;

確認しました。


> 今回のアップデートでアルファモードが表示するようになったんですが、これはひょっとしてエンバグでしょうか?(^^;

あ、見落としておりました。(^^;
私が出した以下のルーチンで、元々ステータスエリア表示が無い場合に "PutDispDD" を挟むようにしたためですね。

となると、この部分に関して FEINT の修正は必要なくなります。

今回のバージョンの動作が正しい、ということにすれば良いと思います。(^^)

========================================

SysCall(0x02B7, 1)→a%
System(−8)→b%

If a%=0 And b%=0 And 〈ステータスエリアに重ならない部分で ? コマンドが実行された場合〉: Then

PutDispDD

IfEnd

// それ以外の場合はいじらない

========================================

> 一行入力時に入り口と出口で元のステータス表示状態に戻るようにしてみました。

"Power Properties" で動作確認しましたが、ちゃんと入力前後でステータスエリアの表示状態が戻っていますね。(^^)

ところで、"?" コマンドに入る度にステータスエリアのフラグを建て直していますか?

"Power Properties" の入力時、v1.44 以前では私がカスタマイズしたステータスラインの内容でしたが、今回のバージョンでは C.Basic のデフォルトになっているようです。

見た目的には従来の方が良いと思います。

それから、CHAR 画面の連続入力時にステータスラインが変になるので、そこを直していただければと思います。

> FEINT/FFM/SYSMNGでの動作チェックでは上手くいったような気配ですが、どうでしょうか?(^^;

FEINT / FFM では大丈夫そうです。
SYSMNG は次の理由により動作確認できていません。

> ・エミュレータの判定方法をハードウェアID判定に変更しました。(0x8001FFD)

これですが、System(−7) の戻り値が従来の逆になってしまっています。
従って、"Display Settings" の動作確認ができていません。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>"Showing current font" でステータスラインが出なくなります。

不具合出まくりですね。(^^;

>私としてはどっちでもいいです。
>ただ、楽なのは従来通りかと。(^^;

了解です!
ってことで、とりあえず元仕様に戻しました。(^^;


>あ、それは FEINT 側の仕様です。(^^;
>? コマンドの CHAR 画面の不具合があったので、「『表示する』にしない」という動作にしていました。
>※ 「表示しない」ではありません。

今回のアップデートでアルファモードが表示するようになったんですが、これはひょっとしてエンバグでしょうか?(^^;


>すみません、ちょっと質問の意図がわかりませんでしたが、(^^;
>完璧に合わせるように修正をかける、というのでしたら FEINT / FFM / SYSMNG のソースは変更必須です。

アプリ側の修正で従来のC.Basicで動作がおかしくなってしまうようなことがなければいいのですが、その影響は必至ですし、
今回のC.Basic側の修正だけで従来アプリも含めて全部が動作Okになれば、ということだったんですが、
どちらにしてもアプリ側での修正が必要となれば、従来からの動作互換性を保ったままで、より少ない修正で済ますのが吉ですね。(^^)

という観点からBulild06は一致させることはせずに、
一行入力時に入り口と出口で元のステータス表示状態に戻るようにしてみました。

FEINT/FFM/SYSMNGでの動作チェックでは上手くいったような気配ですが、どうでしょうか?(^^;



管理人様、
>そこで、UTF-8 を UTF-8(BOM付き)に変換してアップロードしました。
>できれば、UTF-8(BOM付き) にして頂けると助かります。ANSIでも問題ありません。
>ご検討頂けませんか?

了解です!
BOM付きにして同梱し直しました。(^^)


>C.basic for FX に、次のファイルが同梱されています;
>Command_List_CG.txt
>これは、何か意図があるのでしょうか?

同梱ミスでした。(^^;


>さて、C.Basic 最新版と旧版ダウンロードのページに "マニュアル" / "Instruction" の項目を追加して、このページからも同梱テキストファイルを参照できるようにリンクを追加しました。
ありがとうございます!(^^)



C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6復活版
https://pm.matrix.jp/CB/CBASICCG145beta06.zip
(build06)
・一行入力時のステータスエリアの表示を改善しました。
・エミュレータの判定方法をハードウェアID判定に変更しました。(0x8001FFD)


C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その6
https://pm.matrix.jp/CB/CBASIC245beta06.zip
(build06)
・エミュレータの判定方法をハードウェアID判定に変更しました。(0x8000FFD)

同梱のテキストファイルについて

sentaro様、Colon様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

ところで、同梱されているテキストファイルですが、殆どが ANSI は UTF-8 (BOM付き) ですが、最新の Manual_J.txt が UFT-8 になっているのに気がつきました。

というのは、このエントリーでは、コマンドリファレンスとして、ManuL_J.txt にリンクして表示するようにしていますが、UTF-8 だと文字化けしてしまう仕様のようなのです。UFT-8(BOM付き)かANSIなら文字化けしないようです。

そこで、UTF-8 を UTF-8(BOM付き)に変換してアップロードしました。
できれば、UTF-8(BOM付き) にして頂けると助かります。ANSIでも問題ありません。

ご検討頂けませんか?


C.basic for FX に、次のファイルが同梱されています;

Command_List_CG.txt

これは、何か意図があるのでしょうか?


さて、C.Basic 最新版と旧版ダウンロードのページに "マニュアル" / "Instruction" の項目を追加して、このページからも同梱テキストファイルを参照できるようにリンクを追加しました。

本エントリーでは既にテキストファイルへのリンクを掲載していますが、英語版テキストファイルへのリンクはしていません。

そこで、海外からのアクセスを考慮して、Get Latest Version のページからマニュアルを参照できるようにしたわけです。

https://egadget2.web.fc2.com/CBasic/archives/programs/CBasicCG/Versions/CBasicCG_versions_JP.html

https://egadget2.web.fc2.com/CBasic/archives/programs/CBasicCG/Versions/CBasicCG_versions.html

https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/CBasic_versions_JP.html

https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/CBasic_versions.html




Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> FEINTでチェックしたときは上手く行ったと思ったんですが、

"Showing current font" でステータスラインが出なくなります。

> 表示状態は一致させた方がいいかなと思ったんですが、
> 一致させようとすると従来のアプリで不具合が出るとなると、
> 従来どおりの別々でも特に不都合はなさそうでしょうか?(^^;

私としてはどっちでもいいです。
ただ、楽なのは従来通りかと。(^^;

> 前の合わせない仕様だと、FEINTでアルファモード表示がされない不具合が残ってたんですよね。

あ、それは FEINT 側の仕様です。(^^;
? コマンドの CHAR 画面の不具合があったので、「『表示する』にしない」という動作にしていました。
※ 「表示しない」ではありません。

CHAR 画面からの復帰を直して貰ってかつステータスエリアの仕様が固まってから修正をかけようと思っていました。
というわけで、従来の仕様でも ? コマンドの直前に "PutDispDD" を割り込ませれば直ります。

> 今度はFFM/SYSMNGでステータスエリアが表示されなくなります。(^^;

私がソース内で毎回 "_DispVram" を入れているのが原因です。

従来の仕様だと "_DispVram" を実行しても OS 側のステータスエリアの表示有無に影響はなかったので、今回の変更で不具合が出たという感じです。

> これは、現在の合わせる仕様を修正していくことで、プログラム変更なしで不具合なく動作させることが可能でしょうか?

すみません、ちょっと質問の意図がわかりませんでしたが、(^^;

完璧に合わせるように修正をかける、というのでしたら FEINT / FFM / SYSMNG のソースは変更必須です。

別々に戻す、ということであれば FFM / SYSMNG のソースは変更不要、FEINT は修正により正常動作するようになります。

C.Basic と OS で別々に動いているな、というのは以前から気づいていたので、"_DispVram" を割り込ませて OS 側で制御できるようにしていました。
言い換えれば別々に動く前提で作ったアプリなので、OS と C.Basic で同期させるとなると正常動作しなくなるわけです。

私としては直せばいいだけですが、各ユーザーに再インストールを強いることにはなりますね。(^^;

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>一致しておりません。(^^;

あ゛…まだまだ甘かったようです。(^^;


>FEINT / FFM / SYSMNG の動作が色々とおかしくなってしまったようですが、

FEINTでチェックしたときは上手く行ったと思ったんですが、
FFMとSYSMNGがステータスエリアが思いっきり消えちゃってますね。(^^;


>ステータスエリア表示状態が一致しているかどうかで私の対応が変わってくるので、まずそこの確認をお願いします。
>それから、私の出したルーチンも OS と C.Basic で別々の設定になっている前提だったので、一致させるなら一致させるで再検討ということになります。(^^;

表示状態は一致させた方がいいかなと思ったんですが、
一致させようとすると従来のアプリで不具合が出るとなると、
従来どおりの別々でも特に不都合はなさそうでしょうか?(^^;

前の合わせない仕様だと、FEINTでアルファモード表示がされない不具合が残ってたんですよね。
で、合わせる仕様にするとすれば、それは解消できても、
今度はFFM/SYSMNGでステータスエリアが表示されなくなります。(^^;

これは、現在の合わせる仕様を修正していくことで、プログラム変更なしで不具合なく動作させることが可能でしょうか?

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> OSとC.Basicでのステータスエリア表示情報を一致させるようにした上で、

一致しておりません。(^^;

> まだ不十分かもしれないので、チェックの方、よろしくお願いします。(^^)

FEINT / FFM / SYSMNG の動作が色々とおかしくなってしまったようですが、
ステータスエリア表示状態が一致しているかどうかで私の対応が変わってくるので、まずそこの確認をお願いします。

それから、私の出したルーチンも OS と C.Basic で別々の設定になっている前提だったので、一致させるなら一致させるで再検討ということになります。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
連日の更新対応ありがとうございます!(^^)
またまた今日も更新です。(^^;


Colon様、
OSとC.Basicでのステータスエリア表示情報を一致させるようにした上で、
一行入力前の処理をColon様の仰せの通り修正したところ、
非表示からの入力でも、とりあえず上手くいったようなのですが、
まだ不十分かもしれないので、チェックの方、よろしくお願いします。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その6
https://pm.matrix.jp/CB/CBASICCG145beta06.zip
(build06)
・一行入力時のステータスエリアの表示を改善しました。
・OSとC.Basic内のステータスエリア表示情報を一致させました。



@CalcLoverHK
Fixed the bug that does not work with the emulator.(^^)
https://pm.matrix.jp/ftune2e.html

Re^4: CHAR 画面からの復帰方法

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 一行入力に入った時点でステータスエリアをイネーブルにしてますのでステータス表示するのが前提です。(^^;

あ、それだと OS 側のステータスエリアが有効だったときに、? コマンドに入った段階でステータスエリアの状態が変わってしまいます。(^^;

? コマンドに入る段階で次の処理を追加できますか?

========================================

SysCall(0x02B7, 1)→a%
System(−8)→b%

If a%=0 And b%=0 And 〈ステータスエリアに重ならない部分で ? コマンドが実行された場合〉: Then

PutDispDD

IfEnd

// それ以外の場合はいじらない

========================================

OS 側と C.Basic 側を切り替えたときにステータスエリアのフラグなどが変わっているっぽいのですが、こうすれば切り替えが必要ないはずです。

これで上手くいかなければまた改善します。

Re^3:CHAR 画面からの復帰方法

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

C.Basic for CG Ver 1.45 build 05 のアップデート対応、昨晩行っております。

仕事で、夜中のフィールド実験があったため、余裕がなくて対応だけしました。

Re:Disable Ftune/Ptune completely in some emulators?

@CalcLoverHK

The old FX emulator is SH3. They work with Ftune.
The CG10/20/50 and 35+EII is SH4A. They work with Ptune2/Ftune2.

The old FX emulator cannot work voltage display.
This is the cause of the system error.
It is not an error in SH4 emulator.

I'll fix them.(^^)

Re:CHAR 画面からの復帰方法

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>修正確認しました。

ありがとうございます!(^^)


>現状次のような動作になっているようです。

>まず、"PutDispDD" を実行すると C.Basic 側では有効になり、OS 側では無効固定となります。

>また、"SysCall(0x2B7, 0)" を実行すると OS 側では有効になり、C.Basic 側では無効固定になります。

全然合ってませんね。(^^;


>CHAR 画面が絡んでくるので私の方で事前に動作確認しきれていませんが、(^^;
>C.Basic のコードでサンプルが出来ました。

おお!ありがとうございます!!


>流れとしては、

>1. ? コマンドに入る (ステータスエリアは弄らない)

一行入力に入った時点でステータスエリアをイネーブルにしてますのでステータス表示するのが前提です。(^^;
(ただし、ステータスエリアに重なる部分でで?コマンドが実行された場合は非表示です。)

>2. {CHAR} が押されたら現在のステータスエリアの状態を取得する。
>3. CHAR 画面に入る
>4. CHAR 画面から出る際、2. で得た情報をもとに復帰する。
>5. ? コマンドを出る

CHAR画面の対応はそれで良さそうですね。
試してみます!(^^)

Disable Ftune/Ptune completely in some emulators?

Hi sentaro21

Well as we tested, overclocking doesn't have effects on most emulators except CG10/20 one, thus making the Ftune/Ptune useless on these emulators. More importantly, when I installed Ftune with fx-9860GII emulator, it gave me "System ERROR Interrupt" message, which is not a good thing at all as somewhere may be changed and even may affect the emulators (I guess). Could you tell the new users about this and/or disable the overclocking feature on these emulators to prevent misoperations?

Messages in manuals:
Note: Ftune/Ptune will not work in most emulators except CG10/20 emulator. To prevent misoperations, Ftune/Ptune is disabled in these emulators. Please consider using Ftune/Ptune in actual models.

Messages in add-in:
"Emulator detected."
"Please use actual"
"models."

Cheers
CalcLoverHK

CHAR 画面からの復帰方法

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、

CHAR 画面が絡んでくるので私の方で事前に動作確認しきれていませんが、(^^;
C.Basic のコードでサンプルが出来ました。

流れとしては、

1. ? コマンドに入る (ステータスエリアは弄らない)
2. {CHAR} が押されたら現在のステータスエリアの状態を取得する。
3. CHAR 画面に入る
4. CHAR 画面から出る際、2. で得た情報をもとに復帰する。
5. ? コマンドを出る

ということになります。

変数は以下の通りですので、名前をつけるなり領域を解放するなりは適宜お願いします。

// A% …… OS でステータスラインが有効か
// B% …… C.Basic でステータスラインが有効か
// C% …… ステータスエリアのアイコンに関するフラグ
// D% …… ステータスメッセージの開始アドレス
// E% …… ステータスメッセージのバイト数
// List 53[0] …… ステータスエリアの背景色 1
// List 53[1] …… ステータスエリアの背景色 2
// List 54 …… ステータスメッセージに関する情報
// List 55 …… メッセージのアドレス範囲の参照
// Str 1 …… メッセージ内容のコピー

========================================
〈CHAR 画面に入る直前〉

SysCall(0x02B7, 1)→A%
System(−8)→B%

2→Dim List 53.B0
12→Dim List 54.B0

SysCall(0x02B8, 2, 0, &List 53[0], &List 53[1])→C%
SysCall(0x02B9, 1, 0, &List 54)→D%

0→E%
While Peek(D%+E%).B
E%+1→E%
LpWhile

E%+1→Dim Dim List 55.B1(D%)
$List 55→Str 1

ClrList 55

========================================

〈CHAR 画面〉

========================================
〈CHAR 画面から復帰する〉

SysCall(0x02B8, 3, C%, &List 53[0], &List 53[1])
SysCall(0x02B9, 2, &Str 1, &List 54)

If A% : Then
_DispVram
SysCall(0x02B7, 0)

ElseIf B% : Then
PutDispDD

Else
_DispVram
SysCall(0x02B7, 3)

IfEnd

========================================

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5修正版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ・CG10/20でエディタのサーチ画面で[SHIFT]+[4](CATALOG)が使えなかった不具合を修正しました。(1.44build14でのエンバグです。)

修正確認しました。


> C.Basic内では表示/非表示の管理は出来てますが、OS側と上手く連動していないっぽいのでこれがよくわからなかったりします。(^^;
> とりあえず、現在のC.Basic内でのステータスエリア表示フラグをSystem(-8)で取得できるようにしてみました。(^^)

ありがとうございます。
これで常に表示状態を監視できるようになりましたね。

プログラム内でいじるのは私ぐらいでしょうし、実害が無ければこのままでもまぁ大丈夫かとは思います。(^^;


現状次のような動作になっているようです。

まず、"PutDispDD" を実行すると C.Basic 側では有効になり、OS 側では無効固定となります。

また、"SysCall(0x2B7, 0)" を実行すると OS 側では有効になり、C.Basic 側では無効固定になります。


表示状態を変更するには、次のようにします。

有効 (SysCall(0x2B7, 1) = 0 かつ System(-8) = 1) から無効に切り替える場合、"_DispVram" を実行します。

有効 (SysCall(0x2B7, 1) = 1 かつ System(-8) = 0) から無効に切り替える場合、"SysCall(0x2B7, 3)" を実行します。

無効から有効に切り替える場合、"SysCall(0x2B7, 0)" または "PutDispDD" を実行します。


これに基づいて CHAR 画面からの復帰方法を検討してみます。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5修正版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ビットマップ形式で保存されている場所は無いと思います。

ですよね。(^^;


>表示・非表示は _DispVram や PutDispDD に依存していると思うのですが、これらから有効かどうか判定できませんか?

C.Basic内では表示/非表示の管理は出来てますが、OS側と上手く連動していないっぽいのでこれがよくわからなかったりします。(^^;
とりあえず、現在のC.Basic内でのステータスエリア表示フラグをSystem(-8)で取得できるようにしてみました。(^^)


>連続入力モードでステータスエリアの表示が上手くいかなくなっています。

あ゛…修正ミスが残ってました。(^^;


>また、もともとステータスエリアが非表示だった場合にアルファ表示を更新できないなど上手く動作しないようなので、別の方法をとる必要があると思います。

ステータスエリアの表示/非表示はVRAM管理外でのことなので一筋縄ではいかなそうなので、難題ですね。(^^;


>ところで、検索画面でカタログ機能が使えなくなっています。
"@" が入力できるように修正した時とかのエンバグでしょうか?

>確認お願いします。

今までのバージョンを調べたら1.44build14でエンバグしてたようです。(^^;
デフォルトの編集サイズをちょこっといじくったのですが、なんでかCG20だけカタログが使えなくなってました。
CG50では使えてたので空きメモリが関連してたっぽいですね。(^^;

ってことで、そこのあたり修正版です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5修正版
https://pm.matrix.jp/CB/CBASICCG145beta05.zip
(build05)
・CHAR選択画面から戻る時にステータスエリアの表示が戻らない不具合を修正しました。
・CG10/20でエディタのサーチ画面で[SHIFT]+[4](CATALOG)が使えなかった不具合を修正しました。(1.44build14でのエンバグです。)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> はい、それが出来れば簡単なので、
> ステータスラインのビットマップ情報がどこかに保存されてないかと調べてみたのですがいまいち不明でした。

ビットマップ形式で保存されている場所は無いと思います。

> おお!と思って、0x2B7を試してみましたが、こちらでも上手く行かないようです。(^^;

表示・非表示は _DispVram や PutDispDD に依存していると思うのですが、これらから有効かどうか判定できませんか?

> いろいろ試した結果、ステータスエリアをイネーブルにしたあとに、
> PutDispDDでステータスエリア部分を転送すると表示が更新されるみたいなので、アップデートしてみました。(^^)

連続入力モードでステータスエリアの表示が上手くいかなくなっています。

また、もともとステータスエリアが非表示だった場合にアルファ表示を更新できないなど上手く動作しないようなので、別の方法をとる必要があると思います。


ところで、検索画面でカタログ機能が使えなくなっています。
"@" が入力できるように修正した時とかのエンバグでしょうか?

確認お願いします。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>それです。
>どうやら "?→Str 1" だけのプログラムを実行してもこうなるようですね。
>私がプログラム内でステータスエリアをいじっていることもややこしくしている一因ではあるでしょうが、(^^;

あ、いえ、
CHAR画面で書き換えして元に戻ってないのが原因なので、これはC.Basic側の問題といえます。(^^;


>要するに、CHAR 画面に入る直前のステータスエリアの状態を取得しておいて、CHAR 画面から出るときにそのまま復帰すれば良いわけですよね。

はい、それが出来れば簡単なので、
ステータスラインのビットマップ情報がどこかに保存されてないかと調べてみたのですがいまいち不明でした。
VRAM上にはステータスラインの描画データがないので、VRAMからの転送だけでは復帰ができないということになりますよね。(^^;


>先程の投稿内容のうち、以下について SysCall で取得する方法がわかりました。
>・ 表示内容のフラグ
>・ ステータスエリアの背景色
>・ メッセージの内容
>・ メッセージの表示位置
>・ メッセージの表示色

>「ステータスエリア表示の有無」については、一応 "SysCall(0x02B7, 1)" でわかるはずなのですが、ちょっと上手くいかないようです。

おお!と思って、0x2B7を試してみましたが、こちらでも上手く行かないようです。(^^;

いろいろ試した結果、ステータスエリアをイネーブルにしたあとに、
PutDispDDでステータスエリア部分を転送すると表示が更新されるみたいなので、アップデートしてみました。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その5
https://pm.matrix.jp/CB/CBASICCG145beta05.zip
(build05)
・CHAR選択画面から戻る時にステータスエリアの表示が戻らない不具合を修正しました。

Re:Ptune2 best setting

@CalcLoverHK
>Can you show your procedure to let me reach your setting? (^^;

https://pm.matrix.jp/upload/upload.cgi?get=00093
Please increase the maximam frequency in setup.(^^)

Ptune2 best setting

Hi sentaro21

Currently I can only reach two settings that matches sort of your best setting, but neither of them is perfect.

https://i.ibb.co/x630kYK/Ptune2-setting1.jpg
If FLL is x20, then PLL will be stucked on x1678.

https://i.ibb.co/QnYHcnp/Ptune2-setting2.jpg
If FLL is x16, then PLL can be reached to x2047, but FLL will not be able to reach x20..

Setting 1 is the best setting I can reach according to the benchmark.

Can you show your procedure to let me reach your setting? (^^;

Cheers
CalcLoverHK

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
先程の投稿内容のうち、以下について SysCall で取得する方法がわかりました。

・ 表示内容のフラグ
・ ステータスエリアの背景色
・ メッセージの内容
・ メッセージの表示位置
・ メッセージの表示色

「ステータスエリア表示の有無」については、一応 "SysCall(0x02B7, 1)" でわかるはずなのですが、ちょっと上手くいかないようです。
「ステータスエリア表示の有無」について C.Basic 側で把握できていますか?

Re^7: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> CHAR 画面ではHELP表示のためにステータスラインを書き換えているので、それがそのまま残ってる状況ですよね?

それです。
どうやら "?→Str 1" だけのプログラムを実行してもこうなるようですね。

> エディタと同様に再度表示するようにすれば良さそうですが、
> この前のアルファモードのアルファロックの表示のときもあれこれと試行錯誤したのですが、
> ステータスラインの挙動がはっきり掴めていないので、
> ここはまた要調査ということになりそうです。(^^;

私がプログラム内でステータスエリアをいじっていることもややこしくしている一因ではあるでしょうが、(^^;
要するに、CHAR 画面に入る直前のステータスエリアの状態を取得しておいて、CHAR 画面から出るときにそのまま復帰すれば良いわけですよね。

具体的には、
・ ステータスエリア表示の有無
・ 表示内容のフラグ
・ ステータスエリアの背景色
・ メッセージの内容
・ メッセージの表示位置
・ メッセージの表示色

あたりが分かれば良さそうです。

これらの情報を SysCall で取得する方法はないか調べてみます。

Re^6: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>ColConv ver 1.1 と、C.Basic for CG Ver 1.45 build 04 のアップデートタイプしました。

いつもありがとうございます!(^^)


Colon様、
>両方とも修正確認しました。

ありがとうございます!
一安心ですね。(^^)


>まず、フォントファイルの保存後にステータスラインが消えない不具合については、
>メインループの Getkey1 の直前に "_DispVram" を割り込ませることで解消できました。

>次に、保存画面やカレントフォント参照画面から出た後に {SET} / {LOAD} に入るとステータスラインが表示されないことについては、"?" コマンドの直前に "PutdispDD" を割り込ま>せることで解消できるようです。

>ただ、"PutdispDD" があると ("?" コマンドの方の) CHAR 画面 に入る前と出た後でステータスエリアの表示内容が変わってしまうようです。
>これについて何か対策はありますか?

CHAR 画面ではHELP表示のためにステータスラインを書き換えているので、それがそのまま残ってる状況ですよね?

前回のステータスエリアの表示/非表示の切り替えの補足ですが、
デフォルトでは表示モードで、ステータスラインの-1~-24ライン分を転送すると非表示モードになるのですが、
"PutdispDD"は引数なしでは0~191ラインの転送、
"_DispVram"は引数無しで-24~191ラインの全転送となっています。
で、一度非表示モードになってしまった後に再び表示モードに戻すには
0~191ラインの範囲での"PutdispDD"を実行するというのが仕様となっています。
ということで、"PutdispDD"を実行することでステータスラインがまた表示されるようになる仕様です。(^^)

で、CHAR 画面の前後でのステータスラインの違いですが、
エディタからCHAR 画面に出入りしてもステータスラインは戻るので、
エディタと同様に再度表示するようにすれば良さそうですが、
この前のアルファモードのアルファロックの表示のときもあれこれと試行錯誤したのですが、
ステータスラインの挙動がはっきり掴めていないので、
ここはまた要調査ということになりそうです。(^^;

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> ColConv ver 1.1 と、C.Basic for CG Ver 1.45 build 04 のアップデートタイプしました。

対応ありがとうございます。(^^)


sentaro様、
FEINT のステータスエリアの件です。

まず、フォントファイルの保存後にステータスラインが消えない不具合については、
メインループの Getkey1 の直前に "_DispVram" を割り込ませることで解消できました。

次に、保存画面やカレントフォント参照画面から出た後に {SET} / {LOAD} に入るとステータスラインが表示されないことについては、"?" コマンドの直前に "PutdispDD" を割り込ませることで解消できるようです。

ただ、"PutdispDD" があると ("?" コマンドの方の) CHAR 画面 に入る前と出た後でステータスエリアの表示内容が変わってしまうようです。

これについて何か対策はありますか?

Re: Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

お疲れ様です。

ColConv ver 1.1 と、C.Basic for CG Ver 1.45 build 04 のアップデートタイプしました。

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> あ゛…何かの勘違いでバグってました。(^^;
> ってことで、修正版再アップです。(^^;

両方とも修正確認しました。

> ステータスエリアの表示はGetkey1/2のキー待ちで再表示されるようになっています。
> ただし、ステータス領域へのVRAM転送を一度でもするとそれは無くなります。
> 画面転送で-1から-24ラインの転送をしない限りはステータスエリア表示は続くはずです。(^^)

ありがとうございます。(^^)
上手い具合に試してみます。

Re:Re:C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>今回のアップデートを受け、ColorConv もバージョンアップです。(^^)
>HSV/HSL で対応できない 4 色について、RGB/HEX/DEC を赤で表示するように変更しました。

赤表示は分かりやすくていいですね。(^^)


>GetHSL(" でエラーポップアップが出ないようです。

あ゛…何かの勘違いでバグってました。(^^;


>C.Basic で現在ステータスエリアの表示・非表示はどのような動作になっているでしょうか?

ステータスエリアの表示はGetkey1/2のキー待ちで再表示されるようになっています。
ただし、ステータス領域へのVRAM転送を一度でもするとそれは無くなります。
画面転送で-1から-24ラインの転送をしない限りはステータスエリア表示は続くはずです。(^^)


>また、g1m モードで Text コマンドを使用時、外部フォントを表示できません。
>確認お願いします。

確認できました!
ありがとうございます!
ってことで、修正版再アップです。(^^;


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4修正再アップです。
https://pm.matrix.jp/CB/CBASICCG145beta04.zip

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

今回のアップデートを受け、ColorConv もバージョンアップです。(^^)
HSV/HSL で対応できない 4 色について、RGB/HEX/DEC を赤で表示するように変更しました。

ColorConv v1.10
https://pm.matrix.jp/upload/upload.cgi?get=00092


sentaro様、
> Colon様のGetHSV()/GetHSL()コマンドでのエラーポップアップ導入と、カラーピッカーでの色反転を修正しました。(^^)

"GetHSL(" でエラーポップアップが出ないようです。


ところで、気分転換に FEINT をいじっていたらバグが 5 つほど見つかったのでバージョンアップの準備をしているのですが、ステータスエリアに関する調整も行う予定です。

C.Basic で現在ステータスエリアの表示・非表示はどのような動作になっているでしょうか?

また、g1m モードで Text コマンドを使用時、外部フォントを表示できません。
確認お願いします。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

お待たせしました!
Colon様のGetHSV()/GetHSL()コマンドでのエラーポップアップ導入と、カラーピッカーでの色反転を修正しました。(^^)
この色反転ですが、分かってしまえば簡単なことなのですが、原因に気づくのにしばし時間がかかってしまいました。(^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その4
https://pm.matrix.jp/CB/CBASICCG145beta04.zip
(build04)
・GetHSV()/GetHSL()コマンドで変換できない色をエラーにするようにしました。
(書式) GetHSV(16ビットカラー値[,N])
(書式) GetHSL(16ビットカラー値[,N])
 Nオプションでエラーを無視します。
・HSV()/HSL()での色飽和での反転を修正しました。


(21:05 再アップです)
GetHSV()/GetHSL()コマンドのエラーポップアップを[OK]で解除したときに2度押す必要があったので修正再アップしてます。(^^;

ちなみにエラーコードは以下のとおりで個別になってますが、まとめた方が良いでしょうか?
CanNotSupport_003F_ERR 73
CanNotSupport_041F_ERR 74
CanNotSupport_F820_ERR 75
CanNotSupport_FC00_ERR 76

Re^7: HSV(, HSL( のエラー処理の提案

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、Colon様、
レスがごっちゃになってしまってすみません!(^^;

>内部動作をよく知らないユーザーのためには、デフォルトで出るようにしたほうが優しいと思います。
>そもそも内部計算を変更しているので、その一貫としての変更、ということにすれば良いのではないでしょうか。

>なので、提案を180度変えて、デフォルトでエラーメッセージを出し、オプションでエラーを出さないという仕様が良いと思います。

了解しました!
"GetHSV()" / "GetHSL()"が必要なプログラムは色にこだわったプログラムだと思われますので、
その精度を担保する観点から、デフォルトでエラーを出すようにしてみます。(^^)


>ちなみに、ColConv では Try 文を使って HSV/HSL で対応していない色を指定した際に例外処理を入れようと考えています。

既存のエラーコードを使うか、
新規にエラーコードを増設するかですが、どうしましょ?(^^)

とか思っていたら、Colon様から!

>エラーメッセージですが、こんなのはどうでしょうか?
https://pm.matrix.jp/upload/upload.cgi?get=00091

この場合、エラーポップアップは"GetHSV()" / "GetHSL()"専用という形になりますね。
ってことで、了解しました。
その方向でアップデートしてみます。(^^)

で、
カラーピッカーの動作ですが、
キー操作のリピート時に数値の移動が速くなるようになっていました。
そして、16ビットカラー値が変更される単位での移動になっていましたので、
下の方だとかなり大きな移動になっていました。
これも、
Colon様推奨の固定値での移動に変えてみます。(^^)

Re^6: HSV(, HSL( のエラー処理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

エラーメッセージですが、こんなのはどうでしょうか?
https://pm.matrix.jp/upload/upload.cgi?get=00091

Re^5: HSV(, HSL( のエラー処理の提案

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

Colon様、
5分違いで、Colon様のコメントを知らずに、コメントアップしてしまいました。

で、前回の私のコメント
"なので、圧倒的多くの使い方(と思われる)では、エラーは不要ではないでしょうか?
デフォルトでは今のまま、オプション設定でエラーを出すというのが良いと思われます。"

は撤回します。

GetHSV( や GetSHL( をどの程度使われるのか?
改めて考えると、これらを使うのは、かなり意図的に細かい値を取得したいというケースが多いと思います。

そもそも CGシリーズのカラー液晶は、視角が少し変わるだけで色の見え方が大きく変わるような代物ですから、HSV や HSL の精度の高い値を取得するのは、特殊でしょう。

なので、提案を180度変えて、デフォルトでエラーメッセージを出し、オプションでエラーを出さないという仕様が良いと思います。

そして、この内部動作についての説明をマニュアルに追記して頂きたいと思います。


Re: Re:Re: HSV(, HSL( のエラー処理の提案

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


エラーメッセージの出し方ですが、ColConv で RGB, HSV, HSL を行ったり来たりといった特殊なことをやらない限りは、24ビットカラー前提ではカラーコードが1ずれる、16ビットカラーでもせいぜい7ずれるだけですから、Colon様が言われるように、見た目の違いは殆ど分からないと思います。

なので、圧倒的多くの使い方(と思われる)では、エラーは不要ではないでしょうか?
デフォルトでは今のまま、オプション設定でエラーを出すというのが良いと思われます。

如何でしょうか?

Re^3: HSV(, HSL( のエラー処理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、

> ふと思ったんですが、デフォルトではエラーを出すということですよね?
> もしくはデフォルトではエラーにならず、エラーを出す新たなオプション追加の方が良いでしょうか?
> 従来の仕様ではエラーが出ないので、どっちが良いかというところです。

内部動作をよく知らないユーザーのためには、デフォルトで出るようにしたほうが優しいと思います。

そもそも内部計算を変更しているので、その一貫としての変更、ということにすれば良いのではないでしょうか。


ちなみに、ColConv では Try 文を使って HSV/HSL で対応していない色を指定した際に例外処理を入れようと考えています。

Re:Re: HSV(, HSL( のエラー処理の提案

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

その3差し替えのタイトルがNo titleになってしまってました。(^^;

管理人様、いつも素早いアップデート対応に感謝です。(^^)

>ところで、カラーピッカーの HSV / HSL の [F5] / [F6] の動作についてですが、現在は値の変化量の規則性がよく分かりません。
>そこで、取りうる値を順に移動するように変更してはどうでしょうか?

んと、これはカラー値が変わらない数値をすっ飛ばして変化させるようになっています。
で、今チェックすると何やら変な感じになってますね。(^^;


管理人様、Colon様、

>HSV( 、HSL( で 上記4つのカラーコードを使おうとしたところで、使えないカラーコードと共にエラーメッセージを出すというのは、どうでしょうか?
>例えば、

>"Cannot support #0x003F. Use RGB( "

>といった感じです。

>サポートできない色があるというのは実際に計算しないと分からないことなので、
>エラーメッセージを出すのは親切で良いですね。

エラーメッセージを出すというのは思いつきませんでした。(^^;


>HSV や HSL を使う場合というのは厳密な RGB 値ではなく見え方が重要というケースが多いと思うので、コマンドにエラーメッセージ禁止オプションも実装していただけるとありがたいです。

"GetHSV(" / "GetHSL(" だけにエラーを出さないオプションを付加すれば良さそうですね。(^^)

ふと思ったんですが、デフォルトではエラーを出すということですよね?
もしくはデフォルトではエラーにならず、エラーを出す新たなオプション追加の方が良いでしょうか?
従来の仕様ではエラーが出ないので、どっちが良いかというところです。

例えば、引数の後に、",E"を追加して、
GetHSV(H,S,V [,E])
GetHSL(H,S,L [,E])
みたいな感じです。


>日本語版の修正が出来たら、英語版はお手伝いします。

助かります。よろしくお願いします。(^^)

Re: HSV(, HSL( のエラー処理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、sentaro様、
> HSV( 、HSL( で 上記4つのカラーコードを使おうとしたところで、使えないカラーコードと共にエラーメッセージを出すというのは、どうでしょうか?

サポートできない色があるというのは実際に計算しないと分からないことなので、
エラーメッセージを出すのは親切で良いですね。

これら 4 色は相当する HSV と HSL カラーが無いので、実際にエラーメッセージの実装が必要なのは "HSV(" / "HSL(" ではなく "GetHSV(" / "GetHSL(" ということになりましょうか。

内部動作としては、"GetHSV(" / "GetHSL(" にこれらの色を指定すると、近い別の色に変わるようになっています (変更前後の色を肉眼で区別できる人はほぼいないでしょう)。
具体的には、S や V/L が同じで H の差が 1 未満の別の色に変わります。

というわけで、

> "Cannot support #0x003F. Use RGB( "

「HSV (HSL) ではこの色をサポートできません、続けると別の色 (#0xXXXX) に変わります。続けますか?」という内容になれば良いかと思います。

HSV や HSL を使う場合というのは厳密な RGB 値ではなく見え方が重要というケースが多いと思うので、コマンドにエラーメッセージ禁止オプションも実装していただけるとありがたいです。

HSV 値や HSL 値を使って内部演算を行う場合などは、バグ回避の意味でエラーメッセージが効いてくると思います。(^^)

HSV(, HSL( のエラー処理の提案

sentaro、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

「追記あり]

管理人のやすです。

Colon様、
素晴らしいサポート、ありがとうございます。
おかげで、ColConvの妙な動作も解消したようです。


sentaro様、
ManualCG_J.txt に記載の下記について、
> (※HSVとHSLで指定できない色)
> 以下の4色はHSV,HSLで指定できないのでRGBを使ってください。
> #0x003F: RGB( 0, 4, 248)
> #0x041F: RGB( 0, 128, 248)
> #0xF820: RGB(248, 4, 0)
> #0xFC00: RGB(248, 128, 0)

HSV( 、HSL( で 上記4つのカラーコードを使おうとしたところで、使えないカラーコードと共にエラーメッセージを出すというのは、どうでしょうか?
例えば、

"Cannot support #0x003F. Use RGB( "

といった感じです。

それから、このエラーを見てた後の対応については、マニュアルに エラー発生時の対処として、RGB(#0x003F) とする旨追記するとユーザーに優しいマニュアルにあると思います。

如何でしょうか?

日本語版の修正が出来たら、英語版はお手伝いします。


なお、アップデート対応しました。

Re: No title

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ってことで、修正差し替えしました。(^^)

"TestHSV" / "TestHSL" にて修正確認しました。

"ColConv" での異常動作も直ったようです。

ところで、カラーピッカーの HSV / HSL の [F5] / [F6] の動作についてですが、現在は値の変化量の規則性がよく分かりません。

そこで、取りうる値を順に移動するように変更してはどうでしょうか?

HSV は 0, 4, 8, 12, ……, 248, 252 、
HSL は 0, 2, 4, 6, 8, ……, 248, 250 です。

No title

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>C.Basic によるサンプルです。(^^)
>これを C に移植していただければ大丈夫です。
https://pm.matrix.jp/upload/upload.cgi?get=00090

>"TestHSV.g3m" / "TestHSL.g3m" はコマンドでの変換が上手くいかない色をカウントするプログラムです。

ありがとうございます!!
テストプログラムまで完備でとっても助かります!(^^)


>4 色だけなので、マニュアルに「次に示す色は使えない」と色指定で書けば良いですね。(^^)

了解しました。(^^)


>ソースを見ると RGB にするときに概数を戻す処理を取ってくださっているのがわかりましたが、
>その処理が半分の色に対して無効だったようです。(^^;
>RGB → HSV/HSL が切り捨て処理なので、戻すときは四捨五入ではなく切り上げ処理が必要になります。

微妙に中途半端になっていたのですね。(^^;

ってことで、修正差し替えしました。(^^)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その3差し替えです。
https://pm.matrix.jp/CB/CBASICCG145beta03.zip
(build03)
・Colon様のサポートによりRGB→HSV/HSLのカラーコード変換の誤差を修正しました。

色空間変換アルゴリズム

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> よろしくお願いします。(^^)

C.Basic によるサンプルです。(^^)
これを C に移植していただければ大丈夫です。
https://pm.matrix.jp/upload/upload.cgi?get=00090

"TestHSV.g3m" / "TestHSL.g3m" はコマンドでの変換が上手くいかない色をカウントするプログラムです。

1 行目にはチェック済みの色の数が表示されます。
また、3, 4 行目に変換が上手く出来た色とそうでない色をカウントします。

⭕ 65532
❌ 4

となるのが目標です。

"RGB-HSV.g3m" / "RGB-HSL.g3m" には改善後のアルゴリズムが入っています。

変換が上手くいかない色については一時停止して内容を表示します。
4 色で止まるのが確認できます。

"Lbl _rgb2hsv" / "Lbl _hsv2rgb" / "Lbl _rgb2hsl" / "Lbl _hsl2rgb" が変換部分です。


> うわ…思いっきり勘違いしちゃいました。(^^;
> その4色が直ればOKじゃなくて、直らないのが正解なのですね…(^^;

4 色だけなので、マニュアルに「次に示す色は使えない」と色指定で書けば良いですね。(^^)


> ほとんど半分間違えていたってことですか?(^^;

ソースを見ると RGB にするときに概数を戻す処理を取ってくださっているのがわかりましたが、
その処理が半分の色に対して無効だったようです。(^^;

RGB → HSV/HSL が切り捨て処理なので、戻すときは四捨五入ではなく切り上げ処理が必要になります。

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その3

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>それであれば、もうアルゴリズムは出来上がっているので、OK であればもうアップロードします。(^^)

よろしくお願いします。(^^)


>すみません、私の書き方が良くなかったですね。(^^;
>その 4 色は、最終的に正しく変換できてはいけないということです。
>つまり、変換が上手くいかないのが正しい動作です。

うわ…思いっきり勘違いしちゃいました。(^^;
その4色が直ればOKじゃなくて、直らないのが正解なのですね…(^^;


>現在 (build 02 時点) 変換が上手くいっていないのは、HSV が33,288 色、HSL が 36,354 色です。

ほとんど半分間違えていたってことですか?(^^;


>C.Basic と変換方法が違いますので、違う値になるのが正しいです。(^^;
>それから、その修正を行っても別の色の変換が上手く行かなくなるはずです。

4色のみ、元のRGBに戻るように239とかに1ずらした値にしてみたので、それ4色以外は元のままです。(^^;


>また、変換方法がどうあろうが、65536 色の内 4 色は正しく動作しないという計算になります。
>他のカラーピッカーでも変換できない色がありますが、これは 240/(MAX - MIN) が MAX - MIN > 240 の場合に 1 未満の値を取るためで、 HSV/HSL 色空間の特性です。

色指定の方法の違うと、なかなかに奥が深いですね。(^^;

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その3

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> はい、変換計算そのものは8ビット精度(Hは0~359まで)ですが、結果はRGB565の16ビットカラーで返すので、そうなっています。(^^)
> 精度が同じならば切り捨てが簡単になりますね。(^^)

それであれば、もうアルゴリズムは出来上がっているので、OK であればもうアップロードします。(^^)

> これは、HSVでは数値の精度をもっとあげないとRGBの8ビット精度に対応できないということですよね。

HSV / HSL は整数値で表すため、これ以上精度を上げると別の色の変換が上手くいかなくなります。

> HSVとHSLで元に戻らないのが上の4種類だけということなので、そこのところを対策してみました。(^^)

すみません、私の書き方が良くなかったですね。(^^;
その 4 色は、最終的に正しく変換できてはいけないということです。
つまり、変換が上手くいかないのが正しい動作です。

現在 (build 02 時点) 変換が上手くいっていないのは、HSV が33,288 色、HSL が 36,354 色です。

すなわち、現状 → 目標としては、
・ HSV: 33,288 色 → 4 色
・ HSL: 36,354 色 → 4 色

となります。

> "カラーピッカー" で検索したところでの結果に補正してみたのですが、とりあえず上手くいったようでしょうか?(^^)

C.Basic と変換方法が違いますので、違う値になるのが正しいです。(^^;
それから、その修正を行っても別の色の変換が上手く行かなくなるはずです。

また、変換方法がどうあろうが、65536 色の内 4 色は正しく動作しないという計算になります。
他のカラーピッカーでも変換できない色がありますが、これは 240/(MAX - MIN) が MAX - MIN > 240 の場合に 1 未満の値を取るためで、 HSV/HSL 色空間の特性です。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その3

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
HSV&HSL精度調査、おつかれさまです!
そしてありがとうございます!(^^)

>また、私としては、変換の度に 16 ビットカラー値に丸めるのが望ましいと考えます。
>イメージとしては、

>・ RGB (入力値) → RGB (16 ビット) → HSV/HSL (16 ビット)
>・ HSV/HSL (入力値) → RGB (16 ビット)
>・ HSV/HSL (入力値) → RGB (16 ビット) → HSL/HSV (16 ビット)

>という感じです。
>現在もこうなっているという認識でよいですか?

はい、変換計算そのものは8ビット精度(Hは0~359まで)ですが、結果はRGB565の16ビットカラーで返すので、そうなっています。(^^)


>ところで、現在は HSV/HSL の値は切り捨てになっているようですが、
>アルゴリズム製作時に切り捨てのままか四捨五入に変更かどちらに致しましょう?

精度が同じならば切り捨てが簡単になりますね。(^^)


>例として、Google で "カラーピッカー" と検索し、次の操作を行ってみてください。

>1. RGB に "255, 0, 0" と指定。このとき、HSV が "0°, 100%, 100%" となっているのを確認。
>2. RGB に "255, 1, 0" と指定。このとき、HSV が "0°, 100%, 100%" となっているのを確認。
>3. HSV にカーソルを合わせて編集モードにし、何も入力せずに決定。すると、RGB が "255, 0, 0" に戻る。

>"ColConv" でこれと同様の動作になることが最終目標になると思います。

>整数での実装とし、マニュアルには「RGB と HSV の値は 1 対 1 で対応しないので、色を確実に指定する必要がある場合は RGB か 16 ビットカラー値を使うこと」という趣旨の記述をすればよいかと思います。
>文面は後程要検討です。

これは、HSVでは数値の精度をもっとあげないとRGBの8ビット精度に対応できないということですよね。


>おっ、私が見ている所と同じです。(^^)

同じで良かったです。(^^)


>実際に全 65536 色ついて調べた結果、RGB → HSV → RGB で異なる値になってしまうのは次の 4 色だとわかりました。

>・ #0x003F: RGB(0, 4, 248)
>・ #0x041F: RGB(0, 128, 248)
>・ #0xF820: RGB(248, 4, 0)
>・ #0xFC00: RGB(248, 128, 0)

>これ以外の色は問題ありません。

>言い換えれば、上記 4 色以外の精度の問題は解決できます。

>RGB → HSL → RGB で異なる値になってしまうのは次の 4 色です。
>HSV のときと全く同じ色ですね。

>・ #0x003F: RGB(0, 4, 248)
>・ #0x041F: RGB(0, 128, 248)
>・ #0xF820: RGB(248, 4, 0)
>・ #0xFC00: RGB(248, 128, 0)

>その他の色は問題ありませんので、上記以外の色は精度の問題が解消できます。

>従って、
>・ HSV や HSL では 65532 色が使用できる
>・ 使用できる色は RGB 値と 1 対 1 で対応する

>というのが目標とする仕様になるかと思います。


RGB(__0,__4,248)→ HSV(240,255,248) → RGB(__0,__0,248)
RGB(__0,128,248)→ HSV(210,255,248) → RGB(__0,124,248)
RGB(248,__4,__0)→ HSV(__0,255,248) → RGB(248,__0,__0)
RGB(248,128,__0)→ HSV(_30,255,248) → RGB(248,124,__0)

RGB(__0,__4,248)→ HSL(240,255,124) → RGB(__0,__0,248)
RGB(__0,128,248)→ HSL(210,255,124) → RGB(__0,124,248)
RGB(248,__4,__0)→ HSL(__0,255,124) → RGB(248,__0,__0)
RGB(248,128,__0)→ HSL(_30,255,124) → RGB(248,124,__0)

HSVとHSLで元に戻らないのが上の4種類だけということなので、そこのところを対策してみました。(^^)

"カラーピッカー" で検索したところでの結果に補正してみたのですが、とりあえず上手くいったようでしょうか?(^^)

RGB(__0,__4,248)→ HSV(239,255,248) → RGB(__0,__4,248)
RGB(__0,128,248)→ HSV(209,255,248) → RGB(__0,128,248)
RGB(248,__4,__0)→ HSV(__1,255,248) → RGB(248,__4,__0)
RGB(248,128,__0)→ HSV(_31,255,248) → RGB(248,128,__0)

RGB(__0,__4,248)→ HSL(239,255,124) → RGB(__0,__4,248)
RGB(__0,128,248)→ HSL(209,255,124) → RGB(__0,128,248)
RGB(248,__4,__0)→ HSL(__1,255,124) → RGB(248,__4,__0)
RGB(248,128,__0)→ HSL(_31,255,124) → RGB(248,128,__0)


C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その3
https://pm.matrix.jp/CB/CBASICCG145beta03.zip
(build03)
・RGB→HSV/HSLのカラーコード変換の誤差を修正しました。
・ラベルの検索時にコメントでの'#に続くオプションの設定が変更されてしまう不具合を修正しました。

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その3
https://pm.matrix.jp/CB/CBASIC245beta03.zip
(build03)
・ラベルの検索時にコメントでの'#に続くオプションの設定が変更されてしまう不具合を修正しました。

HSL 精度調査結果

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
HSL の調査も完了しました。

HSV の時よりも式が複雑なので、いきなり全 65536 色についての計算を行いました。

RGB → HSL → RGB で異なる値になってしまうのは次の 4 色です。
HSV のときと全く同じ色ですね。

・ #0x003F: RGB(0, 4, 248)
・ #0x041F: RGB(0, 128, 248)
・ #0xF820: RGB(248, 4, 0)
・ #0xFC00: RGB(248, 128, 0)

その他の色は問題ありませんので、上記以外の色は精度の問題が解消できます。

従って、
・ HSV や HSL では 65532 色が使用できる
・ 使用できる色は RGB 値と 1 対 1 で対応する

というのが目標とする仕様になるかと思います。

HSV 精度調査結果

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、

>> 変換のたびに、
>> R:5ビット
>> G:6ビット
>> B:5ビット
>> の16ビットカラーに丸めてしまうのが大きな原因かと思いますが、どうなんでしょう?(^^;

> 精査していないので今のところでは明言を避けますが、
> RGB↔️カラー値 はすでに全単射のはずなので、HSV↔️RGB と HSL↔️RGB の精度が確保できれば解決ということですね。

結論から言いますが、HSV↔️RGB では全単射にできないことがわかりました (HSL↔️RGB は未調査)。

また、私としては、変換の度に 16 ビットカラー値に丸めるのが望ましいと考えます。
イメージとしては、

・ RGB (入力値) → RGB (16 ビット) → HSV/HSL (16 ビット)
・ HSV/HSL (入力値) → RGB (16 ビット)
・ HSV/HSL (入力値) → RGB (16 ビット) → HSL/HSV (16 ビット)

という感じです。
現在もこうなっているという認識でよいですか?


>> 整数値への丸め方は C.Basic の INT% モードと同じと考えてよろしいですか?

> はい、同じです。

了解しました。

ところで、現在は HSV/HSL の値は切り捨てになっているようですが、
アルゴリズム製作時に切り捨てのままか四捨五入に変更かどちらに致しましょう?


> 16ビットカラーになると、差がなかったようなので、整数にしたような記憶です。(^^;

整数実装だと前述の通り HSV↔️RGB は全単射になりませんが、
Google のカラーピッカーは整数実装かつ全単射でないようなので、これを参考に行ければと思います。

例として、Google で "カラーピッカー" と検索し、次の操作を行ってみてください。

1. RGB に "255, 0, 0" と指定。このとき、HSV が "0°, 100%, 100%" となっているのを確認。
2. RGB に "255, 1, 0" と指定。このとき、HSV が "0°, 100%, 100%" となっているのを確認。
3. HSV にカーソルを合わせて編集モードにし、何も入力せずに決定。すると、RGB が "255, 0, 0" に戻る。

"ColConv" でこれと同様の動作になることが最終目標になると思います。

整数での実装とし、マニュアルには「RGB と HSV の値は 1 対 1 で対応しないので、色を確実に指定する必要がある場合は RGB か 16 ビットカラー値を使うこと」という趣旨の記述をすればよいかと思います。
文面は後程要検討です。


> たぶんここのサイトがメインだったと思います。(^^)
https://www.peko-step.com/tool/hsvrgb.html

おっ、私が見ている所と同じです。(^^)

========================================

では、HSV の精度について詳しく説明します。
途中計算は書くと長くなるので省略します。(^^;

前提条件として、RGB は R, B が 32 段階、G が 64 段階です。
HSV は H が 360 段階、S, V が 256 段階です。

H の 360 段階、S, V の 256 段階で 16 ビットカラーを表現しきれるか考えます。

まず、V の精度について。
V = MAX なので、V の精度は無問題です。

次に、S の精度について。
S = (MAX - MIN) ÷ MAX × 255
ですが、MAX = V により、MIN のみを考慮すればよいことがわかります。
MIN を 4 だけ変化させたとき、S は 1020/V だけ変化します。
1020/V の最小値は、V=252 の時の 1020/252 = 4.0476…… ≧ 1です。
したがって、S の精度も無問題です。

最後に、H の精度について。
これまでの議論より MAX と MIN は考慮する必要がありません。
(R, G, B) のうち 2 番目に大きい値のみ考慮する必要がありますが、これを 4 だけ変化させると、H は 240/(MAX - MIN) だけ変化します。
240/(MAX - MIN) < 1 の場合は精度が保証できません。すなわち、MAX - MIN > 240 の場合、H の精度が保証できないということです。

実際に全 65536 色ついて調べた結果、RGB → HSV → RGB で異なる値になってしまうのは次の 4 色だとわかりました。

・ #0x003F: RGB(0, 4, 248)
・ #0x041F: RGB(0, 128, 248)
・ #0xF820: RGB(248, 4, 0)
・ #0xFC00: RGB(248, 128, 0)

これ以外の色は問題ありません。

言い換えれば、上記 4 色以外の精度の問題は解決できます

========================================

今回の報告は以上です。
HSL についてはまた後程調査します。

Re^6:カラーコマンド機能整理の提案

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ということは、解決し次第マニュアル修正という形がよさそうですね。

了解です!(^^)


>バグ回避のため、言語によっては /* FALLTHROUGH */ などとコメントするのがお作法のようですが、
>C.Basic ならば 1 行に書くだけでフォールスルーだと明示できるということですね。(^^)

あ、そういう感じになりますね。(^^)


>精査していないので今のところでは明言を避けますが、
>RGB↔️カラー値 はすでに全単射のはずなので、HSV↔️RGB と HSL↔️RGB の精度が確保できれば解決ということですね。

はい、そういうことになるかと思います。(^^)



>整数値への丸め方は C.Basic の INT% モードと同じと考えてよろしいですか?

はい、同じです。


>今後要検討します。

最初の実装時に整数だと誤差が出そうなので、実数でも試した記憶がありますが、
16ビットカラーになると、差がなかったようなので、整数にしたような記憶です。(^^;


>ところで、変換ルーチンの出典を教えていただけますか?
>同じ資料を見た方がやり取りしやすいと思いますので。

変換に関しては「HSV変換」で検索して出てきたところのいくつかのサイトを参考にさせていただいたのですが、
たぶんここのサイトがメインだったと思います。(^^)
https://www.peko-step.com/tool/hsvrgb.html

Re^5 :カラーコマンド機能整理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> ...ということで、このエントリーで ColConv の紹介を追加しました。

ありがとうございます!! (^^)

sentaro様、
> これは、おそらく精度の問題が解決できてないので相互変換に関しては明記しなかったのかもしれません。(^^;

ということは、解決し次第マニュアル修正という形がよさそうですね。

> Case 79:Case 69
> Case 79Case 69

バグ回避のため、言語によっては /* FALLTHROUGH */ などとコメントするのがお作法のようですが、
C.Basic ならば 1 行に書くだけでフォールスルーだと明示できるということですね。(^^)

> あ、でも、インデントは任意に解除可能ですし、テキストファイルに関しては最初からインデントがあった方が明らかにいいと思います。(^^)

了解しました。

> 変換のたびに、
> R:5ビット
> G:6ビット
> B:5ビット
> の16ビットカラーに丸めてしまうのが大きな原因かと思いますが、どうなんでしょう?(^^;

精査していないので今のところでは明言を避けますが、
RGB↔️カラー値 はすでに全単射のはずなので、HSV↔️RGB と HSL↔️RGB の精度が確保できれば解決ということですね。

> この整数処理ソースの最後に入ってます。
> CBPI_Eval.cpp(c++ソースみたいですが、Cです。(^^;

ありがとうございます。
整数値への丸め方は C.Basic の INT% モードと同じと考えてよろしいですか?

> HSV/HSL変換サブルーチンそのものは8ビット精度で計算してますが、ここは可逆性があるのでしょうか?(^^;

今後要検討します。


ところで、変換ルーチンの出典を教えていただけますか?
同じ資料を見た方がやり取りしやすいと思いますので。

Re^4:カラーコマンド機能整理の提案

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>私が仕様を見落としていたか? と思ってマニュアルを読みましたが、正式仕様だとわかる記述が見つけられませんでした。(^^;
>「RGB / HSV / HSL / カラー値を相互変換できる」と明記の上、先程の投稿から例をいくつか載せていただければ良いかと思います。

これは、おそらく精度の問題が解決できてないので相互変換に関しては明記しなかったのかもしれません。(^^;


>とする選択肢もあるので、フォールスルーが便利な例だと思います。

こういう場合にうまく使えますね。(^^)

改行せずに、
Case 79:Case 69
と書いてもいいですし、さらにはコロンを省いて
Case 79Case 69
でも動いてしまうのがC.Basicです。(^^;


>あ、ということは、今回はインデント付きでアップロードしてしまいましたが、インデント無しで上げても良いんですね。(^^;
>そこまで気が回りませんでした。
>むしろ、インデントを抜いておいた方が各自で好きなスペースの個数にできるというメリットもあるので、次回からはインデント無しで上げたいと思います。(^^;

あ、でも、インデントは任意に解除可能ですし、テキストファイルに関しては最初からインデントがあった方が明らかにいいと思います。(^^)


>恐らく内部演算の丸め誤差の問題ですが、要するに「HSV↔️カラー値」や「HSL↔️カラー値」の変換が非可逆になってしまっているということですね。

変換のたびに、
R:5ビット
G:6ビット
B:5ビット
の16ビットカラーに丸めてしまうのが大きな原因かと思いますが、どうなんでしょう?(^^;


>改善策が無いか検討したいのですが、内部演算はどうなっているでしょうか?
>ソースコードがどのファイルに入っているかも教えてくださると助かります。

この整数処理ソースの最後に入ってます。
CBPI_Eval.cpp(c++ソースみたいですが、Cです。(^^;

HSV/HSL変換サブルーチンそのものは8ビット精度で計算してますが、ここは可逆性があるのでしょうか?(^^;

Colon様の変換プログラム内でRGB↔HSV↔HSL変換のサブルーチンを作成してもらって精度検証していただくのが一番かもですね。(^^;



管理人様、
>..ということで、このエントリーで ColConv の紹介を追加しました。

さすが管理人様、早いです!(^^)

Re^3:カラーコマンド機能整理の提案

Colon様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

ColConvは、なかなか便利なツールであると同時に良いサンプルプログラムですよね!

...ということで、このエントリーで ColConv の紹介を追加しました。

Re:Re: カラーコマンド機能整理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> と思って、マニュアルを見返したら、説明が簡潔過ぎました。(^^;

私が仕様を見落としていたか? と思ってマニュアルを読みましたが、正式仕様だとわかる記述が見つけられませんでした。(^^;

「RGB / HSV / HSL / カラー値を相互変換できる」と明記の上、先程の投稿から例をいくつか載せていただければ良いかと思います。

> 長いファンクションキーが実用プログラムで使われた初めての例ですね。

スクロールの加減で Switch 文の入れ子と "Or" / "⇒" を使いましたが、スクロールが必要ない場合は

Gerkey1→K

Switch K
Case 79
Case 69
…………
Break
Case 59
Case 49
…………
Break
…………
SwitchEnd

とする選択肢もあるので、フォールスルーが便利な例だと思います。

普段 "⇒" を使っていても Case 文を使っていてもそのままで良しなので、従来のプログラムも弄りやすいですね。

> エディタで開いたときに自動でインデントが付くので、保存サイズ削減の観点からも自動除去はセットで有効にしておいた方が良いですね。(^^)

あ、ということは、今回はインデント付きでアップロードしてしまいましたが、インデント無しで上げても良いんですね。(^^;
そこまで気が回りませんでした。

むしろ、インデントを抜いておいた方が各自で好きなスペースの個数にできるというメリットもあるので、次回からはインデント無しで上げたいと思います。(^^;


ところで、例えば "DEC #3000" と入力すると
・ RGB(8, 116, 192)
・ HSV(205, 224, 192)
・ HSL(205, 234, 100)
・ HEX #0x0BB8

となりますが、HSV や HSL を選択して [F1~F2] → [EXE] → [F1~F2] → …… と繰り返すと値が変わってしまうのが分かります。

また、この現象は [SHIFT] + [6] のカラーピッカーで RGB(8, 116, 192) と指定し、[F1] → [F2] / [F3] → [F1] → …… と繰り返しても確認できます。

恐らく内部演算の丸め誤差の問題ですが、要するに「HSV↔️カラー値」や「HSL↔️カラー値」の変換が非可逆になってしまっているということですね。

これについては v0.5x α の頃に「改善しなきゃ」という話をしてそのままになっていたかと思います。

改善策が無いか検討したいのですが、内部演算はどうなっているでしょうか?
ソースコードがどのファイルに入っているかも教えてくださると助かります。

Re:カラーコマンド機能整理の提案

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ファンクションメニュー、VRAM 直描きなど色が関わる話題が続いてきましたが、
>ここでカラーコマンドの機能の整理を提案します。

お!いいですね!(^^)


>"_Pixel" コマンドを使用せずに VRAM へ直接描画する場合は RGB/HSV/HSL ではなくカラーコードを指定する必要があります。

はい、描画コマンドではないのでダイレクトアクセスですね。(^^;


>現在は色について RGB, HSV, HSL, カラーコードの 4 通りの形式がサポートされていますが、それらの変換についてはカラーコード → RGB/HSV/HSL しかサポートされていません (12 通り中 3 通り)。

>そこで、その他 9 通りの変換も出来れば便利だと考えましたが、変換する裏技を見つけました。

>意図した隠し仕様なのか、たまたまそうなっているのかは分かりませんが、
>この際正式仕様に昇格させてはどうでしょうか?

んと、一応16ビットカラー値を経由して相互変換できる仕様になっていたと思うので、
って、これって正式仕様ではなかったですか?(^^;
と思って、マニュアルを見返したら、説明が簡潔過ぎました。(^^;


>これらの機能を使ったサンプルプログラムがこちらです。
https://pm.matrix.jp/upload/upload.cgi?get=00089

これはまた実用性十分なサンプルプログラムをありがとうございます!
長いファンクションキーが実用プログラムで使われた初めての例ですね。
管理人様のRGBシリーズと併せて使えそうですね!(^^)


>今さらですが、自動インデント機能を初めて使いました。(^^;
>読みやすく入力しやすくで非常に便利ですね!

ありがとうございます!
UCFでのpiu58様からの要望だったのですが、とても便利な機能だと私も思います。(^^)


>保存時にインデントを除去する機能も、メモリを食う量が削減できてありがたいです。

これは純正で動作させるためにインデントを含めた空白除去機能となっています。(^^)
エディタで開いたときに自動でインデントが付くので、保存サイズ削減の観点からも自動除去はセットで有効にしておいた方が良いですね。(^^)

カラーコマンド機能整理の提案

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

ファンクションメニュー、VRAM 直描きなど色が関わる話題が続いてきましたが、
ここでカラーコマンドの機能の整理を提案します。

"_Pixel" コマンドを使用せずに VRAM へ直接描画する場合は RGB/HSV/HSL ではなくカラーコードを指定する必要があります。

現在は色について RGB, HSV, HSL, カラーコードの 4 通りの形式がサポートされていますが、それらの変換についてはカラーコード → RGB/HSV/HSL しかサポートされていません (12 通り中 3 通り)。

そこで、その他 9 通りの変換も出来れば便利だと考えましたが、変換する裏技を見つけました。

意図した隠し仕様なのか、たまたまそうなっているのかは分かりませんが、
この際正式仕様に昇格させてはどうでしょうか?

書式は以下の通りです。
いずれも正常動作するようなので、C.Basic のソースの変更も必要なさそうです。

【RGB への変換】
(書式)GetRGB(HSV(H, S, V))
(書式)GetRGB(HSL(H, S, L))

(書式)GetRGB(HSV({H, S, V}))
(書式)GetRGB(HSL({H, S, L}))

【HSV への変換】
(書式)GetHSV(RGB(R, G, B))
(書式)GetHSV(HSL(H, S, L))

(書式)GetHSV(RGB({R, G, B}))
(書式)GetHSV(HSL({H, S, L}))

【HSL への変換】
(書式)GetHSL(RGB(R, G, B))
(書式)GetHSL(HSV(H, S, V))

(書式)GetHSL(RGB({R, G, B}))
(書式)GetHSL(HSV({H, S, V}))

【16 ビットカラー値への変換】
(書式)#RGB(R, G, B)
(書式)#HSV(H, S, V)
(書式)#HSL(H, S, L)

(書式)#RGB({R, G, B})
(書式)#HSV({H, S, V})
(書式)#HSL({H, S, L})

【入力した RGB/HSV/HSL 値を C.Basic が対応している値に丸める】
(書式)GetRGB(RGB(R, G, B))
(書式)GetHSV(HSV(H, S, V))
(書式)GetHSL(HSL(H, S, L))

(書式)GetRGB(RGB({R, G, B}))
(書式)GetHSV(HSV({H, S, V}))
(書式)GetHSL(HSL({H, S, L}))


これらの機能を使ったサンプルプログラムがこちらです。
https://pm.matrix.jp/upload/upload.cgi?get=00089


sentaro様、
今さらですが、自動インデント機能を初めて使いました。(^^;

読みやすく入力しやすくで非常に便利ですね!
保存時にインデントを除去する機能も、メモリを食う量が削減できてありがたいです。

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>修正確認しました。

管理人様、
>アップデート対応致しました。

ありがとうございます!(^^)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2再アップです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

アップデート対応致しました。

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2再アップです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ・GetRGB()、GetHSV()、GetHSL()コマンドで、インデックス開始値が0の場合の不具合を修正しました。

修正確認しました。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2再アップです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>"GetRGB(" / "GetHSV(" / "GetHSL(" で出力されるリストのインデックス開始値が 1 のままです。

>'#Mat 0
>ClrMat
>GetRGB(0)→L1
>GetHSV(0)→L2
>GetHSL(0)→L3

あ゛、こっちが残ってました。(^^;

ってことで、(build02)修正再アップです。

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2再アップです。
https://pm.matrix.jp/CB/CBASICCG145beta02.zip
(build02)
・GetRGB()、GetHSV()、GetHSL()コマンドで、インデックス開始値が0の場合の不具合を修正しました。

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 虚数部で省略乗算があるので、
> Abs ((M-108)+((N-192)*i))→Mat V[M, N]
> とするとさらに高速化します。(^^)

あ、そこにもありました。(^^;

> あ゛…微妙に残ってますね。(^^;
> ってことで、全消しにしてみました。

修正確認しました。

> "RGB(" / "HSV(" / "HSL(" / "GetRGB(" / "GetHSV(" / "GetHSL(" の各コマンドが、
> "Matrix base: 0" の場合のリストに対応できていないようです。

"GetRGB(" / "GetHSV(" / "GetHSL(" で出力されるリストのインデックス開始値が 1 のままです。

'#Mat 0
ClrMat
GetRGB(0)→L1
GetHSV(0)→L2
GetHSL(0)→L3

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、

>"M×N" に修正したところ、2 倍以上速くなりました。
>1 ドットずつは 1.28 秒、"Seq(" 使用は 1.25 秒です。こうなると "Seq(" のほうが速いようですね。

微妙な差ですが、Seqの効果が出てますね。


>M を実部、N を虚部とし、M, N の係数を等しくして絶対値をとれば円形が浮かび上がります。

お見事です!
これはちょっと、いや、かなり感動しますね。(^^)

>Abs ((M-108)+(N-192)i)→Mat V[M, N]

虚数部で省略乗算があるので、
Abs ((M-108)+((N-192)*i))→Mat V[M, N]
とするとさらに高速化します。(^^)


>では、バグ報告です。
>ファイルの改名時、上書き確認ポップアップが出たときに [F4] / [F5] が消去できていません。

あ゛…微妙に残ってますね。(^^;
ってことで、全消しにしてみました。


>"RGB(" / "HSV(" / "HSL(" / "GetRGB(" / "GetHSV(" / "GetHSL(" の各コマンドが、
>"Matrix base: 0" の場合のリストに対応できていないようです。

うわ、これは思いっきり考慮されてませんでした!(^^;

ってことで、修正アップデートbuild02です。(^^)

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その2
https://pm.matrix.jp/CB/CBASICCG145beta02.zip
(build02)
・VarPtr()コマンドで行列/List/Vctを指定した場合、その添字が常に実数評価されていた不具合を修正しました。
・RGB()、HSV()、HSL()コマンドの引数がListの場合、インデックス開始値が0の場合の不具合を修正しました。

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その2
https://pm.matrix.jp/CB/CBASIC245beta02.zip
(build02)
・VarPtr()コマンドで行列/List/Vctを指定した場合、その添字が常に実数評価されていた不具合を修正しました。
・FKeyMenuコマンドにカラー引数があってもエラーにならないように修正しました。

Re^11: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> これはMNが乗算省略のせいで少し遅くなったかもしれません。(^^;

あ、そういえばそうでした。(^^;

"M×N" に修正したところ、2 倍以上速くなりました。
1 ドットずつは 1.28 秒、"Seq(" 使用は 1.25 秒です。こうなると "Seq(" のほうが速いようですね。

> 原因が分かりました!
> 実行モード別での処理分けが無く、デフォルトの実数モードのままになってました。
> ってことで、build02で修正してみます。(^^)

よろしくお願いします。(^^)

> 良いアルゴリズムが出来たら実装したいと思います。(^^)

趣旨とはちょっと外れますが、こんなこともやってみました。

M を実部、N を虚部とし、M, N の係数を等しくして絶対値をとれば円形が浮かび上がります。

========================================
'#Mat 0
'#CBCPLX
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
For 0→N To 383
Abs ((M-108)+(N-192)i)→Mat V[M, N]
Next
'_DispVram@M−24, M−24
Next

========================================

では、バグ報告です。

ファイルの改名時、上書き確認ポップアップが出たときに [F4] / [F5] が消去できていません。

"RGB(" / "HSV(" / "HSL(" / "GetRGB(" / "GetHSV(" / "GetHSL(" の各コマンドが、
"Matrix base: 0" の場合のリストに対応できていないようです。

Re^10: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>昨日、新機種 fx-9860GIII の情報を、2回アップデートしています。
>どうやら、カシオヨーロッパが公式に製品情報を公開したようです。
https://egadget.blog.fc2.com/blog-entry-715.html

予想以上に早い発売になりそうですね。(^^)
あとは、日本での扱いがどうなるかです。(^^;



Colon様、
>純正では有り得ない使い方ですから、sentaro様にはひたすら感謝です!!
>大画面、整数モード、ML コマンド、フルカラー、カラーコード、メモリアドレス指定、時間計測……、
>こうして見るとかなり多くの拡張機能を使用していますね。

こちらこそ、強力なサポートをいつもありがとうございます!
純正で出来ないことを出来るようにするのがC.Basicなので、かなりのことが出来るようになりましたね。(^^)


>グラフィック画面側のプログラムが一部最適化出来ていなかったので、以下にもう一度まとめておきます。

シンプルながら奥の深いプログラムだと思います。(^^)


>※ "Seq()" コマンドを使い、VRAM に 1 行ずつ直接書き込み。今度は逆に遅くなってしまった。

これはMNが乗算省略のせいで少し遅くなったかもしれません。(^^;


>後でアイコンデータの提供をお願いするかもしれません。
>その際は、アイコンデータを欲しい形式のファイルに出力するプログラムをお送りするので、出てきたファイルを下さると助かります。m(_ _)m

了解です!
おまかせください。(^^)


>メモリが違うことも関係してそうですね。

CG20はPtune2効果でメモリアクセスが限界近くまで速くなってますが、
CG50はノーマル状態だとウエイトが入ってるのでちょっと遅くなってますね。(^^;
それとクロックがスペクトラム拡散で実質-3%になるので、それも多少効いてきます。(^^;


>CG20 ではメモリ不足です。(^^;

あ゛、そうでした!(^^;


>何行かを一度に表示するのも試してみましたが、CG20 では 8 行ずつが一番速く、それ以降はだんだん遅くなるようです。

このあたりは実際にやってみるまで分からないのが面白いですね。



> ソースを眺めてもどこが悪いのかすぐに分からないので、要調査です。(^^;
>分かりました。
>私の方でももう少し調べてみます。

原因が分かりました!
実行モード別での処理分けが無く、デフォルトの実数モードのままになってました。
ってことで、build02で修正してみます。(^^)


>お! やってみます。(^^)
>実践向けではないかもしれませんが、グラフィックス描画のアルゴリズムの理解に役立ちそうです。

良いアルゴリズムが出来たら実装したいと思います。(^^)

エントリー違いですが...

sentaro様

昨日、新機種 fx-9860GIII の情報を、2回アップデートしています。
どうやら、カシオヨーロッパが公式に製品情報を公開したようです。

https://egadget.blog.fc2.com/blog-entry-715.html

Re:Re: Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>2/11 18:53 のコメントですが、ご覧になっていますか?
>ひょっとして、読み飛ばしているかも知れないかと思い、念のため...

あ゛゛゛…すみません!思いっきり見逃してました。(^^;


>これは、Manual_J.txt の修正でしょうか?

Change_J.txt/Change_EN.txtだけの修正でした。(^^;


>Ver 2.44β16 と Ver 2.45β の両方とも再ダウンロードしました。(例)からカラー設定は無くなっていますが、(書式) のところでカラー設定が残っていて、修正されていないようです。

この際、FX版においても、カラー指定の引数があってもエラーにならないようにしてみます。
その利点は、FKeyMenuのプログラムが共通化できます。(^^;


@CalcLoverHK
The emulator does not save the setting data of Ptune2, so save the data on Ptune2 side.(^^)
(e.g) [SHIFT]+[F2](to save setting sata into [F2])
[SHIFT]+[F1](SAVE all setting)

>How do I enter 2047 in FLL? I can only keep pressing right button to increase it.

Yes!
Press and hold right button to increase.(^^;

Ptune2 FLL stucked

Hi Sentaro21

I try to reach this setting:
https://pm.matrix.jp/upload/upload.cgi?get=00076

But later I stuck on 1678 in FLL setting.
And I can't load the data saved when I close fx-CG20 emulator.
(I use Windows XP 32-bit VM with 1.5GB RAM and 2 cores)

How do I enter 2047 in FLL? I can only keep pressing right button to increase it.

Cheers
CalcLoverHK

Re: Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

sentaro様


2/11 18:53 のコメントですが、ご覧になっていますか?
ひょっとして、読み飛ばしているかも知れないかと思い、念のため...

Re^9: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> この一連のプログラム、楽しく遊ばせて貰いました。
> C.Basic のグラフィックス動作の高速性を示すとても良いサンプルプログラムだと思います。

純正では有り得ない使い方ですから、sentaro様にはひたすら感謝です!!

> また、C.Basic独自の設定やコマンドを紹介する良いネタですね。

大画面、整数モード、ML コマンド、フルカラー、カラーコード、メモリアドレス指定、時間計測……、

こうして見るとかなり多くの拡張機能を使用していますね。

> Colon様の一連のプログラムを使って、純正用 COLORTEXT を基点として、C.Basicでの様々なテクニックを紹介してゆくような構成の記事にさせて貰いたいと思うのですが、よろしいでしょうか?

もちろん OK です。(^^)
グラフィック画面側のプログラムが一部最適化出来ていなかったので、以下にもう一度まとめておきます。

========================================
〈ランダム 1〉(実行時間: 2.25 秒)

'#CBINT
Screen.G
_ClrVram
'_ClrScreen

For -24→Y To 191
For 0→X To 383
RGB(#RanInt#(1, 65535))_Pixel X, Y
Next
'_DispVram@M−24, M−24
Next

※ 通常の方法。ML コマンド使用。

========================================
〈ランダム 2〉(実行時間: 1.68 秒)

'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
For 0→N To 383
RanInt#(1,65535)→Mat V[M, N]
Next
'_DispVram@M−24, M−24
Next

※ VRAM に 1 ドットずつ直接書き込み。

========================================
〈ランダム 3〉(実行時間: 0.45 秒)

'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
CrlMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
384→Dim Dim List 1.W(VarPtr(Mat V[M%]))
RanInt#(1,65535, 384)→List 1.W
'_DispVram@M−24, M−24
Next

※ VRAM に 1 行ずつ直接書き込み。

========================================

いずれも、"_ClrScreen" と "_DispVram@M−24, M−24" のコメント化解除で 1 行ずつ画面転送する様子を観察できます。

また、ランダムではなく座標からカラーコードを計算させるのもやってみました。

========================================
〈足し算 1〉(実行時間: 1.24 秒)

'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
For 0→N To 383
M+N→Mat V[M, N]
Next
'_DispVram@M−24, M−24
Next

※ VRAM に 1 ドットずつ直接書き込み。

========================================
〈足し算 2〉(実行時間: 1.19 秒)
'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
384→Dim Dim List 1.W(VarPtr(Mat V[M%]))
Seq(M+N, N, 0, 383, 1)→List 1.W
'_DispVram@M−24, M−24
Next

※ "Seq()" コマンドを使い、VRAM に 1 行ずつ直接書き込み。若干速くなった。

========================================
〈掛け算 1〉(実行時間: 2.42 秒)
'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
For 0→N To 383
MN→Mat V[M, N]
Next
'_DispVram@M−24, M−24
Next

※ VRAM に 1 ドットずつ直接書き込み。

========================================
〈足し算 2〉(実行時間: 3.57 秒)
'#Mat 0
'#CBINT
Screen.G
_ClrVram
'_ClrScreen
ClrMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
384→Dim Dim List 1.W(VarPtr(Mat V[M%]))
Seq(MN, N, 0, 383, 1)→List 1.W
'_DispVram@M−24, M−24
Next

※ "Seq()" コマンドを使い、VRAM に 1 行ずつ直接書き込み。今度は逆に遅くなってしまった。

========================================

1 ドットずつと 1 行ずつのどちらが速いかは、計算内容によって異なるようです。


sentaro様、
> アップしてみました。(^^)
https://pm.matrix.jp/upload/upload.cgi?get=00087
https://pm.matrix.jp/upload/upload.cgi?get=00088

ありがとうございます! (^^)
流用できそうなアイコンがいくつかありますね。

後でアイコンデータの提供をお願いするかもしれません。
その際は、アイコンデータを欲しい形式のファイルに出力するプログラムをお送りするので、出てきたファイルを下さると助かります。m(_ _)m

> CG50では2.53秒程度です。(^^;
> こちらは1.84秒でした。(^^;
> で、CG50では0.58秒で若干遅めです。(^^;

メモリが違うことも関係してそうですね。

> ここを入れ替えて、
> 384→Dim Dim List 1.W(VarPtr(Mat V[M%]))
> RanInt#(1,65535, 384)→List 1.W
> とすると、ダイレクトで書き込めるので、
> List 1→List 2
> が必要なくなりますね。

ありがとうございます!
投稿してから気づきました。(^^;

> さらには、
> 384*216→Dim Dim List 1.W(VarPtr(System(1))
> RanInt#(1,65535, 384*216)→List 1.W
> で一発でダイレクトに書き込めます。(^^;

CG20 ではメモリ不足です。(^^;

何行かを一度に表示するのも試してみましたが、CG20 では 8 行ずつが一番速く、それ以降はだんだん遅くなるようです。

> ソースを眺めてもどこが悪いのかすぐに分からないので、要調査です。(^^;

分かりました。
私の方でももう少し調べてみます。

> さらには、描画系のコマンドを使わずに円を描いたり線を引くとかも、面白そうです。(^^)

お! やってみます。(^^)
実践向けではないかもしれませんが、グラフィックス描画のアルゴリズムの理解に役立ちそうです。

Re^8: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>修正確認しました。

ありがとうございます!
一安心ですね。(^^)


>中国語版マニュアルを見ると {行} になっていますが、#1380 以降に {LINE} / {行} のアイコンはありますか?
>よろしければ、イースターエッグから #1380 以降のキャプチャーをいただけると助かります。

アップしてみました。(^^)
https://pm.matrix.jp/upload/upload.cgi?get=00087
https://pm.matrix.jp/upload/upload.cgi?get=00088


>ところで、管理人様の COLORTXT (https://egadget.blog.fc2.com/blog-entry-511.html) に触発されて色々遊んでみました。

カラーサンプルとして秀逸ですよね。(^^)


>カラーコードに対応していただいているので、簡潔に書けるのがありがたいです。
>"■" を漢字に変えても何かのポスターみたいになって面白いです。

カラーコードはダイレクト指定できるのはやはり便利ですね。
漢字がいっぱいなのは面白いかもです。(^^)


>次に、ベンチマークも兼ねて画面を 1 ドットずつランダムに塗りつぶすことに挑戦。
>実行時間は 117.96 MHz (Ptune2 の [F3]) / リフレッシュ無しのものです。

いいですね!(^^)


>'#CBINT
>Screen.G
>_ClrVram

>For -24→Y To 191
>For 0→X To 383
>RGB(#RanInt#(1, 65535))_Pixel X, Y
>Next:Next

>実行時間は 2.24 秒でした。

CG50では2.53秒程度です。(^^;


>次に、VRAM へ直接書き込んでみると、

>'#Mat 0
>'#CBINT
>Screen.G
>_ClrVram
>CrlMat
>{216, 384}→Dim Dim Mat V.W(System(1))

>For 0→M To 215
>For 0→N To 383
>RanInt#(1,65535)→Mat V[M, N]
>Next:Next

>実行時間は 1.68 秒で、ML コマンドを使うよりも速いようです。

こちらは1.84秒でした。(^^;
MLコマンドはオプション処理で多少のオーバーヘッドがありますね。(^^;


>さらに、ループ回数を減らすべく "RanInt#()" の List 出力で 1 行ずつ描画してみます。

>'#Mat 0
>'#CBINT
>Screen.G
>_ClrVram
>CrlMat
>{216, 384}→Dim Dim Mat V.W(System(1))

>For 0→M To 215
>RanInt#(1,65535, 384)→List 1.W
>384→Dim Dim List 2.W(VarPtr(Mat V[M%]))
>List 1→List 2
>Next:Next

>これで 0.47 秒。ほぼ一瞬です。

Listが絡むと一瞬何をやっているか分からなくなりそうな裏技プログラムですね。(^^;
で、CG50では0.58秒で若干遅めです。(^^;

ここを入れ替えて、
384→Dim Dim List 1.W(VarPtr(Mat V[M%]))
RanInt#(1,65535, 384)→List 1.W
とすると、ダイレクトで書き込めるので、
List 1→List 2
が必要なくなりますね。

さらには、
384*216→Dim Dim List 1.W(VarPtr(System(1))
RanInt#(1,65535, 384*216)→List 1.W
で一発でダイレクトに書き込めます。(^^;


>ここでバグを発見。
>384→Dim Dim List 2.W(VarPtr(Mat V[M%])) のところで、"%" を省略すると倍精度変数を参照してしまうようです。
>確認お願いします。

確認できました!
ソースを眺めてもどこが悪いのかすぐに分からないので、要調査です。(^^;




管理人様、
>この一連のプログラム、楽しく遊ばせて貰いました。
>C.Basic のグラフィックス動作の高速性を示すとても良いサンプルプログラムだと思います。

管理人様のCOLORTXTが引き出したプログラムですね。(^^)


>また、C.Basic独自の設定やコマンドを紹介する良いネタですね。
>Colon様の一連のプログラムを使って、純正用 COLORTEXT を基点として、C.Basicでの様々なテクニックを紹介してゆくような構成の記事にさせて貰いたいと思うのですが、よろしいでしょうか?

VarPtrやVRAMを割り当てるプログラムとして簡単で秀逸なプログラムですね。
さらには、描画系のコマンドを使わずに円を描いたり線を引くとかも、面白そうです。(^^)

Re^7: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!


> ところで、管理人様の COLORTXT (https://egadget.blog.fc2.com/blog-entry-511.html) に触発されて色々遊んでみました。
> これに伴い、バグも見つけたので併せて報告します。

この一連のプログラム、楽しく遊ばせて貰いました。
C.Basic のグラフィックス動作の高速性を示すとても良いサンプルプログラムだと思います。

また、C.Basic独自の設定やコマンドを紹介する良いネタですね。
Colon様の一連のプログラムを使って、純正用 COLORTEXT を基点として、C.Basicでの様々なテクニックを紹介してゆくような構成の記事にさせて貰いたいと思うのですが、よろしいでしょうか?

Re^6: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

sentaro様

> あ゛…CG版からそのままコピペしてたので思いっきりミスってます。(^^;
> ってことで、修正再アップしました!

これは、Manual_J.txt の修正でしょうか?

Ver 2.44β16 と Ver 2.45β の両方とも再ダウンロードしました。(例)からカラー設定は無くなっていますが、(書式) のところでカラー設定が残っていて、修正されていないようです。


Re^6: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 概ね直りましたが、次の場合の [1, 1] 選択時、必要な "→" が表示されません。
> ・ 1bit / nibl 型で要素が横に 9 つ
> ・ byte 型で要素が横に 7 つ
> ・ word / long / Dbl 型で要素が横に 5 つ
> ・ CPLX 型で要素が横に 4 つ
> 直っておりません。(^^;

修正確認しました。

> 2,147,483,647の行列は、1ビット行列でも、256メガバイト必要です。(^^;

あ、冷静に考えればそうですね。

> 切り欠きのある黒アイコンですね。

中国語版マニュアルを見ると {行} になっていますが、#1380 以降に {LINE} / {行} のアイコンはありますか?

よろしければ、イースターエッグから #1380 以降のキャプチャーをいただけると助かります。


ところで、管理人様の COLORTXT (https://egadget.blog.fc2.com/blog-entry-511.html) に触発されて色々遊んでみました。
これに伴い、バグも見つけたので併せて報告します。

まず、C.Basic の大画面とフルカラーに対応して移植。

For 0→Y To 8
For 1→X To 21
RGB(#RanInt#(1, 65535))Locate X, Y, "■"
Next:Next

カラーコードに対応していただいているので、簡潔に書けるのがありがたいです。
"■" を漢字に変えても何かのポスターみたいになって面白いです。

次に、ベンチマークも兼ねて画面を 1 ドットずつランダムに塗りつぶすことに挑戦。
実行時間は 117.96 MHz (Ptune2 の [F3]) / リフレッシュ無しのものです。

まずは普通に ML コマンドを使用。

'#CBINT
Screen.G
_ClrVram

For -24→Y To 191
For 0→X To 383
RGB(#RanInt#(1, 65535))_Pixel X, Y
Next:Next

実行時間は 2.24 秒でした。

次に、VRAM へ直接書き込んでみると、

'#Mat 0
'#CBINT
Screen.G
_ClrVram
CrlMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
For 0→N To 383
RanInt#(1,65535)→Mat V[M, N]
Next:Next

実行時間は 1.68 秒で、ML コマンドを使うよりも速いようです。

さらに、ループ回数を減らすべく "RanInt#()" の List 出力で 1 行ずつ描画してみます。

'#Mat 0
'#CBINT
Screen.G
_ClrVram
CrlMat
{216, 384}→Dim Dim Mat V.W(System(1))

For 0→M To 215
RanInt#(1,65535, 384)→List 1.W
384→Dim Dim List 2.W(VarPtr(Mat V[M%]))
List 1→List 2
Next:Next

これで 0.47 秒。ほぼ一瞬です。

ここでバグを発見。
384→Dim Dim List 2.W(VarPtr(Mat V[M%])) のところで、"%" を省略すると倍精度変数を参照してしまうようです。
確認お願いします。

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、
>Ver 2.45 の FKeyMenu( の説明でカラーオプションがあり、(例)に BLue とカラー指定されています。
>カラー設定はFX版で動作させると、どうなるのでしょうか?

あ゛…CG版からそのままコピペしてたので思いっきりミスってます。(^^;
ってことで、修正再アップしました!


>取り得ず、FX版ではカラー設定が無い前提で、内容を趨勢してアップデート対応しました。
https://egadget.blog.fc2.com/blog-entry-495.html

ありがとうございます!(^^)

Re^5: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

Ver 2.45 の FKeyMenu( の説明でカラーオプションがあり、(例)に BLue とカラー指定されています。
カラー設定はFX版で動作させると、どうなるのでしょうか?

取り得ず、FX版ではカラー設定が無い前提で、内容を趨勢してアップデート対応しました。
https://egadget.blog.fc2.com/blog-entry-495.html

Re^4: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ネーミングで暫く笑いました。

ありがとうございます!(^^;


>おっ! これはありそうでなかった便利な機能ですね! (^^)

そうなんです。
文字列も8ビットコードなのでSortA/SortDでいけるかなと思ったら全然駄目でした。
プログラムでソートアルゴリズムを組むしかなかったので、少し便利になったと思います。(^^)


>概ね直りましたが、次の場合の [1, 1] 選択時、必要な "→" が表示されません。
>・ 1bit / nibl 型で要素が横に 9 つ
>・ byte 型で要素が横に 7 つ
>・ word / long / Dbl 型で要素が横に 5 つ
>・ CPLX 型で要素が横に 4 つ
>直っておりません。(^^;

あ゛…(^^;
だいじょうぶかと思ったんですが、
私のチェックの甘さが思いっきり露呈してますね。(^^;
ってことで、2.45/1.45修正&差し替えしております。


>あれ、そうなんですね。← CG20 ユーザー

2,147,483,647の行列は、1ビット行列でも、256メガバイト必要です。(^^;


>ところで、ひらめきました!
>こういうのはどうでしょうか? > 皆様

>Fkey 相談用資料 第4弾
https://pm.matrix.jp/upload/upload.cgi?get=00085

>外部フォントありの場合を "+" で表示します。

"+"は個人的にはすごく名案だと思います!(^^)


>これで良ければ「白 / 黒 / 選」アイコン全 144 個は確定です。(^^)

私の方は何も異存ありませんです!


>ところで、Python 機能のソースエディタのジャンプ機能で、行数指定ジャンプのファンクションメニューが {LINE} になっているそうですが、これは「白」か「黒」かどっちになっているでしょうか?

切り欠きのある黒アイコンですね。


>現状、C.Basic では行数指定ジャンプに「白」の {GO} を使っていますが、機能的に「白」で良いのか確信が持てずにいます。
>何なら、Python に合わせて {LINE} に変えてもいいかなぁ、ぐらいに考えています。

純正CasioBasicでは相当の機能が無いので、[LINE]でもいいかもですね。(^^)

Re^3: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)
> C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)

ネーミングで暫く笑いました。


> ・SortA()/SortD()コマンドに文字配列のソートを追加しました。

おっ! これはありそうでなかった便利な機能ですね! (^^)


> 横幅が少なく "→" が不要な場合にも表示されてしまっています。

概ね直りましたが、次の場合の [1, 1] 選択時、必要な "→" が表示されません。

・ 1bit / nibl 型で要素が横に 9 つ
・ byte 型で要素が横に 7 つ
・ word / long / Dbl 型で要素が横に 5 つ
・ CPLX 型で要素が横に 4 つ

> また、ドットエディタ時に最も右の位置で "→" が不要な場合にも表示されてしまっています。

直っておりません。(^^;

> サポートは出来ても実際には使えないという夢の数字ですね。(^^;

あれ、そうなんですね。← CG20 ユーザー


> 文字だけじゃなく図形な感じにするとか?
> アイコンのデザインは結構難しいですよね。(^^;

文字情報に限らないところが bmp アイコンの良いところですね。

ところで、ひらめきました!
こういうのはどうでしょうか? > 皆様

Fkey 相談用資料 第4弾
https://pm.matrix.jp/upload/upload.cgi?get=00085

外部フォントありの場合を "+" で表示します。

なお、このサンプルでは Mat 関係仕様確定によるアイコン整理も行っています。

これで良ければ「白 / 黒 / 選」アイコン全 144 個は確定です。(^^)


ところで、Python 機能のソースエディタのジャンプ機能で、行数指定ジャンプのファンクションメニューが {LINE} になっているそうですが、これは「白」か「黒」かどっちになっているでしょうか?

現状、C.Basic では行数指定ジャンプに「白」の {GO} を使っていますが、機能的に「白」で良いのか確信が持てずにいます。
何なら、Python に合わせて {LINE} に変えてもいいかなぁ、ぐらいに考えています。

Re:Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

@CalcLoverHK
Oh, sorry!
There was no official 2.44/1.44 version. (^^;
Since 2.44/1.44 build16 is the final of 2.44/1.44,
I'll make it official 2.44/1.44.

https://pm.matrix.jp/CB/CBASICCG144beta.zip
https://pm.matrix.jp/CB/CBASIC244beta.zip

2.45/1.45 will continue to improve.(^^)

Re: C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

@Sentaro21
Wait... Does 2.44 have no official version? Or is it 2.44 build 6 or 16?
And what is the difference between 2.44 build 16 and 2.45 build 1 and why? (^^;

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

SortA/SortDコマンドで文字列のソートに対応したので
1.44 build16→1.45 build01としてバージョンを繰り上げます。(^^)
FX版は、2.44 build06から2.44 build16→ 2.45 build01にジャンプしてます。(^^;
FKeyMenuの仕様はCG版と完全互換では無いですが、オプションは色以外はほぼ共通なので同様に使用できます。


Colon様、
>横幅が少なく "→" が不要な場合にも表示されてしまっています。
>また、ドットエディタ時に最も右の位置で "→" が不要な場合にも表示されてしまっています。

詰めが甘かったです。(^^;
ってことで修正しました。(^^)


>試しに外部フォント有りを反転してみましたが、「選」アイコン時のドット数の加減でダメでした。(^^;
>皆様、アイデア大募集中です!!!

文字だけじゃなく図形な感じにするとか?
アイコンのデザインは結構難しいですよね。(^^;


Colon様、
管理人様、
>→が表示されないこともありますよね?
>現在の画面デザインを維持する場合の対処療法としては、← の表示位置を少し左にずらし、列番号表示も左にずらし、→ 表示のスペースを確保する必要がありそうですね。

この表示は必ずしも必要なわけではないので、現状では見えない場合は仕方ないという仕様です。(^^;


>要素数も 2,147,483,647 までサポートされていることですし、大きい数における正式な表示形式を定められると良いですね。

サポートは出来ても実際には使えないという夢の数字ですね。(^^;



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その16
https://pm.matrix.jp/CB/CBASICCG144beta16.zip

C.Basic for CG v1.45β (さらに使いやすく色々と変更していってみる版)その1
https://pm.matrix.jp/CB/CBASICCG145beta.zip
(build01)
・SortA()/SortD()コマンドに文字配列のソートを追加しました。
(例)SortA($Mat A)
 Mat Aの文字列が昇順にソートされます。
・ReadMe、マニュアル更新しました。
・行列表示の←→表示を修正しました。
・g3mモードにおいてストレージメモリへのでのStoPictを無効にしました。


C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その16
https://pm.matrix.jp/CB/CBASIC244beta16.zip

C.Basic for FX v2.45β (さらに使いやすく色々と変更していってみる版)その1
https://pm.matrix.jp/CB/CBASIC245beta.zip
(build01)
・SortA()/SortD()コマンドに文字配列のソートを追加しました。
(例)SortA($Mat A)
 Mat Aの文字列が昇順にソートされます。
・ReadMe、マニュアル更新しました。
・行列画面で53以降の拡張領域の一覧表示をサポートしました。
[←]:26戻ります。
[→]:26進みます。

・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,アイコン色 [,アイコン背景色]]] )
 ※ "アイコン色" はデフォルトで黒い部分の色指定です。
 ※ "アイコン背景色" はデフォルトで白い部分の色指定です。
 ※ 3 番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
(書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,アイコン色 [,アイコン背景色]]] )
 ※ 3番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
 3番目のオプションは順不同です。
 C:消去します。
 M:マスク処理します。
 m:枠だけマスク処理します。
 N:ノーマル白アイコン。(省略可)
 R:右下が欠けた黒アイコン
 I:四角い黒アイコン
 S:縁取りのある黒アイコン
 U:文字列を1ドット上側に表示。
 L:表示範囲を左右2ドット広げます。

(例)FKeyMenu (1, "string",,Blue )
(例)FKeyMenu (2~3, "longstring",R)
(例)FKeyMenu (4~5, "longstring",I)

・やす(Krtyski)様 & CalcLoverHK様 & Colon様作成のFKeyMenu(コマンドのサンプルプログラムを同梱しました。(C.Basic_sample\FKeyMenu_sample)

・エディタで[SHIFT]を押したときに編集可能空きエリアのサイズをステータスエリアに表示するようにしました。

・System()コマンドにエミュレータ判定を追加しました。
(書式)System(-7)
 実機では0、エミュレータでは1が返ります。

・DBL#モードにおいて、一時停止と変数表示での虚数表示がされていたのを修正しました。
・変数表示をINT%,DBL#,CPLXで独立させました。

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版 再差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

> 現在の画面デザインを維持する場合の対処療法としては、← の表示位置を少し左にずらし、列番号表示も左にずらし、→ 表示のスペースを確保する必要がありそうですね。

番号の表示位置などに関しては、割り付けの面で純正と異なっていたり、横幅的に表示しきれない場合にどうするかなど、細かな検討が必要になりますね。
行列の型によっても表示位置が変わることもあり、地味だが大がかりな変更になることも予想されるので、これに関しては次のバージョン以降で検討するのがよいと思います。

要素数も 2,147,483,647 までサポートされていることですし、大きい数における正式な表示形式を定められると良いですね。

Re^2: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版 再差し替えです。

Colom様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

差替えアップデート対応しました。

ところで、行列表示において
> 横幅が少なく "→" が不要な場合にも表示されてしまっています。

→が表示されないこともありますよね?

現在の画面デザインを維持する場合の対処療法としては、← の表示位置を少し左にずらし、列番号表示も左にずらし、→ 表示のスペースを確保する必要がありそうですね。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版 再差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 抽出したところこんなところでした。(^^)

ありがとうございます!

#1263 はすでにサンプルに入れてあり、#1325 も "EXTEND" に置き換えるので、
あとは Vct 関係の「入」アイコン 6 つのみですね。

> FX版が[AKG]なので混同してしまいました。(^^;
> ここのアイコンは種類が多くなるので、ちょっと大変かもですね。(^^;

2^3 × 2 で 16 通りですかね。
種類が多い分には大体コピペで良いのでそこまで大変ではないですが、外部フォントであるか否かを示すために文字数が増えるので、簡潔に表す方法の検討が一番大変です。

試しに外部フォント有りを反転してみましたが、「選」アイコン時のドット数の加減でダメでした。(^^;

皆様、アイデア大募集中です!!!


> ・行列表示の←→表示を修正しました。

横幅が少なく "→" が不要な場合にも表示されてしまっています。

また、ドットエディタ時に最も右の位置で "→" が不要な場合にも表示されてしまっています。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版 再差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

追記にしようと思ったらパスワードが違いますということで、新規書き込みにさせていただきました。(^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版 再差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta15.zip
(build15)
・ReadMe、マニュアル更新しました。
・行列表示の←→表示を修正しました。

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>はい、対応している最中に差替えアップデートを見つけたので、最奥済みです。

お!さすが管理人様!、早いです!(^^)


>お疲れ様です。
>あとは、FX版のアップデートですね(^^)

はい、FX版はFKeyIconの調整が残ってますが、ほぼ同様のアップデートとなる感じです。(^^)



Colon様、
>このタイミングで申し訳ありませんが、ひとつバグを見つけました。
>行列エディタの横スクロールで、"←" と "→" が両方表示されるべき場合に、"→" が表示されていません。
>また、純正では矢印がマゼンタなので、C.Basic でもマゼンタにしてはいかがでしょうか?

確認しました。ありがとうございます!
これはかなり前からあった不具合ですね。(^^;
色も含めて次のアップデートで修正してみます。


>ところで、#1249 以降のアイコンのうち、使用しているものの一覧をいただけませんか?

抽出したところこんなところでした。(^^)

1263 "MAT/VCT"
1270 "Vct"
1269 "DotP("
1268 "CrossP("
1267 "Angle("
1265 "UnitV("
1266 "Norm("
1325 "Extd"


>現在は {Ex GK} のような表示ですが、この場合であっても ASCII 文字は入力できるので、そこをどううまく伝えようかというのが悩みどころです。

FX版が[AKG]なので混同してしまいました。(^^;
ここのアイコンは種類が多くなるので、ちょっと大変かもですね。(^^;

FKey Icon - CHAR 画面の表示内容について

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> ネットワーク接続が許されないところで金曜夕方から仕事をしていて、先ほど帰ってきました。

お疲れさまです!

> マニュアルの修正版は、うまく表現して分かりやすくなって、これなら誰でも分かる内容になったと思います。

ありがとうございます。(^^)


sentaro様、
このタイミングで申し訳ありませんが、ひとつバグを見つけました。

行列エディタの横スクロールで、"←" と "→" が両方表示されるべき場合に、"→" が表示されていません。
また、純正では矢印がマゼンタなので、C.Basic でもマゼンタにしてはいかがでしょうか?

ところで、#1249 以降のアイコンのうち、使用しているものの一覧をいただけませんか?

========================================
さて、本題です。

> 外部フォントが有効になっているものに対応して変化するタイプなので、
> AKGそれぞれのOn/Offで7種類必要かと思いますが、
> 日本語モードの場合は[Aあ外]のような感じでもいいかもですね。
> そこのところは、Colon様におまかせします。(^^;

現在は {Ex GK} のような表示ですが、この場合であっても ASCII 文字は入力できるので、そこをどううまく伝えようかというのが悩みどころです。

> 連続入力の印なので、「選」アイコンの方がいいかもしれません。(^^)

了解しました。(^^)

Re: Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


> 18:47に再アップしてますので、それ以前の場合は再ダウンロードよろしくお願いします。(^^)

はい、対応している最中に差替えアップデートを見つけたので、最奥済みです。

お疲れ様です。

あとは、FX版のアップデートですね(^^)

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>すべて修正を確認しました。

ありがとうございます!(^^)


>ファイル名の末尾に "_" がついたものがありますが、意図的なものでしょうか?

うわ、一つ前の古いバージョンの方を同梱してしまいました。(^^;
ってことで、差し替えアップしました。


>さて、「入」以外のアイコンですが、残るは CHAR 画面のみとなりました。
>まず、[F6] の表示内容をどうしましょうか?

外部フォントが有効になっているものに対応して変化するタイプなので、
AKGそれぞれのOn/Offで7種類必要かと思いますが、
日本語モードの場合は[Aあ外]のような感じでもいいかもですね。
そこのところは、Colon様におまかせします。(^^;


>また、現在反転を行っているアイコンについて、「選」アイコンに変更するかこのままの形式にするかどちらがよいでしょうか?

連続入力の印なので、「選」アイコンの方がいいかもしれません。(^^)



(追記)
タッチの差で管理人様が!

管理人様、
>ネットワーク接続が許されないところで金曜夕方から仕事をしていて、先ほど帰ってきました。
>ほんの2日でのコメント数の多さに驚き。その間改善が一気に進んでさらに驚く。
>お疲れ様です。

こちらこそ、おつかれさまです。
FKeyMenu()と行列表示画面はColon様の強力サポートのおかげで一段落しました。(^^)


>マニュアルの修正版は、うまく表現して分かりやすくなって、これなら誰でも分かる内容になったと思います。
>これから、とりあえずアップデート対応した上で、実際に触ってみたいと思います。

18:47に再アップしてますので、それ以前の場合は再ダウンロードよろしくお願いします。(^^)

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


ネットワーク接続が許されないところで金曜夕方から仕事をしていて、先ほど帰ってきました。
ほんの2日でのコメント数の多さに驚き。その間改善が一気に進んでさらに驚く。
お疲れ様です。

I worked at a special place where any personal communication is prohibited, I just came back home now. Only in 2 days I'm surprised at so many comments and improvement of Matrix list and FKeyMenu(.
Thank you for your good work.


@CalcLoverHK
The problem now you have is based on specification of the comment system.
When you upload an original comment, you need to input pass word in the single line input box "パスワード" which locates below comment input box. Unless you input the pass word, you cannot edit your original comment. This is what you face. So please input pass word, then please remember and input the pass word to edit your comment.


sentaro様、Colon様

マニュアルの修正版は、うまく表現して分かりやすくなって、これなら誰でも分かる内容になったと思います。

これから、とりあえずアップデート対応した上で、実際に触ってみたいと思います。

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 再修正しました。(^^)

すべて修正を確認しました。

> PCからでも半角スペースは1文字しか認識されないようです。
> 全角スペースだと全部Okみたいです。(^^)

私のスマホも全角スペースは大丈夫っぽいです。

ちなみに、たまに全角スペースの連続もダメな OS やブラウザがあるらしく、このため Wikipedia 日本語版では原則全角スペース禁止らしいです。

> ・ReadMe、マニュアル更新しました。

ファイル名の末尾に "_" がついたものがありますが、意図的なものでしょうか?


さて、「入」以外のアイコンですが、残るは CHAR 画面のみとなりました。

まず、[F6] の表示内容をどうしましょうか?

また、現在反転を行っているアイコンについて、「選」アイコンに変更するかこのままの形式にするかどちらがよいでしょうか?

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>Dot / Str モードと通常モードを切り替えても、通常モード側の進数設定が残っているのも良いですね!
>ワンタッチで「文字列↔️16 進数」を切り替えられるので、これは重宝することになりそうです。(^^)

ありがとうございます!
今回の一連のアップデートが「より使いやすくするアップデート」なので、良かったです。(^^)


>直っていない箇所と報告漏れ (すみません……) をお伝えします。

>・ 行列一覧画面の [F3] (DIM) で、X, Y が大文字のまま
>・ [SHIFT] + [F6] が {>Dec} の場合の修正漏れ
>・ ((NEW)) 1 bit 型の場合、[SHIFT] + [F5] / [F6] がマスク化されていない
>・ ((NEW)) 1 bit 型のドットエディタ時の [F1] (0<>1) を「白」アイコンに

>よろしくお願いします。

再修正しました。(^^)


>以下、マニュアル改定案です。
>ショートカットキー関連は一応書きましたが、不要ならば除去してください。

ありがとうございます!
ってことで更新してみました。(^^)


>※私のスマホのクリップボードの仕様上、いわゆる "半角スペース" が連続する場合にスペースの個数が変わってしまっているようです。

PCからでも半角スペースは1文字しか認識されないようです。
全角スペースだと全部Okみたいです。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta15.zip
(build15)
・ReadMe、マニュアル更新しました。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> はい、そのように仕様変更しています。(^^)

了解しました。

Dot / Str モードと通常モードを切り替えても、通常モード側の進数設定が残っているのも良いですね!
ワンタッチで「文字列↔️16 進数」を切り替えられるので、これは重宝することになりそうです。(^^)

> 修正してみました。(^^)

直っていない箇所と報告漏れ (すみません……) をお伝えします。

・ 行列一覧画面の [F3] (DIM) で、X, Y が大文字のまま
・ [SHIFT] + [F6] が {>Dec} の場合の修正漏れ
・ ((NEW)) 1 bit 型の場合、[SHIFT] + [F5] / [F6] がマスク化されていない
・ ((NEW)) 1 bit 型のドットエディタ時の [F1] (0<>1) を「白」アイコンに

よろしくお願いします。


以下、マニュアル改定案です。
ショートカットキー関連は一応書きましたが、不要ならば除去してください。

※私のスマホのクリップボードの仕様上、いわゆる "半角スペース" が連続する場合にスペースの個数が変わってしまっているようです。

-------------------------------------------------------------------------------
行列エディタ画面
-------------------------------------------------------------------------------
・行列一覧画面(操作方法は行列・リスト・ベクトル共通です。)
※アドレス指定で確保した行列は一覧表示で*マークが付きます。

-[F1] (DEL) 選択されている行列・リスト・ベクトルを消去します。
-[F2] (DEL-ALL) すべての行列・リスト・ベクトルを消去します。
-[F3] (DIM) 行列・リスト・ベクトルの次元、要素サイズ、インデックス開始値を設定します。
-[F4] (INITIAL) 選択されている行列・リスト・ベクトルのすべての要素を初期化します。
-[F5] (Mat#/Lst#/Vct#) 番号を指定してジャンプします。
-[F6] (A<>a) 大文字小文字(リストの場合は 1 - 26 と️ 27 - 52)を切り替えます。

-[EXE] 行列編集画面に入ります。(詳細後述)

-[SHIFT]+[F1] (>Mat) 行列一覧に切り替えます。
-[SHIFT]+[F2] (>List) リスト一覧に切り替えます。
-[SHIFT]+[F3] (>Vct) ベクトル一覧に切り替えます。

-[OPTN] Mat<>Listの切り替えをします。
-[VARS] Mat<>Vctの切り替えをします。

-[LEFT] 26 戻ります。
-[RIGHT] 26 進みます。

-[SHIFT]+[UP]/[DOWN] 1ページ分スクロールします。

・ 行列編集画面
※行列編集モード時に [SHIFT]+[8] (CLIP) でコピー、[SHIFT]+[9] でペースト出来ます。
 (C.Basic) 形式なのでエディタにて行列データをペースト出来ます。
※[SHIFT]+カーソルキーで改ページ出来ます。

-[F1] (EDIT) 行列の要素を編集します。
-[F2] (GO) 要素を指定してジャンプします。
-[F3] (INITIAL) すべての要素を初期化します。
-[F4] (>x,y / >m,n) 表示形式を切り替えます。

-[SHIFT]+[F5] (>Bin / >Dec) 10<>2進数表示を切り替えます(ニブル(4ビット)、バイト(1バイト)、ワード(2バイト)型行列で有効)。[F5] でショートカットできます。
-[SHIFT]+[F6] (>Hex / >Dec) 10<>16進数表示を切り替えます(1ビット、複素数(16バイト)型以外で有効、実数(8バイト)型は内部データをそのまま表示)。[F6] でショートカットできます。

-[SHIFT]+[F2] (DotEd) 数値編集モード<>ドットエディタを切り替えます。[OPTN] でショートカットできます。
-[SHIFT]+[F3] (StrEd) 数値編集モード<>文字列編集モードを切り替えます。[VARS] でショートカットできます。

以下、g3mモードのみ(1ビット行列を除く)
-[SHIFT]
[5] ニブル(4ビット)では4ビットカラー値を、それ以外では16ビットカラー値を入力します。
[6] 16ビットカラー値を入力します。(ニブル(4ビット)行列を除く)


(ドットエディタ)
※数値編集モードとの相違点のみ説明します。
・行列の各要素の値をカラーコードとして扱います。
 1ビット行列およびg1mモードでは0が白、1が黒です。
 ニブル(4ビット行列)では4ビットカラー値です。

-[F1] (0<>1) 要素の値を0<>1で切り替えます。(1ビット行列およびg1mモード)
-[F1] ファンクションメニューに表示されている色に切り替えます。(g3mモードかつ1ビット行列以外)
   ※既にその色である場合は黒に切り替えます。
-[SHIFT]+[F1] (↓) 選択している要素の色を [F1] に設定します。(g3mモードかつ1ビット行列以外)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

@CalcLoverHK
Thanks!
Actually, "," is more troublesome for parsing.
It is simpler to have a prefix character for each argument.^^


Colon様、
>お試し版のうちに仕様変更ということですね。

あ、そういうことになりますね。
もともとbuild版はお試し版でしたね。(^^;


>"~" を使うのは思い付きませんでした。
>こちらのほうが可読性が高くて良いですね。

ありがとうございます!
引数の省略での","が増えすぎると、その可読性のところでどうかなと思ってました。(^^)


>"FKeyMenu(" コマンドですが、不具合は見つけられませんでした。

チェックありがとうございます!
これで一安心ですね。(^^)


>管理人様 OK が出れば、これで完成で良いと思います。

アイコン幅を広げるオプション発案者のCalcLoverHK様もこれでいいとのことなので、決定ってことでいいでしょうか?(^^) >管理人様


>ところで、行列のエディタ画面も改善してくださっていたのですね。
>気づかずに済みません。

あ、いえいえ、すぐ直せるところは早めに直しておかないとなんやかんやで延び延びになってしまうので…(^^;


>{TOOL} をこの段階からマスク化表示しておくのは、導入予定ということでわかりやすいですね! (^^)

アイコンをマスク表示するというのはいろいろ使えますね。(^^)


>また、従来可能だった DotEdit かつ StrEdit や、(DotEdit または StrEdit) かつ (Bin または Hex) は出来ないように仕様変更、という認識でよろしいでしょうか?

はい、そのように仕様変更しています。(^^)


>次に、何点か修正していただきたい点です。
>・ エディタ画面での "->x, y" への変更に伴い、DIM ポップアップや設定の "Mat Dsp mode" の X, Y を x, y に変更
>・ 当面の間、[SHIFT] + [F2] を {DotEd} に変更。「選」になったときに見た目が悪いため。
>・ 同じ理由により、[SHIFT] + [F3] を {StrEd} に変更。
>・ [SHIFT] + [F4] (TOOL) は #284 に変更
>・ [SHIFT] + [F5] / [F6] (>Bin / >Hex / >Dec) は「白」アイコンに変更
>よろしくお願いします。

修正してみました。(^^)


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta15.zip

[18:36 追記あり] Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 元に戻しました。
> 上手く動作しているものは変更しては駄目ですね。(^^;
> ってことで、同じ色を指定した場合は文字列は描画されない、というのが仕様となります。

了解しました。(^^)

> 先の案を変更してみました。とりあえずお試し版です。(^^;

お試し版のうちに仕様変更ということですね。

"~" を使うのは思い付きませんでした。
こちらのほうが可読性が高くて良いですね。

[追記 2020/02/08 18:36]

"FKeyMenu(" コマンドですが、不具合は見つけられませんでした。
管理人様 OK が出れば、これで完成で良いと思います。


ところで、行列のエディタ画面も改善してくださっていたのですね。
気づかずに済みません。

{TOOL} をこの段階からマスク化表示しておくのは、導入予定ということでわかりやすいですね! (^^)

また、従来可能だった DotEdit かつ StrEdit や、(DotEdit または StrEdit) かつ (Bin または Hex) は出来ないように仕様変更、という認識でよろしいでしょうか?

次に、何点か修正していただきたい点です。

・ エディタ画面での "->x, y" への変更に伴い、DIM ポップアップや設定の "Mat Dsp mode" の X, Y を x, y に変更
・ 当面の間、[SHIFT] + [F2] を {DotEd} に変更。「選」になったときに見た目が悪いため。
・ 同じ理由により、[SHIFT] + [F3] を {StrEd} に変更。
・ [SHIFT] + [F4] (TOOL) は #284 に変更
・ [SHIFT] + [F5] / [F6] (>Bin / >Hex / >Dec) は「白」アイコンに変更

よろしくお願いします。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版

@Sentaro21
Oh, this syntax is good! I thought the "n~m" thing is impossible (^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

先の案を変更してみました。とりあえずお試し版です。(^^;

管理人様、CalcLoverHK様、Colon様、
サンプルプログラムを仕様変更に対応して書き換えております。(^^)


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その15仕様変更版
https://pm.matrix.jp/CB/CBASICCG144beta15.zip
(build15)
・FkeyMenu(コマンドの範囲指定の書式を変更しました。
(書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,アイコン色 [,アイコン背景色]]] )
 ※ "アイコン色" はデフォルトで黒い部分の色指定です。
 ※ "アイコン背景色" はデフォルトで白い部分の色指定です。
 ※ 3 番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
(例)FKeyMenu (1, "string",,Blue )
(例)FKeyMenu (2~3, "longstring",R,RGB(255,0,0))
(例)FKeyMenu (4~5, "longstring",I,Red ,Yellow )

Re^7: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>修正確認しました。

一安心です。(^^)


>恐らくこれの修正時にレイヤーがおかしくなっているみたいなので、確認お願いします。
>セットアップの {S.Mem} / {MainM} や、変数画面の {INT%} / {DBL#} / {CPLX} などで確認できます。

元に戻しました。
上手く動作しているものは変更しては駄目ですね。(^^;
ってことで、同じ色を指定した場合は文字列は描画されない、というのが仕様となります。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14再々修正差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta14c.zip


ところで、
FKeyMenu()の範囲指定ですが、
FKeyMenu(1,"ABCDE",R,3)

FKeyMenu(1~3,"ABCDE",R)
とするのはどうでしょうか?
","が続くので
アイコンはインを
純正でも、
0→A~Z
という範囲指定仕様がありますので、それに倣った感じです。(^^)

(書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,アイコン色 [,アイコン背景色]]] )

という感じになります。

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ダウンロードしてみたら何かおかしいみたいです。
> ってことで、ファイル名変更しました。(^^;

ありがとうございます。(^^)
無事ダウンロードできました。

> [F5] (Mat#/List#/Vct#) ですが、今度は奇数番目ブロックに跳ぶ場合に本来より 3 行下に行ってしまいます。
> あと、53 - 104 のときに [F6] がマスク化されない不具合があります。
> まず、マスクの色が "FKeyMenu(" コマンドの引数ではなく、事前にある Back-Color コマンドで指定する色になってしまっています。
> また、マスク範囲が右に 1 ドット広くなっています。

修正確認しました。

> 次に、文字列指定時に "アイコン色" と "アイコン背景色" が同じだと文字列のはみ出しが無くなるようですが、これは仕様でしょうか?

恐らくこれの修正時にレイヤーがおかしくなっているみたいなので、確認お願いします。

セットアップの {S.Mem} / {MainM} や、変数画面の {INT%} / {DBL#} / {CPLX} などで確認できます。

Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>前回のバージョンと変わっていないっぽいので、確認お願いします。(^^;

ダウンロードしてみたら何かおかしいみたいです。
ってことで、ファイル名変更しました。(^^;

https://pm.matrix.jp/CB/CBASICCG144beta14b.zip

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ちょこっと修正してみましたが、どうでしょう?
> 相変わらず簡潔ですが…(^^;

大丈夫だと思います。

> 修正しました。(^^)

前回のバージョンと変わっていないっぽいので、確認お願いします。(^^;

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
早速のバグ出しありがとうございます!(^^)

>私がごたごた書いたのは、SysCall 0x130 の加減で「省略すると黒になります」とか「デフォルトは黒です」とは断定できないためです。(^^;

あ、了解です。(^^)
ちょこっと修正してみましたが、どうでしょう?
相変わらず簡潔ですが…(^^;


>[F5] (Mat#/List#/Vct#) ですが、今度は奇数番目ブロックに跳ぶ場合に本来より 3 行下に行ってしまいます。
>あと、53 - 104 のときに [F6] がマスク化されない不具合があります。
>まず、マスクの色が "FKeyMenu(" コマンドの引数ではなく、事前にある Back-Color コマンドで指定する色になってしまっています。
>また、マスク範囲が右に 1 ドット広くなっています。
>次に、文字列指定時に "アイコン色" と "アイコン背景色" が同じだと文字列のはみ出しが無くなるようですが、これは仕様でしょうか?

修正しました。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta14.zip
(build14)
・行列画面で53以降の拡張領域の一覧表示をサポートしました。
[←]:26戻ります。
[→]:26進みます。
・FkeyMenu(コマンドを拡張しました。
(書式xx)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,アイコン色 [,アイコン背景色]]]] )
 ※ "アイコン色" はデフォルトで黒い部分の色指定です。
 ※ "アイコン背景色" はデフォルトで白い部分の色指定です。
 ※ 3 番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
(例)FKeyMenu (1, "string",,,Blue )
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0))
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0),Yellow)



@CalcLoverHK
Thanks!
I hope that changing the Fkey color will expand the possibilities of the application.(^^)

>you check all the commands that has similar structure to FKeyMenu (and implied this to them?

There are many similar cases in ML commands.

Re^2: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

Hi all Japanese members

@ Sentaro21
Nice updates on supporting colors! I've been thinking about the necessity of this feature before you add it in C.Basic, but you made it possible anyway ^^

> After the omitted argument some other arguments can be put, and in this case "," is required right before the omitted parameter.Did

you check all the commands that has similar structure to FKeyMenu (and implied this to them?

@Krtyski
(Please remove my older message because this message is newer ^^; Thanks.)
When I tried to edit my comments, it always refresh the website and simply doesn't display the message I wanted to edit.The address bar after I clicked the edit link is https://egadget.blog.fc2.com/?no=685. But when clicking others' comments, it approved me, and auto-filled the necessary items and message.

I tried to type the address manually to get into the editing page to edit my message. (https://egadget.blog.fc2.com/?mode=edit&rno=5034/, my previous message no. is 5034) It succeed, but later when I clicked "sending", the system needs password. I don't even know the password (^^;

Do you know why?

Cheers
CalcLoverHK

"FKeyMenu(" バグチェック結果

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 76 通り "だけ" ってだいぶ感覚麻痺ですが……。(^^;

> たぶん、今回で仕様上のバグは潰せたと思いますが、
> Colon様チェックに合格すれば一安心できますね。(^^)

終わりました。(^^)

まず、マスクの色が "FKeyMenu(" コマンドの引数ではなく、事前にある Back-Color コマンドで指定する色になってしまっています。
また、マスク範囲が右に 1 ドット広くなっています。

これらの現象は、

Back-Color Black
FKeyMenu(1, "", CM

で確認できます。

次に、文字列指定時に "アイコン色" と "アイコン背景色" が同じだと文字列のはみ出しが無くなるようですが、これは仕様でしょうか?

(例)FKeyMenu(1, "ABCDEF")
(例)FKeyMenu(1, "ABCDEF",,, Black, Black)

この 2 つを実行していただければわかります。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> アイコン色は黒、背景は白と断定しました。(^^;
> 説明を短くしてしまうのは悪い癖ですね。(^^;

私がごたごた書いたのは、SysCall 0x130 の加減で「省略すると黒になります」とか「デフォルトは黒です」とは断定できないためです。(^^;


行列画面について。

[F5] (Mat#/List#/Vct#) ですが、今度は奇数番目ブロックに跳ぶ場合に本来より 3 行下に行ってしまいます。

あと、53 - 104 のときに [F6] がマスク化されない不具合があります。


では、これより "FKeyMenu(" のチェックに入ります。m(_ _)m

Re^10: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
投稿後にColon様のコメントが出てきたので、
コメントが前後してすみません!(^^;

>引数としてのアイコン色はすべてデフォルトで "黒" ですので、
>「"アイコン色" はデフォルトで黒い部分の色指定」という方向からの説明にしたほうがよいと思います。

アイコン色は黒、背景は白と断定しました。(^^;
説明を短くしてしまうのは悪い癖ですね。(^^;
次の最終build15で修正します。(^^)


>私が報告した List や Vct での不具合と似ていますね。
>List や Vct 側の不具合を修正したら自然と直るかも? ぐらいに思っておきます。
>番号と何行目かだけであれば Int÷ で相互変換できるので難しくありませんが、
>実配列がバラバラとなると大変ですね。(^^;

リスト表示上の順番と実際の行列の対応を勘違いというか間違えていたので、変てこなバグが発生していました。(^^;
ってことで今回で修正されたと思います。(^^)


>修正が入る度に 268 通りの動作チェックをしていると何回か日が暮れそうなので、(^^;
>管理人様ご報告のバグを修正していただいてから詳しいチェックに入ります。

>その上で、U/L オプションを考慮しなければ 76 通りのチェックだけで済むようなので、
>「次回の修正 → 76 通りチェック → 修正 → 76 通りでバグが無くなったら 268 通りチェック」
>という流れにしたいと思います。

>76 通り "だけ" ってだいぶ感覚麻痺ですが……。(^^;

たぶん、今回で仕様上のバグは潰せたと思いますが、
Colon様チェックに合格すれば一安心できますね。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>FKeyMenu(の Manual.J/E.txt での説明の修正案を前のコメントで提示したので、ご検討ください。

ありがとうございます!
背景色は画面ではなくてアイコン部分だけの背景なので、アイコン背景色としてみました。
で、まず、更新履歴の方から修正してみました。(^^)


Colon様、
>>Mat / Vct モードにおいて、上からスクロール時、53 に到達すると 53 が先頭行に移動してしまう不具合があります。
>Mat/List/Vctの53以前の実配列が順番で並んでなく飛び飛びなの上に、<r>,θ,Ansを挟むので、このあたりの調整がちょっと大変です。(^^;

なにかの勘違いで思いっきりミスしていました。(^^;
ってことで、修正しました。(^^)

バグ出しが落ち着けば、このあたりで1.44は打ち止めとしたいと思います。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14修正差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta14.zip
(build14)
・行列画面で53以降の拡張領域の一覧表示をサポートしました。
[←]:26戻ります。
[→]:26進みます。
・FkeyMenu(コマンドを拡張しました。
(書式xx)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,アイコン色 [,アイコン背景色]]]] )
 ※ 3 番目以降の引数は省略可能
 ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要
 ※ デフォルトのFKeyアイコン色は黒、アイコン背景色は白です。
(例)FKeyMenu (1, "string",,,Blue )
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0))
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0),Yellow)

Re^9: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
マニュアル改定案ありがとうございます!(^^)

> またすれ違ってしまいましたね(^^)

コメントを確認してレスするまでのリズムが似ているんでしょうね。

> オプションの "color" は、"Fkey icon Color" / "アイコン色" に変更
> オプションの "backcolor" は、"screen back color" / "画面背景色" に変更
> さらに、デフォルトの画面背景色の説明を追加する

良いと思います。(^^)

>  ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要

角括弧との対応関係を考えると、「省略した引数直 "前" に , が必要」になると思います。

>  ※ デフォルトのFKeyアイコン色は、
>    ・Nオプションかオプション省略時;"白"
>    ・I/R/S 設定時:"黒"

引数としてのアイコン色はすべてデフォルトで "黒" ですので、
「"アイコン色" はデフォルトで黒い部分の色指定」という方向からの説明にしたほうがよいと思います。


sentaro様、
> これに関しては、下にカーソルがある場合、53に移動したら、
> 本来は上に表示されるべきx,x,zが一回り大きくなって53~104に移動しまうので、53が先頭行に来るようにしています。(^^;

私が報告した List や Vct での不具合と似ていますね。
List や Vct 側の不具合を修正したら自然と直るかも? ぐらいに思っておきます。

> Mat/List/Vctの53以前の実配列が順番で並んでなく飛び飛びなの上に、<r>,θ,Ansを挟むので、このあたりの調整がちょっと大変です。(^^;

番号と何行目かだけであれば Int÷ で相互変換できるので難しくありませんが、
実配列がバラバラとなると大変ですね。(^^;

> うわ、268通り、(^^;

> とりあえず、管理人様の報告してくださった不具合を潰します。(^^)

修正が入る度に 268 通りの動作チェックをしていると何回か日が暮れそうなので、(^^;
管理人様ご報告のバグを修正していただいてから詳しいチェックに入ります。

その上で、U/L オプションを考慮しなければ 76 通りのチェックだけで済むようなので、
「次回の修正 → 76 通りチェック → 修正 → 76 通りでバグが無くなったら 268 通りチェック」
という流れにしたいと思います。

76 通り "だけ" ってだいぶ感覚麻痺ですが……。(^^;

Re: Re^8: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

Colon様、

> >管理人様が仰いたいのは、[F4] で「color: 黒、backcolor: 赤」になるべきが、「color: 黒、backcolor: 白」になってしまっているということではないでしょうか?

ありがとうございます。
異常の再現条件を探そうと思っていましたが、Colon様のように総当たり方式は想定外でした。




sentaro様、Colon様

FKeyMenu(の Manual.J/E.txt での説明の修正案を前のコメントで提示したので、ご検討ください。


Re^8: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>管理人様が仰いたいのは、[F4] で「color: 黒、backcolor: 赤」になるべきが、「color: 黒、backcolor: 白」になってしまっているということではないでしょうか?

不具合を確認しました。(^^;
ありがとうございます!


>[F5] (Mat#/List#/Vct#) で、79 - 104, 131 - 156, 183 - 208, 235 - 260, 287 - 312 に跳ぶ場合、正しい位置より 3 行上にジャンプしてしまいます。

確認できました。(^^;


>Mat / Vct モードにおいて、上からスクロール時、53 に到達すると 53 が先頭行に移動してしまう不具合があります。

これに関しては、下にカーソルがある場合、53に移動したら、
本来は上に表示されるべきx,x,zが一回り大きくなって53~104に移動しまうので、53が先頭行に来るようにしています。(^^;

>Vct モードにおいて、下からスクロール時、Vct 53 より上が大文字になっています (本来小文字であるべき)。
>List モードにおいて、1 - 26, 27 - 52, 59 - 84, 88 - 113, 53 - 78, 79 - 104, …… となっており、3, 4 ブロック目に余計なものが混入しています。

確認できました。(^^;

Mat/List/Vctの53以前の実配列が順番で並んでなく飛び飛びなの上に、<r>,θ,Ansを挟むので、このあたりの調整がちょっと大変です。(^^;


>"FKeyMenu(" の動作確認を網羅するには、少なくとも 268 通りのコードを実行しなければならないようなので、"FKeyMenu(" のバグ報告はまた後程……。(^^;

うわ、268通り、(^^;

とりあえず、管理人様の報告してくださった不具合を潰します。(^^)


>オプションによっては閉じ括弧が最後ではなく途中に来る場合もあると思うので、
>括弧の個数はきちんと合わせておいたほうがよいと思います。

了解です!


>私としては v1.50β くらいになったらもう一度マニュアルのタイポ等を修正しようと考えているので、
>取り敢えず sentaro様に入力していただいておいて、後から私が括弧の個数をチェックして直すという形式でも OK です。(^^)

校正前提だとちょっと安心できます。(^^;


>カスタム FKey Icon を導入するとマニュアル訂正が必要になるので、そのときに一緒にやってしまおうかなと考えています。

よろしくお願いします。(^^)

Re: [13:54 追記あり] Re^7: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

Colon様、

またすれ違ってしまいましたね(^^)

FkeyMenu( の色指定の仕様について、ようやく理解したので、それを踏まえてマニュアルの記載修正の提案をアップしたところです。

Re: Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


> FKeyMenu()での色指定ですが、
> これは文字色の色指定ではなくアイコン自体の色指定となっています。
> つまり文字列のない空白のアイコンを表示したときの色指定ということです。
> なので、文字色指定したつもりでの色指定だと、黒アイコンと白アイコンでは文字色は逆の色になってしまいます。

> ところで、C.Basicでは画面全体の背景色が変更できますが、FKeyMenu()ではその背景色指定の影響を受けません。
> デフォルトでは今まで通りの白背景の黒アイコンになります。
> ということで、アイコンの背景を画面全体の背景色に合わせるには個別に背景色指定が必要になります。
>
> 結構ややこしい仕様ですが、従来互換を考慮するとこういう仕様になってしまいました。(^^;

FKeyMenu( の色指定について、仕様をすっかり間違って受け止めていましたが、ようやく理解しました。

ありがとうございます。


すると、FKeyMenu( のコマンドリファレンスを、次のようにした方が分かりやすいかも知れません。

オプションの "color" は、"Fkey icon Color" / "アイコン色" に変更
オプションの "backcolor" は、"screen back color" / "画面背景色" に変更
さらに、デフォルトの画面背景色の説明を追加する

----------------------------------
FKeyMenu(
----------------------------------
(書式xx)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,アイコン色 [,画面背景色]]]] )
 ※ 3 番目以降の引数は省略可能
 ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要
 ※ デフォルトのFKeyアイコン色は、
   ・Nオプションかオプション省略時;"白"
   ・I/R/S 設定時:"黒"


----------------------------------
FKeyMenu(
----------------------------------
(Format xx)FKeyMenu( n, "string"/Icon # [,C/M/N/R/I/S/U/L [,m [,FKey icon color [,screen back color]]]] )
- 3rd or later arguments can be omitted.
- After the omitted argument some other arguments can be put, and in this case ","
   is required right before the omitted parameter.
- Default color of FKey icon is
  - White when N option is set or omitted
  - Black when R/I/S option are set


ユーザー向けには、このような書式説明なら、多分最初から分かるのではないかと思いますが、如何でしょうか?

[13:54 追記あり] Re^7: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、sentaro様、
> 以下を実行すると、

>  FKeyMenu(1,"Str",I,,Blue )
>  FKeyMenu(2,"Str",I,,Blue ,Red )
>  FKeyMenu(3,"Str",I,,White ,Red )
>  FKeyMenu(4"Str",I,,,Red )

> [F1]:文字色 White、背景 Blue
> [F2]:文字色 Red、背景 Blue
> [F3]:文字色 Red、背景 White
> [F4]:文字色 White、背景 Black

> 仕様通りになりません。

管理人様が仰いたいのは、[F4] で「color: 黒、backcolor: 赤」になるべきが、「color: 黒、backcolor: 白」になってしまっているということではないでしょうか?

> なお、文字色=透過色という点も、マニュアルに明記した方が良いと思われませんか?

これですが、「color はデフォルトで黒で表示される箇所の色指定、backcolor はデフォルトで白で表示される箇所の色指定だ」ということを説明すれば良いと思います。

あまり気にしていませんでしたが、確かに "color" / "backcolor" のみだと何処のことなのか分かりづらいですね。


sentaro様、
> よろしくお願いします。(^^)
> とりあえずリストの番号がおかしいバグが見つかりましたので修正再アップしてます。(^^;

取り敢えず行列画面のバグをまとめてお伝えします。

[F5] (Mat#/List#/Vct#) で、79 - 104, 131 - 156, 183 - 208, 235 - 260, 287 - 312 に跳ぶ場合、正しい位置より 3 行上にジャンプしてしまいます。
CG20 では完全には調べられませんが、26 ずつに分けたブロックの 4, 6, 8, 10, 12 個目で不具合が発生しているので、それ以降の偶数番目ブロックも同様のバグがあるのではと推測します。

Mat / Vct モードにおいて、上からスクロール時、53 に到達すると 53 が先頭行に移動してしまう不具合があります。

Vct モードにおいて、下からスクロール時、Vct 53 より上が大文字になっています (本来小文字であるべき)。

List モードにおいて、1 - 26, 27 - 52, 59 - 84, 88 - 113, 53 - 78, 79 - 104, …… となっており、3, 4 ブロック目に余計なものが混入しています。

"FKeyMenu(" の動作確認を網羅するには、少なくとも 268 通りのコードを実行しなければならないようなので、"FKeyMenu(" のバグ報告はまた後程……。(^^;


> この際、閉じカッコはひとつでも良くないですか?(^^;

オプションによっては閉じ括弧が最後ではなく途中に来る場合もあると思うので、
括弧の個数はきちんと合わせておいたほうがよいと思います。

私としては v1.50β くらいになったらもう一度マニュアルのタイポ等を修正しようと考えているので、
取り敢えず sentaro様に入力していただいておいて、後から私が括弧の個数をチェックして直すという形式でも OK です。(^^)

カスタム FKey Icon を導入するとマニュアル訂正が必要になるので、そのときに一緒にやってしまおうかなと考えています。

[追記] (2020/02/07 13:54)
SysCall 0x130 を見つけたときに使ったテストプログラムを走らせてみましたが、
現在の "FKeyMenu(" コマンドでは、"color" を省略した場合は SysCall 0x130 での設定に準拠し、"backcolor" を省略した場合は "White" になるという認識でよろしいでしょうか?

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ぱっといじって見たらまだバグがあったので、
>後程詳しく調査の上、Mat 画面のバグと併せて報告します。

よろしくお願いします。(^^)
とりあえずリストの番号がおかしいバグが見つかりましたので修正再アップしてます。(^^;

>閉じ角括弧が 1 つ多いです。(^^;

あ゛…多すぎました。(^^;
この際、閉じカッコはひとつでも良くないですか?(^^;



管理人様、
>build 14 の差替えアップデートに対応しました。

いつもありがとうございます!(^^)

>ということで、再修正版をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00084

こちらも早速にありがとうございます!(^^)


>FKeyMenu( の色設定で、予期せぬ動作をするので、ご確認ください。

>以下を実行すると、
> FKeyMenu(1,"Str",I,,Blue )
> FKeyMenu(2,"Str",I,,Blue ,Red )
> FKeyMenu(3,"Str",I,,White ,Red )
> FKeyMenu(4"Str",I,,,Red )

>[F1]:文字色 White、背景 Blue
>[F2]:文字色 Red、背景 Blue
>[F3]:文字色 Red、背景 White
>[F4]:文字色 White、背景 Black

>仕様通りになりません。
>異常発生の条件が掴み切れていません。

FKeyMenu()での色指定ですが、
これは文字色の色指定ではなくアイコン自体の色指定となっています。
つまり文字列のない空白のアイコンを表示したときの色指定ということです。
なので、文字色指定したつもりでの色指定だと、黒アイコンと白アイコンでは文字色は逆の色になってしまいます。

ちなみに、以前にColon様が大発見したところのファンクションアイコンの色指定ですが、
ここで指定された色がFKeyMenuでのアイコン色のデフォルト色になっています。
背景は白固定なので白設定は意味がありません。(^^;

----------------------------------------------
SysCall(0x130,0) // 黒アイコン(デフォルト)
SysCall(0x130,2,0) // 黒
SysCall(0x130,2,1) // 青
SysCall(0x130,2,2) // 緑
SysCall(0x130,2,3) // シアン
SysCall(0x130,2,4) // 赤
SysCall(0x130,2,5) // マゼンタ
SysCall(0x130,2,6) // 黄
SysCall(0x130,2,7) // 白(アイコン消滅(^^;

SysCall(0x130,1,0) //現在の色を取得
----------------------------------------------

ところで、C.Basicでは画面全体の背景色が変更できますが、FKeyMenu()ではその背景色指定の影響を受けません。
デフォルトでは今まで通りの白背景の黒アイコンになります。
ということで、アイコンの背景を画面全体の背景色に合わせるには個別に背景色指定が必要になります。

結構ややこしい仕様ですが、従来互換を考慮するとこういう仕様になってしまいました。(^^;

Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、


> 管理人様、
> またタッチの差でしたね。(^^;

ですね!
息がピッタリ合い過ぎます(^^)


Colon様、sentaro様、
1つ前の私のコメントに書いたように、文字色設定を追加したところで、バグがあるようです。

敢えてユーザー視線で考えてみますと、文字色設定を一番最後の引数にして貰った方が、有り難いです。
FKeyアイコンとして使う前提だと、透過色設定無しで背景設定したいことが、少なくとも私は多いと思うので、省略しやすい最後の引数を透過色設定にして頂きたいと感じます。

私としては、1つ前の透過色設定無しの方が使いやすいと感じていることも、透過色設定を最後の引数にしていただきたい理由になります。


なお、文字色=透過色という点も、マニュアルに明記した方が良いと思われませんか?

[10:59 修正あり] Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

[10:59 修正あり]

FKeyMenu( の色設定で、予期せぬ動作をするので、ご確認ください。

以下を実行すると、

 FKeyMenu(1,"Str",I,,Blue )
 FKeyMenu(2,"Str",I,,Blue ,Red )
 FKeyMenu(3,"Str",I,,White ,Red )
 FKeyMenu(4"Str",I,,,Red )

[F1]:文字色 White、背景 Blue
[F2]:文字色 Red、背景 Blue
[F3]:文字色 Red、背景 White
[F4]:文字色 White、背景 Black

仕様通りになりません。
異常発生の条件が掴み切れていません。

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
またタッチの差でしたね。(^^;

> 文字色で右下の三角領域や枠が描画されないほうが良いと思われませんか?

FKeyMenu(1, 1,,,, Cyan

などのことを考えると難しいと思います。
アイコンのデータの構成は「黒・白・透過」ではなく「黒・透過」であるためです (アイコンの背景色ではなく、あくまでアイコンの描画領域の背景色であることと同値)。

それから、アイコンを作る側としては三角領域の描画はそのままにしていただいたほうがありがたいです。
文字数や文字の並び方によっては右下領域にわざと文字をはみ出させる場合がありますが、これは三角領域と文字の色が同じである場合に発生する目の錯覚を利用して可読性を確保しているので、三角領域と文字色は同一でないとデザイン上不都合が生じます。(^^;

ということを考慮すると、見た目が気になるならば背景色指定は個々のアイコンに対してではなく、[F1] から [F6] までを指定した上で意味を持たせる、という使い方のほうがよいのかなと思います (気にならないならばあまり考えなくても良いですが)。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


build 14 の差替えアップデートに対応しました。

さて、
> FkeyMenu.g3mを差し替えましたが、
> 背景色が追加になったので、再修正お願いしました。
できれば幸いです。(^^)

ということで、再修正版をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00084


背景を設定すると、アイコンの全領域が指定色で塗られますよね。
すると、右下が欠けた四角 (Rオプション) と文字色を同時に指定すると、欠けている右下の三角領域が文字色になってしまうのは、チョット気になりました。

また、四角塗りつぶし(Iオプション)と文字色を同時に指定すると、文字色で枠が描画されます。

上のサンプルプログラムを走らせるとよく分かると思います。

文字色で右下の三角領域や枠が描画されないほうが良いと思われませんか?


Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

前回の投稿で冒頭の挨拶が抜けておりました。(^^;

sentaro様、
> ってことで、戻しました。(^^;

お手数お掛けする羽目になり、申し訳ございません。
仕様の前提条件の確認不足でした。

> 背景色を追加したので、FKeyMenu()としては一応の完成かと思います。
> ですが、バグはまだあるかもしれません。(^^;

これで一段落ですね。
ぱっといじって見たらまだバグがあったので、
後程詳しく調査の上、Mat 画面のバグと併せて報告します。

> (書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color [,backcolor]]]]] )

閉じ角括弧が 1 つ多いです。(^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、タッチの差で、すみません!(^^;
コマンドリファレンスの英訳をありがとうございます!(^^)


Colon様、
>埋めなきゃいけないわけではないので、
>従来通り無しで良いかと思います。

了解です。(^^)
ってことで、戻しました。(^^;


>あと、将来的に CSV のサポートをして欲しい気持ちもあるので、いずれにせよ機能追加の余地を残すために埋めすぎないほうがよいと思います。

CSVは純正とデータ互換が確保できるのでサポートしておきたいところですね。


>一応キーがどこか一箇所にまとまっていたほうが良いという考えで入れましたが、
>隠しキーではなく正式キーとして強く推奨していくのであれば、左右キーのみで良いと思います。

>というわけで、ばっさり整理して
>・ A - Z ないし 1 - 26 …… {[A]<>a} (26 進む)
>・ a - z ないし 27 - 52 …… {A<>[a]} (26 戻る)
>・ 53 以上 …… 無し、ないし {A<>a} マスク化
>とするのはどうでしょうか?

了解です。
その方向で修正してみました。(^^)


背景色を追加したので、FKeyMenu()としては一応の完成かと思います。
ですが、バグはまだあるかもしれません。(^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta14.zip
(build14)
・行列画面で53以降の拡張領域の一覧表示をサポートしました。
[←]:26戻ります。
[→]:26進みます。
・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color [,backcolor]]]]] )
 任意の色でファンクションアイコン表示が出来ます。
(例)FKeyMenu (1, "string",,,Blue )
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0))
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0),Yellow )


管理人様、
FkeyMenu.g3mを差し替えましたが、
背景色が追加になったので、再修正お願いできれば幸いです。(^^)

Re^7: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、
英訳ありがとうございます!(^^)

sentaro様、
> Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

もしや、また管理人様と「タッチの差」では……? (^^;


> [SHIFT]押したときのメニューは、
> (中略)
> [F4]~[F6]はどうしましょうか?

埋めなきゃいけないわけではないので、
従来通り無しで良いかと思います。

あと、将来的に CSV のサポートをして欲しい気持ちもあるので、いずれにせよ機能追加の余地を残すために埋めすぎないほうがよいと思います。


> 今の所、従来互換を考えて、52以下では今まで通り、53以上になっているときはAにダイレクトで戻る機能にしてますが、ジャンプ機能を新設する方が良いでしょうか?

私の想定自体が A - z の画面の時は大文字↔️小文字の切り替え、53 以上の画面の時は A - z 画面への切り替えというイメージだったので、同一画面で同一キーに複数の機能を割り当てる想定ではありませんでした。
また、{>A~z} は単なる画面の変更の想定だったので、先頭へ移動という意図ではありませんでした ([F5] で事足りるため)。

53 以降 52 ごとに切り替え方法を用意していたのも、1 - 1040 を同一画面にしない前提で考えたキープレスです。

現状、[F6] の機能が
・ A - Z ないし 1 - 26 …… 26 進む
・ a - z ないし 27 - 52 …… 26 戻る
・ 53 以上 …… 先頭へ (従来なかった機能)

となっているので、これは整理したほうがよいという考えからジャンプメニューの提案をした次第です。

> 500以上とかになると[F5]でダイレクトジャンプしてもいいですし、
> カーソルキーはリピートするので26ずつジャンプするのでも結構進むのでこれでもいいかなと思っていました。(^^;

一応キーがどこか一箇所にまとまっていたほうが良いという考えで入れましたが、
隠しキーではなく正式キーとして強く推奨していくのであれば、左右キーのみで良いと思います。

ちなみに、デフォルトのキーリピートの場合、左右キー 2.875 秒長押しで 1 周する計算ですね。


というわけで、ばっさり整理して
・ A - Z ないし 1 - 26 …… {[A]<>a} (26 進む)
・ a - z ないし 27 - 52 …… {A<>[a]} (26 戻る)
・ 53 以上 …… 無し、ないし {A<>a} マスク化

とするのはどうでしょうか?
もしマスク化するというのであれば、純正の {A<>a} と私の {A<>a} はドット数の割りが違うので、別途アイコンを用意します。

もしくは、FKeyMenu(6,"",M) でも良いかもしれません。

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>build 14 のアップデート対応は、昨晩済ませてあります。

いつもありがとうございます!(^^)


>(例)FKeyMenu (1, "string",,,Blue )
>, を省略して
>FKeyMenu (1, "string",Blue )>とするとエラーになりますよね。途中の , は書略できないような書式は、純正Casio Basicになくて、C.Basicならではのものと思います。

純正でもViweWindowで思いっきり省略可能なのを発見してましたので、
おそらく他のパラメータでも省略可能なものがあると思われます。(^^)
(例)
ViewWindow 1,128,0,1,63,1
ViewWindow ,,,,31
Fline 1,30,127,30


>それ以降にオプションが無い場合は、, を含めてオプションを省略可能ですが、あとにオプションが続く場合は、途中のオプションは省略できても、, は省略できない仕様ですよね。

はい、構文解釈の都合上”,”は省略不可能ですね。
省略できるとしたら、引数の型が全部違っている場合で、この場合には省略可能な構文解釈は可能ですが、何かと面倒です。(^^;
ただ、エラーチェックが甘いので、最後に”,”で終わってもエラーにならないこともあります。(^^;


>(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
> ※ 3 番目以降の引数は省略可能
> ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要

>といった感じですが、もっと分かりやすくて良い表現がありそうなのですが、スグに思いつきません。ここは皆様のお知恵拝借です。

仕様上は、Colon様が書かれている通りの以下の形になるかと思いますが、

>(書式)FKeyMenu( n, {<"文字列">/<アイコン番号>} [,[{C/M/N/R/I/S/U/L}][,[m][,[color]]]][)]

[]が多くなるので、簡潔に、こういう書き方を使用していました。(^^;

(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] [,m] [,color] )

”,”が省略できるコマンドは純正でもC.Basicでも無いと思いますが、
省略出来ないということはコマンド仕様例で示すこととしていました。

ってことで、
Colon様よりマニュアルでの記述例をから、
>(書式)FKeyMenu( n, {<"文字列">/<アイコン番号>} [, {C/M/N/R/I/S/U/L} [,m [,color]]][)]

これでひとまずいいのではないかと思いますが、
全部のコマンドを書き換えないといけないので、
凡例として複数の引数を持つコマンドで”,”が省略出来ない場合の説明を、
Colon様が示してくださいましたのでそれでいきたいと思います。(^^)


>ところで、7色のカラーコードとRGB( を使ったカラー設定を追加したサンプルプログラムをアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00083
>※ 16:19 に差替えアップしています。

早速のカラー対応ありがとうございます!
次のアップデートで差し替えます。(^^)



Colon様、
>まず、私が以前提案した ">53", ">107", …… については取り下げます。

あ゛…(^^;

では、
[SHIFT]押したときのメニューは、
[F1](>Mat)
[F2](>List)
[F3](>Vct)
[F4]??
[F5]??
[F6]??

[F4]~[F6]はどうしましょうか?


>次に、[F6] はもはや大文字小文字の切り替えや A - z への切り替えではないので、いっそのことジャンプ関係のメニューに入る機能を割り当てた方がわかりやすいと思います。

今の所、従来互換を考えて、52以下では今まで通り、53以上になっているときはAにダイレクトで戻る機能にしてますが、ジャンプ機能を新設する方が良いでしょうか?
500以上とかになると[F5]でダイレクトジャンプしてもいいですし、
カーソルキーはリピートするので26ずつジャンプするのでも結構進むのでこれでもいいかなと思っていました。(^^;


>となると、バックグラウンド指定も引数になりそうですね。(^^)

はい、そういうことになります。
で、背景はは白で固定のつもりだったのですが、、、


>一応動作確認したら、次の場合に事前の色指定コマンドが有効になってしまうようです。
>・ 番号指定の場合、事前の色指定および背景色指定が有効になってしまう
>・ 文字列指定かつ色指定引数がある場合、事前の背景色指定が有効になってしまう

色々とバグってますね。(^^;
この際、背景色も指定できるようにアップデートしてみます。(^^)

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!


以下の修正に一票入れます!

> 多くのコマンドに共通の仕様なので、個々のコマンドリファレンスに入る前に予め注意喚起したほうがよいと思います。
>
> ===============================================================================
> コマンドリファレンス 拡張コマンド
> ===============================================================================
> 注意
> ===============================================================================
> 以下のコマンドリファレンスにおいて、角括弧 "[ ]" の中に記す引数は省略できます。
> 省略した引数の後に別の引数を指定することも出来ますが、省略した引数の直前の "," は必須です。
>
> (書式例)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
> (省略例)FKeyMenu (1, "string" )
> (省略例)FKeyMenu (1, "string",,,Blue )
>
> -------------------------------------------------------------------------------
> ? [SHIFT]+[VARS](PRGM)-[F4](?)
> -------------------------------------------------------------------------------
> (以下略)


英語は、以下の感じでしょうか?

===============================================================================
Command Reference - Extended Command
===============================================================================
Note
===============================================================================
In the following command reference, square bracket "[ ]" shows arguments in
there can be omitted.
After the omitted parameter some parameters can be put, and in this case ","
is required right before the omitted parameter.

(Format) FKeyMenu( n, "string"/Icon # [,C/M/N/R/I/S/U/L [,m [,color]]] )
(Example) FKeyMenu (1, "string" )
(Example) FKeyMenu (1, "string",,,Blue )

-------------------------------------------------------------------------------
> ? [SHIFT]+[VARS](PRGM)-[F4](?)
> -------------------------------------------------------------------------------


Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
>> 1 つの画面に A から 1040 までまとめてしまうということでしょうか?

> はい、同じキーを連続で押すのは割と簡単なので、それもありかなと思いました。(^^;

了解しました。
私が何故か「52 ごとに別画面にする」という想定をしていたので、私が案を出した範囲はファンクションメニューの見直しが必要そうです。(^^;
実装のことやユーザーのわかりやすさからすれば、全部まとめたほうが簡潔ですね。

まず、私が以前提案した ">53", ">107", …… については取り下げます。
26 ジャンプの導入や [F5] (Mat#) の動作修正により必要性が低くなったことと、26 単位のジャンプと 52 単位のジャンプが混在するのはわかりにくいことが理由です。

次に、[F6] はもはや大文字小文字の切り替えや A - z への切り替えではないので、いっそのことジャンプ関係のメニューに入る機能を割り当てた方がわかりやすいと思います。

[F6] (JUMP) +
・ [F1] (>A / >1)
・ [F2] (>a / >27)
・ [F3] (-26)
・ [F4] (-7)
・ [F5] (+7)
・ [F6] (+26)

従来の "A<>a" は [←] / [→] で同じことが出来るようになったので、[F6] 一発で操作できなくなってもあまり問題はないだろうという考えです。

sentaro様の案をベースにしていますが、よく使う 1 - 52 (A - z) に跳べる動作として、{>A} / {>a} があれば便利だと思うので追加しています。
※ CASIO のマニュアルではファンクションメニューの内容を単独で表記する際に波括弧を使っていたので、それに準じて表記しようと思います。

ただし、{+7} / {-7} は画面表示上の "7" であり、{+26} / {-26} は純粋に Mat/List/Vct の数の "26" で単位が違うので、{+7} / {-7} は無いほうがわかりやすいかもしれません。
この場合、空いたキーに設定で拡張できる先頭の ">53" を割り当てるという手もあります。

[F6] (JUMP) +
・ [F1] (>A / >1)
・ [F2] (>a / >26)
・ [F3] (>53) ※ 無効の場合はマスク化
・ [F5] (-26)
・ [F6] (+26)

私はどちらかと言えば後者案が良いと思います。


ところで、最新バージョンを入れてみました。

> 通常形式でのカラー設定を許可すると、従来互換がとれないというか、
> 意図しないカラー変更が行われる可能性があるためです。

あ、確かにそうですね。
となると、バックグラウンド指定も引数になりそうですね。(^^)

一応動作確認したら、次の場合に事前の色指定コマンドが有効になってしまうようです。
・ 番号指定の場合、事前の色指定および背景色指定が有効になってしまう
・ 文字列指定かつ色指定引数がある場合、事前の背景色指定が有効になってしまう


管理人様、sentaro様、
> そこで、Colon様の案とsentaro様のまとめに加えて、途中の , は省略できない(もう少し良い表現があるように思います)、といった注を追加した方が良いのではないかと思います。

賛成です!!

> (書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
>  ※ 3 番目以降の引数は省略可能
>  ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要

> といった感じですが、もっと分かりやすくて良い表現がありそうなのですが、スグに思いつきません。ここは皆様のお知恵拝借です。

多くのコマンドに共通の仕様なので、個々のコマンドリファレンスに入る前に予め注意喚起したほうがよいと思います。

===============================================================================
コマンドリファレンス 拡張コマンド
===============================================================================
注意
===============================================================================
以下のコマンドリファレンスにおいて、角括弧 "[ ]" の中に記す引数は省略できます。
省略した引数の後に別の引数を指定することも出来ますが、省略した引数の直前の "," は必須です。

(書式例)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
(省略例)FKeyMenu (1, "string" )
(省略例)FKeyMenu (1, "string",,,Blue )

-------------------------------------------------------------------------------
? [SHIFT]+[VARS](PRGM)-[F4](?)
-------------------------------------------------------------------------------
(以下略)

[追記あり] Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

[追記有り]

build 14 のアップデート対応は、昨晩済ませてあります。

さて、FkeyMenu(のオプション設定ですが、, は省略できないことがあるにも関わらず、 [ ] の中に , が入ると省略して良いことになり、それではエラーにってしまいます。

具体的には、以下のsentaro様が提示された例は、, の扱い方をうまく伝えていて、, を省略してはいけない例になっています。

(例)FKeyMenu (1, "string",,,Blue )

, を省略して

FKeyMenu (1, "string",Blue )

とするとエラーになりますよね。途中の , は書略できないような書式は、純正Casio Basicになくて、C.Basicならではのものと思います。

実は、私自身、ついうっかりと途中の , を省略してエラー^になることは、他のコマンドでも経験しています。なので、表記をうまくできないらどうか?と気になっていたところで、たまたま FKeyMenu( を例にして、この件を取り上げてみたわけです。

それ以降にオプションが無い場合は、, を含めてオプションを省略可能ですが、あとにオプションが続く場合は、途中のオプションは省略できても、, は省略できない仕様ですよね。

そこで、Colon様の案とsentaro様のまとめに加えて、途中の , は省略できない(もう少し良い表現があるように思います)、といった注を追加した方が良いのではないかと思います。


(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
 ※ 3 番目以降の引数は省略可能
 ※ 省略する引数の後に引数がある場合は、省略した引数直後に , が必要

といった感じですが、もっと分かりやすくて良い表現がありそうなのですが、スグに思いつきません。ここは皆様のお知恵拝借です。


ところで、7色のカラーコードとRGB( を使ったカラー設定を追加したサンプルプログラムをアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00083
※ 16:19 に差替えアップしています。


Re:Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

@CalcLoverHK
Thanks!(^^)
The emulator for Chinese was tested on VMware(WinXP).
It works well.
(Note) There is a bug that SD function can use only up to 8 characters in folder and file name.
(This bug exists in all FX emulators.)
(NG)"test\sample"
"test"+"sample" is 10 characters.
(OK)"test\ABC"
"test"+"ABC" is 7 characters


管理人様、
>この書式ですが、, を省略するとエラーになるので、
>(書式)FKeyMenu( n, "文字列"/アイコン番号 ,[C/M/N/R/I/S/U/L] ,[m] ,[color])
>とすべきではありませんか?

はい、おっしゃるとおりです。
書式の書き方がかなり適当でした。(^^;



Colon様、
>「-26戻る」というと進むことになってしまうので、説明から符号を抜いた方がよいと思います (前に前進、後ろにバックみたいな……)。

あ、たしかにそうですね。(^^;


>ふとした疑問ですが、色指定が "FKeyMenu" コマンドの前ではなく引数になるのは何らかの理由があるのでしょうか?

通常形式でのカラー設定を許可すると、従来互換がとれないというか、
意図しないカラー変更が行われる可能性があるためです。

純正CasioBasicではカラーコマンドは1コマンドのみ作用しますが、
C.BasicではML系コマンドにおいてはカラー設定がコマンド後でも初期化されません。
またカラーコマンドだけの記述もOkなので、このカラー設定が有効な状態ではそれで色が変更されてしまうので、
FKeyMenuでは引数に含めることにした次第ですが、より良い案があれば変更します。(^^)


>(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
>※ 3 番目以降の引数は省略可能

>という具合に書いておけば問題ないかと思います。(^^)

了解です!
次のアップデートより修正しておきます。(^^)

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

すぐに PC を開く元気がないので、新バージョンのインストールと細かい動作確認は夜が明けてからにします。(^^;

sentaro様、
> ・行列画面で53以降の拡張領域の一覧表示をサポートしました。
> [←]:-26戻ります。
> [→]:+26進みます。

「-26戻る」というと進むことになってしまうので、説明から符号を抜いた方がよいと思います (前に前進、後ろにバックみたいな……)。

> ・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] [,m] [,color])

ふとした疑問ですが、色指定が "FKeyMenu" コマンドの前ではなく引数になるのは何らかの理由があるのでしょうか?


管理人様、sentaro様、
> この書式ですが、, を省略するとエラーになるので、

> (書式)FKeyMenu( n, "文字列"/アイコン番号 ,[C/M/N/R/I/S/U/L] ,[m] ,[color])

> とすべきではありませんか?

後ろの引数を省略する場合は後ろの "," は必要なくなるので、角括弧の中に "," を含めた上で、その角括弧をネストする必要があります。

Casio のマニュアル風に書けば、

(書式)FKeyMenu( n, {<"文字列">/<アイコン番号>} [, {C/M/N/R/I/S/U/L} [,m [,color]]][)]

となります。
※ マニュアルを "]]" で検索していただければ出てきます。

まぁ、厳密に書けば
(書式)FKeyMenu( n, {<"文字列">/<アイコン番号>} [,[{C/M/N/R/I/S/U/L}][,[m][,[color]]]][)]

となりますが、これだと何のこっちゃというのと、閉じ括弧を省略可能なのも全コマンド共通で特記する必要はないので、

(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,m [,color]]] )
※ 3 番目以降の引数は省略可能

という具合に書いておけば問題ないかと思います。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

> ・FkeyMenu(コマンドを拡張しました。
> (書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] [,m] [,color])

この書式ですが、, を省略するとエラーになるので、

(書式)FKeyMenu( n, "文字列"/アイコン番号 ,[C/M/N/R/I/S/U/L] ,[m] ,[color])

とすべきではありませんか?

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

Hi sentaro21

Good updates as always!

By the way, good news! As I have just tested, the installer can run on Windows 2000 or onward (newer 32-bit version).

Cheers
CalcLoverHK

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

FKeyMenuの多色サポートと、管理人様とColon様の案を取り込んだ行列一覧画面を更新しました。
まだ確定仕様ではないので、さらなる改善案をよろしくです。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その14
https://pm.matrix.jp/CB/CBASICCG144beta14.zip
(build14)
・行列画面で53以降の拡張領域の一覧表示をサポートしました。
[←]:-26戻ります。
[→]:+26進みます。
・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] [,m] [,color])
 任意の色でファンクションアイコン表示が出来ます。
(例)FKeyMenu (1, "string",,,Blue )
(例)FKeyMenu (2, "string",R,3,RGB(255,0,0))

Re^9: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

@Krtyski:
Yes! You may use my information.

Re: Re^8: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

Hi CalcLoverHK

Thank you for the valuable information about the list of available platform for C.Basic.

Actually I have all those real calculators excepting fx-9860G SD (SH3) and fx-CG10, but I have almost no information about emulator.

I would like to use those emulator information in my C.Basic introduction page. Do you allow me to do this?


chao

Re^8: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

Hi sentaro21

You are welcome ^^
(Update: the installer also works on Windows XP/Vista 32-bit as I tested.)

Cheers
CalcLoverHK

Re^7: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

@CalcLoverHK
Thanks for the complete list of emulators on which C.Basic works!
The Chinese version of the emulator is rare.
I'll try it on VMware.(^^)

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

Hi sentaro21

There is a misconception about supported models of C.Basic that I said before (in UCF). C.Basic (and also any add-in) will not work in fx-9860G SD emulator in any type of Windows, despite the fact that it has SD option to import add-in file.

I found the old version of emulator files that consist of fx-9860GII SH3 and fx-9860G Slim which support C.Basic (because their OS version is 2.00). However, the installer must be run on Windows 7 32-bit as it is only designed for that Windows version, so you have to install it in VirtualBox or VMware Player, and the emulators are Chinese in the menu (^^;

https://www.mediafire.com/file/lxpei3awjysl3jc/fx-Manager_PLUS_2.1.msi/file

Here is more accurate supported models list of C.Basic:

Real monochrome calculators (C.Basic for FX)
fx-9860G Series (OS 1.02 or above)
fx-9860GII (SH3) Series
fx-9860GII (SH4) Series

Real color graphing calculators (C.Basic for CG)
fx-CG10/20
fx-CG50

Emulators (C.Basic for FX) [Requires OS 2.00 or above]
fx-9860GII (SH3) Emulator
fx-9860G Slim Emulator
fx-Manager PLUS for fx-9860GII (SH4)/Graph 75+E
fx-Manager PLUS for Graph 35+EII

Emulators (C.Basic for CG)
fx-CG Manager PLUS for fx-CG10/20
fx-CG Manager PLUS for fx-CG50

(* The item without (<OS version>) indicates that C.Basic can support all OS versions of it.)

Cheers
CalcLoverHK

Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>1 つの画面に A から 1040 までまとめてしまうということでしょうか?

はい、同じキーを連続で押すのは割と簡単なので、それもありかなと思いました。(^^;


>管理人様から OK をいただければ、もうそのまま使っていただいて構いません。
>sentaro様、導入希望です(^^)

管理人様よりOk出ましたので、そのまま導入させていただきたいと思います。(^^)



管理人様、
>ところで、(選)アイコンは、破線イメージの重ね合わせで済むのなら、少しは省メモリになって良さそうですが、その場合は破線上書きを前提にしたアイコンデザインが必要かも知れませんね。

FX版のアイコン描画はビットマップ描画ではなく手作業なので、どうにでもなります。(^^)


>いずれにせよ、FXアイコン改善、是非お願い致します(^^)

了解しました!(^^)


>GB/JIS選択画面のように、自分が今どこにいるのかが分かりやすいようにできれば、この案は良いと思います。
>[SHIFT]キーで現れるFKeyメニューは、Colon様案では全て使ってしまっているので、相対ジャンプモードに入るキーとして [▶] や [◀] は如何でしょうか?これらのキーを押したら、1ページ後>/前ジャンプした上で、相対ジャンプ用のFKeyアイコンが現れるようにする、というわけです。
>そして、[EXIT]キーで相対ジャンプモードから前に戻れば使いやすいと思います。

1ページ分だけ移動するのは[SHIFT]+[↑][↓]がありますが、左右キーで相対ジャンプモードに入るというのはいい案かもです!


>ところで、現行では [▶]キーで1ページジャンプで先に進む動作をしますが、[◀] では1ページ戻るのではなく Dimension 設定のポップアップが開きます。これは仕様でしょうか?

純正での動作を確認したところ、純正は[▶]キーでDimension 設定なので、ちょっとおかしな仕様になってますね。(^^;
特にこの仕様になっている必然性が薄いので、左右ーキーは別の動作に再割当てした方が良さそうです。


>サブルーチンの場合: プログラムにより 129 byte や 130 byte ← ココがsentaro様の情報と違っている

あ、微妙に違ってました。(^^;


>System( サンプルプログラムのバグを修正
http://pm.matrix.jp/upload/upload.cgi?get=00081

build13に再アップしておきました。(^^)


>※温故知新ネタの関係で電卓が大増殖したのですが、CG10 だけ持っていないのです(^_^;

北米限定の専用機なので、世界的にはCG20が標準機です。
CG10の新品もまだありますが高価ですね。(^^;


>エミュレータ対応は、コードを一部コメントアウトして確認していますが、エミュレータ自体では未確認です。

https://pm.matrix.jp/upload/upload.cgi?get=00082
問題ありません。(^^)

Re: Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

Colon様、
FX用の新アイコン、実際に作ってみていただくと、なかなか良いですね!

一気にバリエーションが増えたので、FX用に適用できると思います。

sentaro様、導入希望です(^^)



ところで、これで少なくとも下の2つの選択肢が得られたと思います。
例えば、私の感覚(好み)に従うと、
・(選)アイコン:上と左が破線の黒アイコン
・白でないアイコン(色付き):上と左が破線の白アイコン

最初は、白でないアイコンとして縁有りアイコンが良いと思ったのですが、左右とも1ドットで塞がれるので、文字列長への制限が大きくなってしまい、アイコン作成の足かせになると思われます。なので上と左を破線にすれば、右側の余裕ができて良いかと...


ところで、(選)アイコンは、破線イメージの重ね合わせで済むのなら、少しは省メモリになって良さそうですが、その場合は破線上書きを前提にしたアイコンデザインが必要かも知れませんね。

いずれにせよ、FXアイコン改善、是非お願い致します(^^)




> > GB/JIS選択画面のように、[-104]、[-26]、[-7],[+7],[+26]、[+104]
> > のような相対ジャンプはどうでしょうか?(^^)
>
> 1 つの画面に A から 1040 までまとめてしまうということでしょうか?

GB/JIS選択画面のように、自分が今どこにいるのかが分かりやすいようにできれば、この案は良いと思います。
[SHIFT]キーで現れるFKeyメニューは、Colon様案では全て使ってしまっているので、相対ジャンプモードに入るキーとして [▶] や [◀] は如何でしょうか?これらのキーを押したら、1ページ後/前ジャンプした上で、相対ジャンプ用のFKeyアイコンが現れるようにする、というわけです。
そして、[EXIT]キーで相対ジャンプモードから前に戻れば使いやすいと思います。

これは部分最適化案ですが、全体を考えたとき整合性には特に問題無いように思います。
如何でしょうか?


ところで、現行では [▶]キーで1ページジャンプで先に進む動作をしますが、[◀] では1ページ戻るのではなく Dimension 設定のポップアップが開きます。これは仕様でしょうか?



sentaro様

改めて slim で調べて見ました;

- エディタで新規に作成する場合のフリーエリア:4172 byte
- すでにあるファイルを編集する場合:2048 byte、
- プログラム実行時に中断して編集する場合
  - メインプログラムの場合:128 byte
  - サブルーチンの場合: プログラムにより 129 byte や 130 byte ← ココがsentaro様の情報と違っている



System( サンプルプログラムのバグを修正
http://pm.matrix.jp/upload/upload.cgi?get=00081

簡単なプログラムなのに、バタバタして済みません。

手元の電卓全てを使って、OSも入れ替え可能な範囲で、念のために動作確認したのですが、CG10 が無いので CG機の判定と C.Basic for CG 判定で CG10 が除外されていたバグを見落としていました。
System(-1)>10 という部分を SYstem(01)≧10 に修正(2箇所)

※温故知新ネタの関係で電卓が大増殖したのですが、CG10 だけ持っていないのです(^_^;

エミュレータ対応は、コードを一部コメントアウトして確認していますが、エミュレータ自体では未確認です。

今度は大丈夫だと思います。

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ただ、ちょっと選択が面倒に感じる場合があるかもしれません。

そうですね。キープレスの回数は、
・ >A~z …… 1 回
・ 53, 105, 157, 209, 261 …… 3 回
・ 313 以上 …… 4 回

となってしまいますね。(^^;

[SHIFT] + [F5] (>~312), [SHIFT] + [F6] (>313~) としてしまう手もあります。

この場合、
・ >A~z …… 1 回
・ 53 以上 …… 3 回

となります。

> GB/JIS選択画面のように、[-104]、[-26]、[-7],[+7],[+26]、[+104]
> のような相対ジャンプはどうでしょうか?(^^)

1 つの画面に A から 1040 までまとめてしまうということでしょうか?


> ということで、Colon様のFX用の新アイコンが出来れば…FX版もアイコン変更決定です。(^^)

管理人様から OK をいただければ、もうそのまま使っていただいて構いません。

Re:Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>">A~z" は [F6] にあるということで "JUMP" メニューからは除外し、代わりに "313~" を追加します (カラーインデックスダイアログのようなイメージです)。
https://pm.matrix.jp/upload/upload.cgi?get=00078

斬新な案ですね。(^^)
ただ、ちょっと選択が面倒に感じる場合があるかもしれません。

ふと、思ったんですが、
GB/JIS選択画面のように、[-104]、[-26]、[-7],[+7],[+26]、[+104]
のような相対ジャンプはどうでしょうか?(^^)


>普通に "8192B free" とかで良いかと思います。

了解です!
Bが数字とくっつくと紛らわしいので"8192 free"としてみました。こっそりとbuild13を再アップしてます。(^^;


>FX 版限定の E オプション (Extended) を付加するイメージです。
>なお、「選 (S)」アイコンは元々拡張機能なのでそのままです。

ふち周りを点線にするのはいいアイデアだと思います。(^^)


>ファンクションメニューの色変更ルーチンについては、以前お話しした感じだと独自実装になりそうなので (SysCall だと 8 色のみであるため)、
>背景色も設定できるようにしていただくのもありだと思います。(^^)

どうせならば、6万色アイコンで背景色指定ありでいきたいところですね。
プログラムでWritGraphなどのコマンドを使っても可能ですが、そこのところは仕様として取り込みたいと思います。(^^)




管理人様、
>for FX Ver 2.44 build 13、for CG Ver 1.44 build 13 双方ともアップデート対応致しました。

毎度素早いサポートに感謝です。(^^)


>Slimでは、この表示で 128 とか出て、もう断末魔状態だと再認識!
>メモリが足りないのが玉に瑕ですね。

んと、今の仕様では固定です。(^^;
隠しメモリのある機種がデフォルトになってきてるので、従来SH3機ではメモリ面では厳しくなってきてますね。(^^;

エディタで新規に作成する場合のフリーエリアは
SH3 4172バイト
+256機 10075バイト
CG20 32844バイト
CG50 65612バイト

すでにあるファイルを編集する場合、
SH3 2048バイト
+256機 8192バイト
CG20 8192バイト
CG50 65536バイト

プログラム実行時に中断して編集する場合、
メインプログラムの場合、
SH3 128バイト
+256機 512バイト
CG20 8192バイト
CG50 65536バイト

サブルーチンの場合、
SH3 128バイト
+256機 128バイト
CG20 514バイト
CG50 1026バイト

となっているのが現在のバージョンで確認できました。
何かちょっと違う感じなので修正しないとです。(^^;


>これって、Setup の設定で増やせるのでしたっけ?

固定でない方が何かと便利かと思うので変更できるように仕様追加してみます。(^^)


>ところで、FX版は、現状維持なのですね!

>さて、管理人様のご意見を踏まえて改善案を出してみました。
https://pm.matrix.jp/upload/upload.cgi?get=00080

これはいい感じのバリエーションです。(^^)

ということで、Colon様のFX用の新アイコンが出来れば…FX版もアイコン変更決定です。(^^)

Re^6: FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> 1つ前にアップしたコメントがColon様とタッチの差 (それも2回連続) だったので、改めてコメントします。

連続での競合は流石に笑ってしまいました。(^^;


さて、管理人様のご意見を踏まえて改善案を出してみました。
https://pm.matrix.jp/upload/upload.cgi?get=00080

> Eオプションで 2片がギザギザになるのですね。FXでは、Nオプション(白)の時は、上辺と左辺に線が入り、下辺と右辺には線が入りません。そこで、Eオプションの点線も同様に 上辺と左辺を点線にするほうが、落ち着きが良いかも知れませんか?

たしかにそうですね。
点線だと逆に目立ちにくいので、破線にしてみました (画像の [F5] 参照)。

> あと、四角の縁取りの白アイコンに対して、縁取りを点線にしたら、どんな感じになるのでしょう? 意外と使えませんか?

ドット数の関係で下辺に入れると見辛くなったので、左・上・右に破線を入れてみました (画像の [F6] 参照)。
これは使えそうです。(^^)

Re^5: FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様

管理人のやすです。


1つ前にアップしたコメントがColon様とタッチの差 (それも2回連続) だったので、改めてコメントします。

> 以前より sentaro様から「色分けしてはどうか」旨提案があり、私としては 2020/01/12 17:37 のコメント内で賛成を表明しているところであります。
> その上で、色分けの有無も含めて設定が行えれば良いな、と思っています。

はい、私も色付けで賛成です。
少し具体的な提案も前のコメントにしたので、ご参照ください。


> FX 版については最小限の変更で済むと思うので、新フォーマットをデザインしてみました。(^^)
>
> https://pm.matrix.jp/upload/upload.cgi?get=00079
>
> FX 版限定の E オプション (Extended) を付加するイメージです。
> なお、「選 (S)」アイコンは元々拡張機能なのでそのままです。

早々にありがとうございます。

Eオプションで 2片がギザギザになるのですね。FXでは、Nオプション(白)の時は、上辺と左辺に線が入り、下辺と右辺には線が入りません。そこで、Eオプションの点線も同様に 上辺と左辺を点線にするほうが、落ち着きが良いかも知れませんか?
実際に見比べられたらどちらが良いか決まりそうですね。
あと、四角の縁取りの白アイコンに対して、縁取りを点線にしたら、どんな感じになるのでしょう? 意外と使えませんか?

FXのFKeyアイコンの事例として、例えば以下のページの画像をご参照ください。
https://egadget.blog.fc2.com/blog-entry-688.html


Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
近い時間の投稿になってしまったようですが、
私の見解は概ね 18:00 の投稿に書いています。m(_ _)m

> 背景に色を付けることにすれば、"背景が白でない" に黒を含めて考えて、整合性もOKというヒネリを入れて整合性も確保...というので如何でしょうか > Colon様
> 右下が欠けた形はおそらくフォルダを意識したものだと思っているので、いっそPCみたいに黄色をデフォルトにするのも有りでしょうか?

"背景が白でない" という説明は良さそうです。

それから、例えば管理人様のアイデアを組み合わせて、「色は黒、背景色は黄色やシアン」みたいにするのは視認性的によさそうです。

ファンクションメニューの色変更ルーチンについては、以前お話しした感じだと独自実装になりそうなので (SysCall だと 8 色のみであるため)、
背景色も設定できるようにしていただくのもありだと思います。(^^)


> ところで、FX版は、現状維持なのですね!

FX 版については、独自アイコンのデザイン案を前回のコメントに載せているのでご覧くださいませ。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様

管理人のやすです。


for FX Ver 2.44 build 13、for CG Ver 1.44 build 13 双方ともアップデート対応致しました。



> ってことで、実装してみましたが表示形式は要修正かもです。(^^;

Slimでは、この表示で 128 とか出て、もう断末魔状態だと再認識!
メモリが足りないのが玉に瑕ですね。

これって、Setup の設定で増やせるのでしたっけ?




> C.Basic独自の機能なので純正の仕様には縛られずに目に付きやすい色を選択しました。(^^;
> 本来は黒アイコンであるべきところに白アイコンがあるのはそのためです。

やはりそうだったのですね!

拡張/独自コマンドメニューを表示するFKeyアイコンについては、

> 純正と明らかに違ったデザインというのはありですね。
> さらには、FX版ではアイコン変更予定がないので、
> CG版の場合は、純正にないC.Basic独自機能のアイコンでは色を変えるというのはどうでしょうか?(^^;

はい、色を付けるという案に1票です。

背景に色を付けることにすれば、"背景が白でない" に黒を含めて考えて、整合性もOKというヒネリを入れて整合性も確保...というので如何でしょうか > Colon様

右下が欠けた形はおそらくフォルダを意識したものだと思っているので、いっそPCみたいに黄色をデフォルトにするのも有りでしょうか?
但し、色の認識には個人差が大きい(識別が苦手な色がある)ので、Setupで背景と文字色を変更できると良いかと思います。

ところで、FX版は、現状維持なのですね!



> アップデートされたSYSサンプルを同梱させていただきました。(^^)

ありがとうございます。


Re^4: FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、

> ということから、今回の一貫性の高いFKeyアイコンデザインに変わると、コマンド探しが難しくなるという心配があります。

機能ごとのデザインに変更する代わりに、拡張機能の判別が難しくなるというジレンマですね。

> そこで、一貫性を維持しつつ、"操作性の悪化" を低減するために、拡張ならびに独自コマンドを含むメニューアイコン、その他必要と思われる FKeyアイコンには、白い下線を付加する (フォントを小さくする必要性あり?)など、区別あるいはアクセントを追加できないでしょうか?

CG 版だと導入アイコンが大幅に増えるだけでなく、ドット数の関係で製作したアイコンも全部作り直しになってしまうので、別の方法を希望します。

以前より sentaro様から「色分けしてはどうか」旨提案があり、私としては 2020/01/12 17:37 のコメント内で賛成を表明しているところであります。
その上で、色分けの有無も含めて設定が行えれば良いな、と思っています。

CG 版についてはこれで良いですが、おっしゃるように FX 版では対策が取れていません。

FX 版については最小限の変更で済むと思うので、新フォーマットをデザインしてみました。(^^)

https://pm.matrix.jp/upload/upload.cgi?get=00079

FX 版限定の E オプション (Extended) を付加するイメージです。
なお、「選 (S)」アイコンは元々拡張機能なのでそのままです。

[追記] 表示位置を間違えました。[F2] は画像より 1 ドット、[F3] は画像より 2 ドットそれぞれ右です。


sentaro様、
> ということでGB/JIS画面に入ると強制的に"C.Basic"モードになるように修正してみました。

修正確認しました。

> アイコンの数が激増してしまうので、312を超える場合は現行同様にダイレクトに数値を入れて指定するのを残しておいた方がいいかもしれません。

もちろん [F5] (Mat#) は残して欲しいと思っていますが、
その上で改善案を考えました。

">A~z" は [F6] にあるということで "JUMP" メニューからは除外し、代わりに "313~" を追加します (カラーインデックスダイアログのようなイメージです)。

https://pm.matrix.jp/upload/upload.cgi?get=00078

> 1.44はこのあたりで一区切りとしたいので、
> 次の1.45でのアップデートのどこかで追加する予定です。(^^)

よろしくお願いします!(^^)

> 了解です。(^^)
> ってことで、実装してみましたが表示形式は要修正かもです。(^^;

普通に "8192B free" とかで良いかと思います。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>[VARS] + [x^2] や [VARS] + [^] が出来てしまうので、GB / JIS 画面に入る度に設定の確認と切り替えを入れた方がよいと思います。

"Default"モードでGB/JIS画面に入ると表示がおかしくなりますね。(^^;
ということでGB/JIS画面に入ると強制的に"C.Basic"モードになるように修正してみました。


>[SHIFT] + [F6] (JUMP) のページ数を増やすというのは流石に使いにくいでしょうか?

アイコンの数が激増してしまうので、312を超える場合は現行同様にダイレクトに数値を入れて指定するのを残しておいた方がいいかもしれません。


>実際、私もドット編集をしているときにこれらの機能が欲しいと思ったことはあります。

サイズを少し広げたい、縮めたいとか、画像位置を移動したい、左右反転したいとかもありますね。


>とすると、少し深い階層に置いても良いわけで、次のようなキープレスが考えられます。
>==============================
>[SHIFT] +
>・ [F1] (↓) ※ g3m ドットエディタ時のみ
>・ [F2] (DotEdit) ※ 白<>選のトグル
>・ [F3] (StrEdit) ※ 同上
>・ [F4] (TOOL)
>・ [F5] (>Bin / >Dec) ※ トグル表示、データ型により無効の場合はマスク表示
>・ [F6] (>Hex / >Dec) ※ 同上
>==============================

異論ありません。(^^)


>あっ、後は "ROW" / "COLUMN" に "INITIAL" を追加すると便利だと思います。(^^) ←おねだり
>(Str 編集時なんかは、行ごとに初期化できると便利だと思うのです。)

1.44はこのあたりで一区切りとしたいので、
次の1.45でのアップデートのどこかで追加する予定です。(^^)


>現在の仕様よりもその方が便利そうですね。
>その案に賛成します。(^^)

了解です。(^^)
ってことで、実装してみましたが表示形式は要修正かもです。(^^;



管理人様、
>sentaro様が、現在のデザインとして白FKeyをお使いになった経緯もお聞きしたいところです。ひよっとしてキー探しのアクセントを付ける目的、あるいは独自コマンドメニューを敢えて区別するためにしろをお使いになったとか...

C.Basic独自の機能なので純正の仕様には縛られずに目に付きやすい色を選択しました。(^^;
本来は黒アイコンであるべきところに白アイコンがあるのはそのためです。

>そこで、一貫性を維持しつつ、"操作性の悪化" (今は心配するレベルですが) を低減するために、拡張ならびに独自コマンドを含むメニューアイコンには、白い下線を付加する (フォントを小さくする必要性あり?)など、区別あるいはアクセントを追加できないでしょうか?

純正と明らかに違ったデザインというのはありですね。
さらには、FX版ではアイコン変更予定がないので、
CG版の場合は、純正にないC.Basic独自機能のアイコンでは色を変えるというのはどうでしょうか?(^^;


>So could you please replace them in C.Basic_sample folder at your next update of C.Basic?

アップデートされたSYSサンプルを同梱させていただきました。(^^)



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その13
https://pm.matrix.jp/CB/CBASICCG144beta13.zip
(build13)
-CHAR画面の"Default"モードでGB/JIS画面に入ったときに自動的に"C.Basic"モードになるように修正しました。
-エディタで[SHIFT]を押したときに編集可能空きエリアのサイズをステータスエリアに表示するようにしました。

C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その13
https://pm.matrix.jp/CB/CBASIC244beta13.zip
-エディタで[SHIFT]を押したときに編集可能空きエリアのサイズをステータスラインに表示するようにしました。

Re: Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

sentaro様、

あ、CG20 は最近滅多に使わないので、Ptune も古いバージョンのままでした。


@CalcLoverHK
> >I think it looks good idea to cancel initial pop-up for over clocking by Ptune on Emulator.

With latest Ptune such pop-up does not come up. Sorry. sentaro told me that.
Recently I have not used fx-CG20, so my Ptune is not latest version.


@sentaro
I updated SYS.g1m and SYS.g2m, because I fixed wrong spelling (emulater) for "emulator" in both program and readme.txt.
http://pm.matrix.jp/upload/upload.cgi?get=00077

So could you please replace them in C.Basic_sample folder at your next update of C.Basic?


@CalcLoverHK
SYS.g3m is a sample program that use all options of command System(, including emulator check.

[修正あり] Re^3: FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

[修正有りです]

今回のColon様のご提案は、一貫性があり、かつ隠れキープレスが撲滅でき、さらに慣れた人には隠れキーが多く残るという点で、"概ね"異議なしです。

改善プロジェクトが終盤にさしかかり、かなり具体化してきたところで、心配が出てきました。

その心配は私自身の感覚によるものですが、今回の改善に伴う "操作性の悪化" が心配なのです。
公平に言って、私の感覚が多くのユーザーを代弁しているかどうか?という話は残ります。


さて、この感覚の前提として、以下のようなことがあります。

・全てのキープレスが頭にはいっておらず、最近使わないものは忘れている(これは普通かも)。
・特定のプログラムを作っている時に覚えたキープレスでも、数ヶ月すると忘れてしまうことが多い(これも普通かも)。
・FX機とCG機の両方を使い、純正Casio BasicとC.Basicの両方を使っているので、特定の操作が定着しにくい(これはかなり特殊)。

というのがあります。

さらに、ここが肝心なのですが、

白のFKeyアイコンが、あやふやなキープレスの記憶を呼び覚ます良い目印になっている。
・純正Casio Basicもよく使うので、C.Basic独自コマンドメニュー呼び出の多くが白FKeyになっていて、探しやすい。
・FX機もよく使っているので、解像度の低い FKeyアイコンでは、白FKeyの目印の重要性が高まる。

ということから、今回の一貫性の高いFKeyアイコンデザインに変わると、コマンド探しが難しくなるという心配があります。

多分 sentaro様やColon様には、このような心配が無いのかも知れません。

sentaro様が、現在のデザインとして白FKeyをお使いになった経緯もお聞きしたいところです。ひよっとしてキー探しのアクセントを付ける目的、あるいは独自コマンドメニューを敢えて区別するために白をお使いになったとか...

例えば、[F3](MENU) - [F4](exec)白アイコンを (CONVTL)右下が欠けた黒 に変更すると、アクセントがなくなって、うろ覚えの際に見つけにくくなる心配があるわけです。これは、拡張コマンドでも独自コマンドでもないので、最も整合性が崩れているケースですが、私自身はこの白いアクセントがコマンド探しの助けになっています。


そこで、一貫性を維持しつつ、"操作性の悪化" を低減するために、拡張ならびに独自コマンドを含むメニューアイコン、その他必要と思われる FKeyアイコンには、白い下線を付加する (フォントを小さくする必要性あり?)など、区別あるいはアクセントを追加できないでしょうか?

いまさら厄介ごとを持ち込むようで申し訳ありませんが、何か対策がないのか相談したいところです。


まぁ、やってみれば良いとは思うのですが、実際に進めてみてから「実は心配が的中した」と思う前に、相談したいと思います。

どうでしょうか?

Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

管理人様、
>I think it looks good idea to cancel initial pop-up for over clocking by Ptune on Emulator.

1.2より初期起動時のメモリチェックのポップアップはデフォルトで出なくなっています(^^)

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

@CalcLoverHK
Only Ptune2 works on the emulator.
However, Ptune2 does not work perfectly on the emulator.
The PLL is very slow except for x16 and x20.
[SHIFT]+[↑] FLL is possible up to 2047.
So the fastest on the emulator is this.
https://pm.matrix.jp/upload/upload.cgi?get=00076
In this case, please increase the Clock Max value in the setup.(^^)

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

Hi CalcLoverHK and sentaro


> So since Ptune doesn't work well on CG emulator, should we disable the overclocking on CG10/20 emulator? Or which situation, with or without overclocking, works well in that emulator?

I think it looks good idea to cancel initial pop-up for over clocking by Ptune on Emulator.


Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

Hi sentaro21

So since Ptune doesn't work well on CG emulator, should we disable the overclocking on CG10/20 emulator? Or which situation, with or without overclocking, works well in that emulator?

Cheers
CalcLoverHK

Re:Re: FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
返信する文章量がさほど多くないので、
FKey Icon の話題に入る前にその他のレスを済ませてしまいますね。

https://pm.matrix.jp/upload/upload.cgi?get=00075
> エミュでの動作に問題ありませんです!(^^)

ありがとうございます!(^^)

> GBは"Default Font"のみなので、効かなくても良いのでしょうか。(^^;
> ということで、GB/JIS画面では[VARS]のHELP表示を削除しました。(^^;

[VARS] + [x^2] や [VARS] + [^] が出来てしまうので、GB / JIS 画面に入る度に設定の確認と切り替えを入れた方がよいと思います。

========================================
以下、本題です。

> マスク化が効果出てきますね。(^^)
> デフォルトの312まではこれでいいと思いますが、
> それ以上に増やしている場合の選択はどうしましょう?

あ、CG50 では 1040 まで拡張されているのを忘れていました。(^^;

[SHIFT] + [F6] (JUMP) のページ数を増やすというのは流石に使いにくいでしょうか?


> 以前にPlanet-casioの方で軽く要望があったような気がしますが、
> プログラムでとりあえず出来るということで、宿題化してますね。(^^;
> これはあった方が便利な機能だと思うので、一応サポート予定ということでお願いします。(^^)

実際、私もドット編集をしているときにこれらの機能が欲しいと思ったことはあります。
「行列エディタ → ソースコード編集 → 行列エディタ」というのも中々に不便ではあるので、
あった方が明らかに便利ですね。

ただ、CASIO が教育用として用意している行列とは違い、C.Basic ではプログラミングに使う前提の行列なので、
それを考えると "ROW-OP" / "ROW" / "COLUMN" は相対的に優先度が高い機能では無いと思います。

とすると、少し深い階層に置いても良いわけで、次のようなキープレスが考えられます。

==============================
[SHIFT] +
・ [F1] (↓) ※ g3m ドットエディタ時のみ
・ [F2] (DotEdit) ※ 白<>選のトグル
・ [F3] (StrEdit) ※ 同上
・ [F4] (TOOL)
・ [F5] (>Bin / >Dec) ※ トグル表示、データ型により無効の場合はマスク表示
・ [F6] (>Hex / >Dec) ※ 同上
==============================

これで、"TOOL" の下の階層に入れるので良いと思います。

[F5] / [F6] は前回の案よりこっちの案の方が、現在とのキープレスとの対応関係が分かりやすくてよいかもしれません。

あっ、後は "ROW" / "COLUMN" に "INITIAL" を追加すると便利だと思います。(^^) ←おねだり
(Str 編集時なんかは、行ごとに初期化できると便利だと思うのです。)


> 編集可能サイズはあると便利なのでどこかで表示しておきたいですね。
> [SHIFT]を押したときにステータスエリアに表示するとか?

現在の仕様よりもその方が便利そうですね。
その案に賛成します。(^^)

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>差替え build 12 の対応致しました。

早速にありがとうございます!


>FKEYMENU.g1m は、FX用なので、for FX のサンプルに追加しませんか?
>同様に、SYS.g1m も for FX用のサンプルなので、併せてご一考ください。

はい!
ということで、同梱させていただきました。(^^)

C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。
https://pm.matrix.jp/CB/CBASIC244beta12.zip
(build12)
・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/L] [,m])
 nからmまでのファンクションキーを表示/消去します。
 3つめの引数の並び順は任意です。
  C:消去します。
  M:マスク処理します。
  N:ノーマル白アイコン。(省略可)
  R:右下が欠けた黒アイコン
  I:黒アイコン
  S:矩形の白アイコン
  L:表示範囲を左右2ドット広げます。
(例)FKeyMenu (1, "string", RL)
(例)FKeyMenu (2, "long_string", SLM, 4)
(例)FKeyMenu (5, 42, M)
・やす(Krtyski)様作成のSystem()コマンドサンプルプログラムを同梱しました。(C.Basic_sample\System_sample)
・やす(Krtyski)様 & CalcLoverHK様 & Colon様作成のFKeyMenu(コマンドのサンプルプログラムを同梱しました。(C.Basic_sample\FKeyMenu_sample)

・System()コマンドにエミュレータ判定を追加しました。
(書式)System(-7)
 実機では0、エミュレータでは1が返ります。

・DBL#モードにおいて、一時停止と変数表示での虚数表示がされていたのを修正しました。
・変数表示をINT%,DBL#,CPLXで独立させました。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

差替え build 12 の対応致しました。


> 同梱させていただいているFkeyMenuのサンプルは差し替えしております。
> System( サンプルプログラムもSystem_sampleフォルダに同梱させていただきました。(^^)

あいがとうございます。
FKEYMENU.g1m は、FX用なので、for FX のサンプルに追加しませんか?


同様に、SYS.g1m も for FX用のサンプルなので、併せてご一考ください。


Re:FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>まず、こちらをダウンロードしてください。
>今回は画像が複数あります。
https://pm.matrix.jp/upload/upload.cgi?get=00072

純正+αという感じになってきてすごいです。(^^)


>それ以降は、
>・ [F2] …… Mat 53 - 104, <r>, θ, Ans
>・ [F3] …… Mat 105 - 156, <r>, θ, Ans
>(以下同様)

>という感じで、設定により利用できない場合はマスク化して表示します。
>いかがでしょうか?

マスク化が効果出てきますね。(^^)
デフォルトの312まではこれでいいと思いますが、
それ以上に増やしている場合の選択はどうしましょう?


>次に、行列編集画面です。
>現状、私は [F4] の表示が分かりにくいと感じています。
>そこで、以下のように変更することを提案します。

>・ "m, n" → ">x, y"
>・ "x, y" → ">m, n"

了解です。(^^)



>また、[F5], [F6] の機能がデータ型表示に隠れており、[OPTN], [VARS] の機能も一覧画面の [SHIFT] + [F1~F3] のようになっていた方が分かりやすいと思います。
>そこで、
>・ [SHIFT] + [F2] (DotEdit) ※ 白<>選のトグル
>・ [SHIFT] + [F3] (StrEdit) ※ 同上
>・ [SHIFT] + [F4] (>Dec)
>・ [SHIFT] + [F5] (>Bin) ※ データ型により無効の場合はマスク表示
>・ [SHIFT] + [F6] (>Hex) ※ 同上

>のようにするのはどうでしょうか?

異論ありません。(^^)
従来のキー操作も一応残せますね。



>ドットエディタ時の [SHIFT] + [F1] (Picker) については、機能的に白アイコンであるべきというのと、"Picker" というと [SHIFT] + [F6] と紛らわしいので、
>#976 (↓) に変更するのはどうかな、と思います。
>Ptune の [SHIFT] + [F2~F5] と同じようなイメージです。

いいと思います!(^^)


>行列エディタで、純正のような "ROW-OP" / "ROW" / "COLUMN" をサポートする予定はありますか?

以前にPlanet-casioの方で軽く要望があったような気がしますが、
プログラムでとりあえず出来るということで、宿題化してますね。(^^;
これはあった方が便利な機能だと思うので、一応サポート予定ということでお願いします。(^^)


>これに倣って、リスト表示とバイナリエディタの切り替えように "L<>B" を作ってみましたが、
>編集サイズの余裕をどこに示すかは今後要相談です。

編集可能サイズはあると便利なのでどこかで表示しておきたいですね。
[SHIFT]を押したときにステータスエリアに表示するとか?

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>[SHUFT][MENU](setup) + [F6]  表示されるバージョン情報で、build # が 11 のままです。

あ゛…build番号を更新することが抜けてました。(^^;
ってことで、修正差し替えしております。m(_ _)m

>それで、どうも勘違いしたみたいです。build 12 を確認して FKeyMenue(を試したら、以下の問題は解消していました。

同じbuildだと勘違いされても仕方ないかもです。(^^;
そろそろ1.45にした方が良さそうですね。


>FX用にアイコンの文字数を変えた FJEYMENU.g1m も同梱しました。
>とりあえずは readme.txt なしです。
http://pm.matrix.jp/upload/upload.cgi?get=00071

ありがとうございます!
同梱ファイルを差し替えました。(^^)


>そういうことなら、FX用のサンプルプログラムを作ってあるので、あとでまとめてアップしようと思います。

おお!よろしくお願いします!
ということで、ダウンロードさせていただきました!
同梱させていただいているFkeyMenuのサンプルは差し替えしております。
System( サンプルプログラムもSystem_sampleフォルダに同梱させていただきました。(^^)



Colon様、
>直感的に使用できるようになり、良いと思います。(^^)

ありがとうございます!
最初からこの仕様にしておけば良かったですね。(^^;

>この機能は GB フォントを表示する際に余白の加減で 1 ドット上に表示する必要があったため、
>私のリクエストを sentaro様が取り入れて下さった機能でしたね。

はい、そういう経緯でした。(^^)


>私は FX 機のことはよく分からないのでアレですが、
>もしコントラストを下げて表示できるのであればそれもひとつの手かな、と思います。

モノクロ2階調なのでコントラストを下げるのは不可能です。(^^;
アイコンが21x8ドットなので市松模様はちょっと無理がありますが、無効になっているという感じにはなるかもしれません。(^^;


>一応、エミューレータでの動作確認をお願いします。> sentaro様

https://pm.matrix.jp/upload/upload.cgi?get=00075
エミュでの動作に問題ありませんです!(^^)


>ところで、RENFLDR の中国語表示の件ですが、
>CalcLoverHK様から「翻訳が長いので 2 つの解決策がある、機能が似ている [F6] - [F2] (RENAME) にフォルダの改名機能を持たせるか、[F6] - [F6] - [F2] のアイコンを長くして中国語訳を収めるかだ。」という案を頂き、私は「既に [F6] - [F2] (RENAME) でフォルダの改名ができ、作るアイコンも少なくて良いので、前者の案が良いと思う」旨の返答をしました。
(詳しいことは遡ってご確認願います。)
>この後、確かお二方にコメントいただいていなかったと思うので、ご意見よろしくお願いします。

CalcLoverHK様とColon様の前者案に賛成します。(^^)


>FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

これは後ほど別コメントといたします。(^^)


>これに関連しますが、CHAR 画面の [0] (HELP) で、[VARS] の "Default Font" と "C.Basic Font" が逆になっていますので、確認お願いします。

思いっきり逆ですね。(^^;
ということで、修正しました。

>また、GB および JIS の選択画面で、[VARS] が効かないようです。

GBは"Default Font"のみなので、効かなくても良いのでしょうか。(^^;
ということで、GB/JIS画面では[VARS]のHELP表示を削除しました。(^^;



iron2様、
>うちなおしたときに2バイト文字に文字ばけすることがありました。

Colon様より完璧な回答が出てますとおり、GBモードを解除してくださいませ。


>√(1-X^2)のところをfanction fxみたいにして結果をretrunでsに代入みたいすれば

C.BasicというかCasioBasicの機能で、
"√(1-X^2)"→fn1
としておいて、
((fn1(0)+4fn1(1)+2f1(2)+fn1(3))*d/3)*4
のように関数呼び出し的な使い方が出来ます。(^^)
ちなみにfnは[OPTN]-[F6]-[F6]-[F3](FUNCMEM)-[F3](fn)で入力できます。


>後、壁のところに書きましたがhp prime g2買いました。

お!G2ご購入おめでとうございます!(^^)
海外でもやっと普通に入手出来るようになってますが、G1併売なのでちょっと高価なのが難点ですね。
続きはまた壁の方に書かせていただきます。



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12 差し替えです。
https://pm.matrix.jp/CB/CBASICCG144beta12.zip
(build12)
・CHAR画面の[0](HELP)で、[VARS]の"Default Font"と"C.Basic Font"が逆になっていたのを修正しました。
・やす(Krtyski)様作成のSystem()コマンドサンプルプログラムを同梱しました。(System_sampleフォルダ)

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

for CG Ver 1.44 build 12 と for FX Ver 2.44 build 12 へのアップデート対応しました。

但し、for CG Ver 1.44 build 12 は、バージョン情報表示で、build 11 のままになっています。for FX は正しく build 12 と表示されます。修正をお願いします。


FKeyMenu( サンプルプログラム、 FKEYMENU.g1m と FKeyMenu.g3m を含んだ修正版をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00073


System( サンプルプログラム、SYS.g1m と SYSg3m、そして readme.txt を含んだ SYS.zip をアップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00074



Re: 開発陣皆様が頑張られているのにとりあえず遊んで日々すごして、すみません

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

iron2様、
文字化けについてですが、
GB フォント (中国語フォント) の発見者として、私からご説明します。m(_ _)m

> 遊んでいて使いずらいと感じたのは、progコマンドやgosubコマンドを修正で
> うちなおしたときに2バイト文字に文字ばけすることがありました。

こういうことでしょうか?
・ Prog Prog → 眄
・ Gosub Gosub → 嫏
・ Prog Gosub → 睑
・ Gosub Prog → 䐛

もしそうでしたら、[SHIFT] + [MENU] (SETUP) から、"Edit GB Font" を "off" にしてみてください。

エディタで GB フォントを利用しないのであれば、これで十分使えるかと思います。(^^)


GB フォントは、特殊文字やコマンドと一部文字コードが被っています。

このため、特殊文字 (CHAR 画面から入力できる文字) の場合は 2 度押ししても文字化けしないように対策されていますが、
コマンドの 2 度押しに対しては対策を施していないため、iron2様のような現象が発生してしまいます。

通常は "Prog Prog" のようには入力しないので現在の仕様で問題ないとは思いますが、
もし気になるのであれば前述のように設定を変更していただくのがよいと思います。


sentaro様、
これに関連しますが、CHAR 画面の [0] (HELP) で、[VARS] の "Default Font" と "C.Basic Font" が逆になっていますので、確認お願いします。

また、GB および JIS の選択画面で、[VARS] が効かないようです。

開発陣皆様が頑張られているのにとりあえず遊んで日々すごして、すみません

管理人様、sentarou様、colon様、ツル様、CalcLoverHK様、ユーザーの皆様
iron2です。タイトルにあるように今は、電卓いじって遊ぶぐらいしかできません。
遊んでいて使いずらいと感じたのは、progコマンドやgosubコマンドを修正で
うちなおしたときに2バイト文字に文字ばけすることがありました。
ネット上のSimpson法のプログラムをvisual basicで組むのは、わりと簡単でした。
√(1-X^2)のところをfanction fxみたいにして結果をretrunでsに代入みたい
すれば
プログラム中に何度も呼び出せて、xの値を0から1まで加算すればよいだけ
でした。((f0+4f1+2f2+f3)*d/3)*4みたいな感じで40万回ループで
3.141592653588ぐらいの精度で収束します。
パソコン上ではミリセックオーダーで終わります。
c.basicでやってみたいなといろいろチャレンジしましたが、頭と腕が足りず
失敗しました。


後、壁のところに書きましたがhp prime g2買いました。2020年1月の
ファームウエアで3dグラフが描けて解像度が高くfx-cg50でも同じものを
描きましたが、かなり荒いグラフでした。
ただ、ファームウエアと接続キットを先にアップデートしたら、バーチャル電卓
がエラーになって使えなくなり、古いほうのprimeのproguramを移せず
悪戦苦闘中です。




FKey Icon - 行列画面改善案 + アイコンサンプル第 3 弾

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

以前保留になっていた行列画面の改善案についてと、現時点での FKey Icon サンプル (第 3 弾) のご紹介です。

まず、こちらをダウンロードしてください。
今回は画像が複数あります。

https://pm.matrix.jp/upload/upload.cgi?get=00072


では、行列画面の改善案です。
追加するアイコン案はイメージしやすいようにサンプルにぶっ込んでいます。

行列一覧画面では、Mat/List/Vct 53 以降を表示できないことが課題となっています。
以下に私の改善案を提示します。

=========================
* [F1] (DELETE)
* [F2] (DEL-ALL)
* [F3] (DIM)
* [F4] (INITIAL)
* [F5] (Mat# / List# / Vct#)
* [F6] (A<>a) ← 53 以降表示時は (>A~z) に変更

[SHIFT]
* + [F1] (>MAT)
* + [F2] (>LIST)
* + [F3] (>VCT)
* + [F6] (JUMP) ← 追加
** + [F1] (>A~Z)
** + [F2] (>53)
** + [F3] (>105)
** + [F4] (>157)
** + [F5] (>209)
** + [F6] (>261)
=========================

">A~z" はこれまでの一覧画面そのままです。

それ以降は、
・ [F2] …… Mat 53 - 104, <r>, θ, Ans
・ [F3] …… Mat 105 - 156, <r>, θ, Ans
(以下同様)

という感じで、設定により利用できない場合はマスク化して表示します。
いかがでしょうか?


次に、行列編集画面です。
現状、私は [F4] の表示が分かりにくいと感じています。
そこで、以下のように変更することを提案します。

・ "m, n" → ">x, y"
・ "x, y" → ">m, n"

また、[F5], [F6] の機能がデータ型表示に隠れており、[OPTN], [VARS] の機能も一覧画面の [SHIFT] + [F1~F3] のようになっていた方が分かりやすいと思います。
そこで、
・ [SHIFT] + [F2] (DotEdit) ※ 白<>選のトグル
・ [SHIFT] + [F3] (StrEdit) ※ 同上
・ [SHIFT] + [F4] (>Dec)
・ [SHIFT] + [F5] (>Bin) ※ データ型により無効の場合はマスク表示
・ [SHIFT] + [F6] (>Hex) ※ 同上

のようにするのはどうでしょうか?

ドットエディタ時の [SHIFT] + [F1] (Picker) については、機能的に白アイコンであるべきというのと、"Picker" というと [SHIFT] + [F6] と紛らわしいので、
#976 (↓) に変更するのはどうかな、と思います。

Ptune の [SHIFT] + [F2~F5] と同じようなイメージです。


ところで、sentaro様、
行列エディタで、純正のような "ROW-OP" / "ROW" / "COLUMN" をサポートする予定はありますか?

もしあるのであれば、それも考慮したキープレスを考える必要があります。

========================================
以下、個別アイコンについてです。

今回のサンプルで、CHAR 画面以外の「白 / 黒」アイコンは全てフォローできたかと思います。

必要の無くなったアイコンは減らし、新たに必要だと判断したアイコンは追加しています。
特に、変数リストの仕様が固まったので、関係するアイコンを整理しています。

">MAT" は私のデザインとは少し違いますが、#768 に既に存在していたのでそれを使えばよいと思います。
(多分 OS 1.xx で使用されていたアイコンですね。)
また、"MAINMEM" は、保存画面の仕様変更で不要になったため削除しています。

次に、カラーピッカーで使用するアイコンについて。
現在の "hsV←" などは余計な情報を省き、
"Dec V" のように作ってみました。

デバッグモードで使用するアイコンは中国語訳の関係で全て置き換えが必要です。
また、"L<>S" と "B<>S" は予告通り作成しました。

これに倣って、リスト表示とバイナリエディタの切り替えように "L<>B" を作ってみましたが、
編集サイズの余裕をどこに示すかは今後要相談です。

その他、CONVNTL と SYSTEM は発注通り作成しております。

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> 単独コマンドでマスクが出来るようにしてみました。(^^)
> ついでに、全部のオプションの組み合わせを同じ書式で使えるように変更してみました。

直感的に使用できるようになり、良いと思います。(^^)

次回の SYSMNG アップデートの際に、
System(-7)⇒FKeyMenu(1,1114,M
に置き換えようと思います。
(特に現バージョンで問題はないので、暫くは放っておきます。)


> U:文字列を1ドット上側に表示。

コメント欄を遡らなくても良いように、念のため導入の経緯を補足しておきます。

この機能は GB フォントを表示する際に余白の加減で 1 ドット上に表示する必要があったため、
私のリクエストを sentaro様が取り入れて下さった機能でしたね。


> マスクはドット数の少なさで何がなんだかわからなくなる状況なので要修正です…(^^;

私は FX 機のことはよく分からないのでアレですが、
もしコントラストを下げて表示できるのであればそれもひとつの手かな、と思います。


管理人様、sentaro様、
エミュレータでの System( コマンドの動作確認ありがとうございます。

深く考えずに SYSMNG13 を出してしまっていました。(^^;

一応、エミューレータでの動作確認をお願いします。> sentaro様


ところで、RENFLDR の中国語表示の件ですが、
CalcLoverHK様から「翻訳が長いので 2 つの解決策がある、機能が似ている [F6] - [F2] (RENAME) にフォルダの改名機能を持たせるか、[F6] - [F6] - [F2] のアイコンを長くして中国語訳を収めるかだ。」という案を頂き、私は「既に [F6] - [F2] (RENAME) でフォルダの改名ができ、作るアイコンも少なくて良いので、前者の案が良いと思う」旨の返答をしました。
(詳しいことは遡ってご確認願います。)

この後、確かお二方にコメントいただいていなかったと思うので、ご意見よろしくお願いします。

Re: Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

先ず最初に Build 12 のところ、バージョン表示は Build 11 となっています。ご確認ください。

FKeyMenu( のオプションの順番の問題は、前のコメントに書いたように、私の勘違いというか、Build 11 での結果でした。
Build 12 では問題ないことを確認しました。

そこで、オプション順序をランダムにし、アイコンの文字列を修正しました。

> シンプルなプログラムなので必要性は薄いと思いますが、管理人様の説明が見てみたいかもです。(^^)
FX用にアイコンの文字数を変えた FJEYMENU.g1m も同梱しました。
とりあえずは readme.txt なしです。

http://pm.matrix.jp/upload/upload.cgi?get=00071



> >エミュレータで System(-7) を実行すると 0 を返す機能が追加されましたが、
> >System(-1) <機種判定> と System(-2) <OSバージョン判定) は、エミュレータではどのような出力になりますでしょうか?
>
> エミュレータは実質CG20と同じなので20です。(^^;
> System(-1)=20
>
> エミュのOSバージョンは3.20.0202なので、320が返ります。
> System(-2)=320

> で、エミュレータでの実行結果です。
> https://pm.matrix.jp/upload/upload.cgi?get=00070

ありがとうございます。
このあたりを考慮して、サンプルプログラムを見直してみます。


> これはシステムのサンプルプログラムとして同梱候補になります。(^^)

そういうことなら、FX用のサンプルプログラムを作ってあるので、あとでまとめてアップしようと思います。


Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>FKeyMenu( の LオプションとUオプションの順序は、自由に変えられないようです。
>Uオプションは右端、LとUを同時に使う場合は、Uが右端でその前にL (つまり最後にLU)としないとエラーになるようです。

うわ…
と思ってテストしてみたらどちらでもエラーにならないようです。(^^;

FKeyMenu(1,"1234",LU)
FKeyMenu(1,"1234",UL)

エラーの出る具体例をお願いできれば幸いです。



>エミュレータで System(-7) を実行すると 0 を返す機能が追加されましたが、
>System(-1) <機種判定> と System(-2) <OSバージョン判定) は、エミュレータではどのような出力になりますでしょうか?

エミュレータは実質CG20と同じなので20です。(^^;
System(-1)=20

エミュのOSバージョンは3.20.0202なので、320が返ります。
System(-2)=320


>とりあえず、エミュレータの場合は、System(-1) は、既存の戻り値以外になると仮定して、Switch 文の生の default ラベルで処理させるような対応をしてみています。
http://pm.matrix.jp/upload/upload.cgi?get=00067

これはシステムのサンプルプログラムとして同梱候補になります。(^^)

で、エミュレータでの実行結果です。
https://pm.matrix.jp/upload/upload.cgi?get=00070


>あ、それと FKeyMeny( の U オプションに対応し、対応するアイコンがない状態でのMオプションでは何もしない新仕様に対応したサンプルプログラムも作りました。
http://pm.matrix.jp/upload/upload.cgi?get=00068

ありがとうございます!


>説明のreadme.txtがあった方が良いでしょうか?

シンプルなプログラムなので必要性は薄いと思いますが、管理人様の説明が見てみたいかもです。(^^)

System( のエミュレータ対応について

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人のやすです。

エミュレータで System(-7) を実行すると 0 を返す機能が追加されましたが、
System(-1) <機種判定> と System(-2) <OSバージョン判定) は、エミュレータではどのような出力になりますでしょうか?

System( のサンプルプログラムを作っていて、エミュレータにも対応しようとしたら、このような疑問が出てきました。
とりあえず、エミュレータの場合は、System(-1) は、既存の戻り値以外になると仮定して、Switch 文の生の default ラベルで処理させるような対応をしてみています。
http://pm.matrix.jp/upload/upload.cgi?get=00067



あ、それと FKeyMeny( の U オプションに対応し、対応するアイコンがない状態でのMオプションでは何もしない新仕様に対応したサンプルプログラムも作りました。
http://pm.matrix.jp/upload/upload.cgi?get=00068

説明のreadme.txtがあった方が良いでしょうか?


[訂正] Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

先ほどアップしたコメントは、全て取り消します。

[SHUFT][MENU](setup) + [F6]  表示されるバージョン情報で、build # が 11 のままです。

それで、どうも勘違いしたみたいです。build 12 を確認して FKeyMenue(を試したら、以下の問題は解消していました。

どこで、どこでどう勘違いしたのか、チョット分かりませんが、大変失礼しました。

で、Mオプションは、対象のアイコンが描画されていない時は、枠だけがマスキングされて表示されるところが、修正前と異なるようですね!

FKeyMenu( サンプルプログラムを修正して再アップしました。
http://pm.matrix.jp/upload/upload.cgi?get=00069

お騒がせしました。
'

FKeyMenu( の LオプションとUオプションの順序は、自由に変えられないようです。
Uオプションは右端、LとUを同時に使う場合は、Uが右端でその前にL (つまり最後にLU)としないとエラーになるようです。

これは、どのような順序でも機能が有効になるような修正は可能でしょうか?



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>行列の確保や色の取得が必要ないので "_Retangle" コマンドを使いたかったんですが、
>"Transp-Color" コマンドの存在をすっかり忘れていました。(^^;

通常の描画コマンドで透過が使えるのは仕様からすれば裏技的なところがありますよね。(^^;


>ありがとうございます!(^^)
単独での使用ではなく、既に表示されているアイコンに重ねて使用するという点で注意が必要ですね。
>これはマニュアルへの記載が必要だと思います。

単独コマンドでマスクが出来るようにしてみました。(^^)
ついでに、全部のオプションの組み合わせを同じ書式で使えるように変更してみました。
Cオプションを使うと他のオプションは有効にならないとかの場合もありますが、
文法的にはすっきりしたかなと思います。(^^)


@CalcLoverHK
Sorry to confuse you.
I have rebuilt the FKeyMenu() command, so please try it.(^^)


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その12
https://pm.matrix.jp/CB/CBASICCG144beta12.zip
(build12)
・FkeyMenu(コマンドを修正しました。
(書式)FKeyMenu( n, "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] [,m])
 nからmまでのファンクションキーを表示/消去します。
 3つめの引数の並び順は任意です。
  C:消去します。
  M:マスク処理します。
  N:ノーマル白アイコン。(省略可)
  R:右下が欠けた黒アイコン
  I:四角い黒アイコン
  S:縁取りのある黒アイコン
  U:文字列を1ドット上側に表示。
  L:表示範囲を左右2ドット広げます。
(例)FKeyMenu (1, "string", RL)
(例)FKeyMenu (2, "long_string", SLM, 4)
(例)FKeyMenu (5, 42, M)



build06以降12までCG版とほぼ同様の修正を加えたFX版です。
「選」アイコンのは矩形にしてみたのですが、マスクはドット数の少なさで何がなんだかわからなくなる状況なので要修正です…(^^;

C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その12
https://pm.matrix.jp/CB/CBASIC244beta12.zip

Re: Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi CalcLoverHK

When you want to use M option on FKeyMenu(, you should draw icon at exactly same place in same manner before using M option.
In other words, M option requires object to mask on.

I think this resolves all of your confusion.
Good luck


chao

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi Sentaro21

There is missing information in FKeyMenu(n, "", M [, n]).

E.g.1
FKeyMenu(1,"",M,6)
When not using it with another FKeyMenu (othen than M), it does nothing at all.

E.g.2
FKeyMenu(1,"TEST",S,6)
FKeyMenu(1,"",M,6)
But when it is, it will stack with that FKeyMenu to create masking effect.

E.g.3
FKeyMenu(1,"",M,6)
FKeyMenu(1,"TEST",S,6)
However, this syntax won't work in vice versa.

(Help, I am confused with the logic of FKeyMenu ^^;)

Cheers
CalcLoverHK

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その11

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> ちなみに、
> 最近のバージョンではMLコマンドでも透過色が使えるようになったことで、市松描画の描画色側を透過色にすることでマスク化が可能です。

行列の確保や色の取得が必要ないので "_Retangle" コマンドを使いたかったんですが、
"Transp-Color" コマンドの存在をすっかり忘れていました。(^^;

> 結局の所、
> FKeyMenuにマスク化のオプションがあった方がより便利かもということで、オプション追加してみました。(^^)

ありがとうございます!(^^)
単独での使用ではなく、既に表示されているアイコンに重ねて使用するという点で注意が必要ですね。

これはマニュアルへの記載が必要だと思います。

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その11

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>build 11 へのアップデート対応致しました。

早速にありがとうございます!


>併せて、FKeyMenu( のサンプルプログラムに、M (マスク) オプションの例を追加しました。
http://pm.matrix.jp/upload/upload.cgi?get=00066

>どうぞお使いください。

ありがとうございます!
ってことで、同梱して差し替え再アップしておきました。(^^)


>ところで、FX版の FKeyMenu( は、長いアイコンを作る機能は実装可能でしょうか?

はい、
これからFX版への実装を進めます。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その11

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


build 11 へのアップデート対応致しました。

併せて、FKeyMenu( のサンプルプログラムに、M (マスク) オプションの例を追加しました。
http://pm.matrix.jp/upload/upload.cgi?get=00066


> これはサンプルプログラムとして一目瞭然ですね。(^^)
> CalcLoverHK様のサンプルプログラム(Colon様最適化)と一緒にFKeyMenuサンプルとしてzipファイルに同梱させていただきたい感じです。

どうぞお使いください。

ところで、FX版の FKeyMenu( は、長いアイコンを作る機能は実装可能でしょうか?


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その11

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>FKeyMenu( の各種オプションを使ったサンプルプログラムを作りました。
>Lオプションの効果が確認できます。
>また、[F1]から[F6]までをSオプション付きで1つのアイコンにし、文字列を入れるサンプルを作ったら、Colon様がご指摘のようにゲームに使えそうです。

これはサンプルプログラムとして一目瞭然ですね。(^^)
CalcLoverHK様のサンプルプログラム(Colon様最適化)と一緒にFKeyMenuサンプルとしてzipファイルに同梱させていただきたい感じです。


Colon様
>前述の通り、エミュレータで実行する場合に [F1] の Display Settings に入れないようにしました。
>これに関して、利用できないことを明示するためにアイコンにマスクが掛かるようにしています。

マスクするのは良いアイデアですね。(^^)


>マスク化は使う機会が出てくるかもしれないので、一応ルーチンを載せておきます。
>マスクをかける部分は WriteGraph コマンドの M オプションと And オプションを使用することで、すでに表示されているアイコンに簡単に上書きできます。

マスク化のルーチンを簡単に作成してしまうあたりがさすがColon様です。(^^)

私がマスクをどうやるかと考えた場合は、WriteGraphを使うのはすぐに思いつかなかったかもしれません。(^^;

ちなみに、
最近のバージョンではMLコマンドでも透過色が使えるようになったことで、市松描画の描画色側を透過色にすることでマスク化が可能です。
-----------------------------
Transp-Color Black
Black_Retangle 0,168,63,191,0,-1,3
Transp-Color
-----------------------------
ただ、この方法は最近のバージョンでしか使えないので、Colon様のWriteGraphは従来互換に勝りますね。(^^)

結局の所、
FKeyMenuにマスク化のオプションがあった方がより便利かもということで、オプション追加してみました。(^^)


>C.Basic の次回アップデート時、同梱ファイルの変更をお願いします。> sentaro様

build11にて差し替えて同梱させていただきました。(^^)


@CalcLoverHK
>I've made a program showcasing a dialogue using the new feature added.
http://www.mediafire.com/file/qh4jaqzv7ovg7f0/Dialogue.g3m/file

Nice!
It looks very effective.!!



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その11
https://pm.matrix.jp/CB/CBASICCG144beta11.zip
(build11)
・FkeyMenu(コマンドを拡張しました。
(書式)(書式)FKeyMenu( n,"",M[,n])
nからmのアイコンをマスク処理します。
・Colon様謹製システム操作系アプリのシステムマネージャを1.2→1.3に更新しました。

Re^6: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi CalcLoverHK,

> I've made a program showcasing a dialogue using the new feature added.
> http://www.mediafire.com/file/qh4jaqzv7ovg7f0/Dialogue.g3m/file
> This program is not optimized (^^; Can someone simplify it?

I tried it :)

========================================
RefrshCtrl 0
"Stay Determined."→Str 1

For 1→A To StrLen(Str 1)
FKeyMenu(1, StrLeft(Str 1, A), S, 6)
TicksWait -6
Next
========================================

I think that it is better to use “TicksWait -6” because it takes time to access Mat <r>.

Re^5: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi CalcLoverHK

Dialogue.g3m is good idea that can be used in RPG indeed!

Or this technique can be useful to indicate anything for user of your program.
I want to use this for instruction purpose maybe in future program.

chao

Re^4: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi all Japanese members

@Krtyski:
I saw the difference, thanks.

@All:
I've made a program showcasing a dialogue using the new feature added.
http://www.mediafire.com/file/qh4jaqzv7ovg7f0/Dialogue.g3m/file
This program is not optimized (^^; Can someone simplify it?

This is really useful in RPG game. ^^

Cheers
CalcLoverHK

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、
> これは、Colon様が中心に推進中の "FKey Icon 改善プロジェクト" (勝手に銘々(^^))で、修正する予定でしたっけ?

こちらで既にご紹介したアイコンに切り替えます。

https://pm.matrix.jp/upload/upl/yo2e7pnJByr76yUkcn2m/00053.png

はみ出した状態を解消するほか、表示される文字列も
"→Main" → "►MAINMEM"
"→SMEM" → "►STRGMEM"

のように改善します。

アイコンは、保存画面の [F1] に割り当てているものと同じにする予定です。

Re^2: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。

sentaro様、Colon様
ファイルリスト画面で、[SHIFT]-[F6] で表示される [F5](→Main) を押すとメインメモリのプログラムリストを表示します。
この状態で、[SHIFT]-[F6] で表示される [F5](→SMEM) のアイコンは、最後の M が半分隠れています。

これは、Colon様が中心に推進中の "FKey Icon 改善プロジェクト" (勝手に銘々(^^))で、修正する予定でしたっけ?


@CalcLoverHK
Let me add some explanation about L option of FKeyMenu(
.
http://pm.matrix.jp/upload/upload.cgi?get=00065
In this sample program,

FKeyMenu(1,"F-1")
FKeyMenu(1,"F-1",L)
FKeyMenu(1,"F-2",R)
FKeyMenu(1,"F-2",RL)

As you told, there is no difference, but

FKeyMenu(1,"Func3",I)
FKeyMenu(1,"Finc3",IL)
FKeyMenu(1,"Func4",S)
FKeyMenu(1,"Func4",SL)

shows difference.

L option is effective for long string and the string starts displaying at a few pixels left, as its spec.

I hope this helps.

System Manager v1.3(エミュレータのバックライト設定無効化版)

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> エミュレータにおいては設定値を無効にしてみました。(エラーにならずスルーします。)
> 読み出し値は210固定です。

了解しました。

> ・System()コマンドにエミュレータ判定を追加しました。

早速ありがとうございます。(^^)
というわけで、SYSMNG をアップデートしました。


@All members:

I've just updated “SYSMNG.”
[F1] (DISPLAY) has been disabled when running on the emulator.

========================================
System Manager v1.3(エミュレータのバックライト設定無効化版)
https://pm.matrix.jp/upload/upload.cgi?get=00061

・ 動作要件を C.Basic for CG Ver 1.44β build 10 以降に変更しました。
・ エミュレータはバックライトの設定に不具合があるため、表示画面の明るさの設定を無効化しました。
  実機では引き続きお使いいただけます。
・ C.Basic for CG では、選択されていることを示すファンクションキーアイコンのフォーマットを新たに定義しました。
  これに伴い、表示画面の明るさの設定画面のファンクションメニューの表示を変更しました。
・ C.Basic の動作モードが整数モードの場合にエラーが発生していた不具合を修正しました。
========================================

以下、重要度が低いので日本語にて。

前述の通り、エミュレータで実行する場合に [F1] の Display Settings に入れないようにしました。
これに関して、利用できないことを明示するためにアイコンにマスクが掛かるようにしています。

マスク化は使う機会が出てくるかもしれないので、一応ルーチンを載せておきます。

========================================
〈FKey Icon マスク化サンプルプログラム〉

{64, 24}→Dim Mat a.p
1→Mat a

FKeyMenu(1, 1114

RGB(#_PixelTest(2, 169))WriteGraph @0, 168, 64, 24, Mat a, M, A
========================================

マスクをかける部分は WriteGraph コマンドの M オプションと And オプションを使用することで、すでに表示されているアイコンに簡単に上書きできます。

また、Utilities アドインのファンクションメニューの色変更にも対応していますが、
先日見つけた SysCall を使うと却って煩雑になるので、_PixelTest() コマンドと RGB() コマンドの # オプションとの重ね技にしています。

その他の変更点は以下の通りです。
・ Display Settings の FKey Icon を「白」と「選」に変更
・ 開始時のセットアップが甘く、エラーが出ることがあったのを修正
・ 所々でアルゴリズムを見直し、ファイルサイズを縮小


C.Basic の次回アップデート時、同梱ファイルの変更をお願いします。> sentaro様

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


Build 10 のアップデート対応しました。

FKeyMenu( の各種オプションを使ったサンプルプログラムを作りました。
Lオプションの効果が確認できます。
また、[F1]から[F6]までをSオプション付きで1つのアイコンにし、文字列を入れるサンプルを作ったら、Colon様がご指摘のようにゲームに使えそうです。

http://pm.matrix.jp/upload/upload.cgi?get=00065
http://pm.matrix.jp/upload/upload.cgi?get=00060


@CalcLoverHK
I uploaded sample program using FKeyMenu( above.
I shows effect of L option.
Also big single icon using [F1] through [F6] with string can be used for role playing game.


Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

@CalcLoverHK

>But, what is the difference between with L and without L in FKeyMenu?
>I tried it but I can't see any of that.

May or may not change.
Please try with the number of characters that is wide enough to fill the function icon.(^^)

>And can you add support of accessing PC storage?

Since it is the emulator original implementation,
I don't know how to do it.(^^;

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

Hi all Japanese members

@Sentaro21:
Thanks for the update!
But, what is the difference between with L and without L in FKeyMenu?
I tried it but I can't see any of that.

And can you add support of accessing PC storage?
Since C.Basic can detect emulator, I think this should be added, too.
It eliminates the time of porting programs from the PC storage just like C.Basic FX.

Cheers
CalcLoverHK

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>エミュレータでは "BackLight" コマンドを無効化する (エラーを出すなりする) のが一番安全ではないでしょうか?

エミュレータにおいては設定値を無効にしてみました。(エラーにならずスルーします。)
読み出し値は210固定です。


>それから、"System(" コマンドでエミュレータかどうかも判別できると便利だと思います。
次のバージョンの SYSMNG を出す際に、エミューレータから画面の明るさ調整に入れなくするのが狙いです。

追加してみました。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その10
https://pm.matrix.jp/CB/CBASICCG144beta10.zip
(build10)
・BackLightコマンドをエミュレータで無効にしました。
・System()コマンドにエミュレータ判定を追加しました。
(書式)System(-7)
 実機では0、エミュレータでは1が返ります。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9 差し替えです。(^^;

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、

> あ゛…文字数の制限を増やすことを忘れてました。(^^;

ふざけて

FKeyMenu(1, "?「ガハハハハハ...」 ▼", S, 6

と入力したところ、不具合に気づきました。(笑)

>> FKeyMenu( の C オプションですが、複数のファンクションキーにまたがるものを一気にVRAMからクリアできるようになりませんか?
>> (例) FKeyMenu(1, "", C, 6) で、F1 ~ F6 まで一気にクリア

> 仕様追加してみました。(^^)

これが出来るだけでだいぶ便利ですね!(^^)

Re^5: SYSMNG contrast bug

Hi CalcLoverHK,

> https://i.ibb.co/4g0Qvks/CBasic-Bug20200130.gif/

Ok, I see.
It seems that “BackLight” command does not work well on emulator.

This problem should be documented in C.Basic manual.

> After I encounter the bug for a while, my whole PC crashes for unknown reasons.

Oh, No!!!!

@sentaro:
エミュレータでは "BackLight" コマンドを無効化する (エラーを出すなりする) のが一番安全ではないでしょうか?

それから、"System(" コマンドでエミュレータかどうかも判別できると便利だと思います。
次のバージョンの SYSMNG を出す際に、エミューレータから画面の明るさ調整に入れなくするのが狙いです。

Re^4: SYSMNG contrast bug

Hi all Japanese members

I have added a warning in README_EN of SYSMNG12.

If you use emulator to run this program, please aware that there is a bug (emulator itself) that setting brightness of the display screen will not work.
Once you try to set any value there, it will always be set to the lowest brightness.
In worst-case scenario, it will make your PC crash.
Please restart or initialize your emulator to prevent unexpected errors.


https://www.mediafire.com/file/k7203yljvwvi2dw/README_EN.txt/file

After I encounter the bug for a while, my whole PC crashes for unknown reasons. I tried it several times and get the same result.

Cheers
CalcLoverHK

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9 差し替えです。(^^;

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>文字列が長い場合のみ左に移動するようになっており、いい感じです! (^^)

ありがとうございます!
文字列の総ドット数から計算してセンタリング処理をしているだけですが、うまくいっているようで良かったです。(^^)

>とすると中に台詞とかが書いてそうな雰囲気になりますね。

「選 (S)」アイコンのデザインが秀逸ですよね。(^^)

>表示できる文字数を増やしていただけませんか?

あ゛…文字数の制限を増やすことを忘れてました。(^^;



管理人様、
>build 09 のアップデート対応致しました。

早速にありがとうございます!

>これ、良いですね。確認しました。マニュアルに是非追記すべきだと思います。

了解です。(^^)

>私も希望します。

これは普通にバグだったので修正しておきました。(^^;

>FKeyMenu( の C オプションですが、複数のファンクションキーにまたがるものを一気にVRAMからクリアできるようになりませんか?
>(例) FKeyMenu(1, "", C, 6) で、F1 ~ F6 まで一気にクリア

仕様追加してみました。(^^)

>UFCなどで、1行入力の「1行」を one line と書かれていますが、single line をお使いになるのをお勧めします。

ありがとうございます!
修正できる範囲で修正しておきます。(^^)



@CalcLoverHK
>https://www.planet-casio.com/Fr/forums/topic16143-1-[Tutorial],How,to,use,emulators,forever,(technically).html

Good job!

>This is a bug that exists in all Casio emulators. You can reset whole PC to gain another 90 days trial. ^^ I tried and it is successful.

It is a specification, not a bug.(^^)

>SYSMNG12
It seems like the bug of emulator.
Try "Display Settings" of the genuine system manager.
It cannot be changed.



C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9 差し替えです。(^^;
https://pm.matrix.jp/CB/CBASICCG144beta9.zip
(build09)
・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n,"",C,m)
 nからmまでの複数のファンクションキーをまとめて消去をします。

Re^3: SYSMNG contrast bug

HI all Japanese members

@Krtyski:
If Colon didn't encounter this bug on his fx-CG20, then yes it is a bug of emulator.

@Colon:
https://i.ibb.co/4g0Qvks/CBasic-Bug20200130.gif/
Sorry for using GIF format (MP4 occupies too much bytes)

Cheers
CalcLoverHK

Re^3: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

sentaro様

UFCなどで、1行入力の「1行」を one line と書かれていますが、single line をお使いになるのをお勧めします。

って、それだけですが、気づいたときに書いておこうと思ったもので...

Re: Re: SYSMNG contrast bug

Hi Colon, CalcLoverHK,

I think the bug was found on emulator, but not real calculator.
Is this correct? > CalcLoverHK

chao

Re: SYSMNG contrast bug

Hi CalcLoverHK,

I wasn't able to replicate that bug on my fx-CG20.

I want more information about the bug, so could you tell me what was displayed on your screen?

Like this:
========================================
Step 1: Press [F1] (DISPLAY).
* EN2: LOW
* PWM DUTY: 210

Step 2: Press [F6] (5).
* EN2: HIGH
* PWM DUTY: 160

Step 3: Press [0].
* EN2: HIGH
* PWM DUTY: 160

Step 4: Press [EXIT].

Step 5: Press [F1] (DISPLAY).
* EN2: HIGH
* PWM DUTY: 160
========================================


Colon

SYSMNG contrast bug

Hi all Japanese members

@Sentaro21:
https://www.planet-casio.com/Fr/forums/topic16143-1-[Tutorial],How,to,use,emulators,forever,(technically).html

This is a bug that exists in all Casio emulators. You can reset whole PC to gain another 90 days trial. ^^ I tried and it is successful.

@Colon:
I tested SYSMNG12 with fx-CG Manager PLUS and found a bug on contrast setting. You cannot change and save the contrast setting once you set it to low. Although you can change it by pressing right in menu, but when you press other button, the contrast will be changed back to the lowest even pressing [EXIT]. You need to close the emulator to restore the contrast.

Cheers
CalcLoverHK

Re^2: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。

build 09 のアップデート対応致しました。


> 文字列が長い場合のみ左に移動するようになっており、いい感じです! (^^)

これ、良いですね。確認しました。マニュアルに是非追記すべきだと思います。


> 表示する文字列が 16 バイト以上の場合に "String Too Long" が出るので、アイコンの長さ指定をフル活用できない状態です。
> 表示できる文字数を増やしていただけませんか?

私も希望します。


FKeyMenu( の C オプションですが、複数のファンクションキーにまたがるものを一気にVRAMからクリアできるようになりませんか?

(例) FKeyMenu(1, "", C, 6) で、F1 ~ F6 まで一気にクリア


よろしくお願い致します。


Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
アップデート確認しました。

> 追加で、文字列の表示範囲を左右2ドット分広げるオプションもつけてみました。

文字列が長い場合のみ左に移動するようになっており、いい感じです! (^^)

手作業でアイコンを作る際も、短ければ中央揃え、長ければちょっと左に、という感じなのでそれっぽさが増した感じがします。


> CalcLoverHK様のアイデアを実装してみました。(^^)

私のデザインの加減で、

FKeyMenu(1, "", S, 6)

とすると中に台詞とかが書いてそうな雰囲気になりますね。
(ゲームをやらないので実物を見たことはありませんが……。)

閑話休題、

表示する文字列が 16 バイト以上の場合に "String Too Long" が出るので、アイコンの長さ指定をフル活用できない状態です。

表示できる文字数を増やしていただけませんか?

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

CalcLoverHK様のアイデアを実装してみました。(^^)
追加で、文字列の表示範囲を左右2ドット分広げるオプションもつけてみました。


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9
https://pm.matrix.jp/CB/CBASICCG144beta9.zip
(build09)
・FkeyMenu(コマンドを拡張しました。
(書式)FKeyMenu( n,"文字列",R/I/S,m)
 nからmまでの複数のファンクションキーにまたがる表示をサポートしました。
(書式)FKeyMenu( n,"文字列",L)
(書式)FKeyMenu( n,"文字列",RL)
(書式)FKeyMenu( n,"文字列",IL)
(書式)FKeyMenu( n,"文字列",SL)
 左に2ドット分、文字列の表示範囲を広げます。

Re^16: Greeting from gaijin member

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

@All members:

For reference, the OS built-in “Memory Manager” displays:

* [F4] (FOLDER / 文件夹) - [F1] (MKEFLDR / 建夹)
* [F4] (FOLDER / 文件夹) - [F2] (RENFLDR / 更名)

> 1. Combine both button into one because of very similar function between them. (Translation: 重命名)

I think this idea is better because it is able to rename folder using [F6] - [F2] (RENAME) with the current version.
(And fewer icons I need to design……^^; )


管理人様、
通訳ありがとうございます。(^^)

ファンクションメニューのことなど、専門的な内容になるとまだ迷うことがあります。(^^;


sentaro様、
> あ゛…黒の位置に合わせてしまいました。
> ってことで、白の方に合わせました。(^^)

今回ので大丈夫です。(^^)

> 白アイコンはこれでちょうどいいのですが、黒アイコンは左に2ドット寄せられるので、
> 位置調整できた方が良いかもですか?

うーん、そこはお任せします。

Re^15: Greeting from gaijin member

Hi all Japanese members

@Sentaro21:
Thanks very much for the approval of feature proposal!

@Krtyski:
(Content of Google Translate and yours are similar.)

I see. However, let me correct the translations:
"RENAME" -> 重命名
"RENFLDR" -> 重命名文件夹

You can see that "RENFLDR" has long translation that a button cannot handle, so I have two solutions.

1. Combine both button into one because of very similar function between them. (Translation: 重命名)

2. Use the FKeyIcon feature I proposal to fit these Chinese words.

What do you think?

Cheers
CalcLoverHK

Re: Re^14: Greeting from gaijin member

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、


Hi CalcLoverHK,

Regarding following request for help about good expression in Chinese;


> I'm sorry but I couldn't translate well, so I'll write in Japanese.
>
> ========================================
> 現在、ファイルリスト画面の [F6] - [F2] (RENAME) と [F6] - [F6] - [F2] (RENFLDR) は、中国語表示にすると同じく「更名」と表示されており、紛らわしいので対策が必要です。
>
> そこで、[F6] - [F6] - [F2] (RENFLDR) の中国語表記を「更名夹」に変更しようと考えているのですが、いかがでしょうか?
> ========================================

I thinks this is good test of Google translation.

In case let me translate, and could you tell me if Google helps you?

========================================
Setting "Message Language" to 中文 in System menu, currently on C.Basic File List screen shows expression "更名" for both [F6] - [F2] (RENAME) and [F6] - [F6] - [F2] (RENFLDR). Problem is same expression "更名" is used for two different operation Renane File and Rename Folder. I want the expression in Chinese should be properly changed.

So I believe the current expression to be changed to "更名夹" for [F6] - [F6] - [F2] (RENFLDR). Could you tell me what do you think?
========================================



Colon様、

Google翻訳を試してみましたが、結構いける感じで、CalcLoverHK様も理解できるかと思います。
但し、一発で分かって貰うために、念のため意訳してみました。

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 再差し替えです。(^^;

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、



> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 再差し替えです。(^^;
> https://pm.matrix.jp/CB/CBASICCG144beta8.zip

差替え対応致しました。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 再差し替えです。(^^;

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>逆に右に寄ってしまっているようですが、
>従来の「白」アイコンと同じ位置にしていただければと思います。

あ゛…黒の位置に合わせてしまいました。
ってことで、白の方に合わせました。(^^)
白アイコンはこれでちょうどいいのですが、黒アイコンは左に2ドット寄せられるので、
位置調整できた方が良いかもですか?

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 再差し替えです。(^^;
https://pm.matrix.jp/CB/CBASICCG144beta8.zip


>タイトルをお間違いではありませんか?
>ご確認願います。

思いっきり間違えました。(^^;


管理人様、
>Build 8 として、ップデート対応しました。

早速にありがとうございます!
差し替えが続いてますがbuild08での実装ミスなのですみません。(^^;



@CalcLoverHK
I'll implement your idea in the next build09.(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、

管理人のやすです。


> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 差し替えです。(^^;
> https://pm.matrix.jp/CB/CBASICCG144beta8.zip

Build 8 として、ップデート対応しました。

Re^14: Greeting from gaijin member

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

@CalcLoverHK, sentaro:

> Well, I have one idea of FKeyIcon: users can adjust the length of FKeyIcon.
>
> https://i.ibb.co/3vFy0Sn/Studio-20200128-193145.jpg

I think your idea is good because longer strings can be displayed without designing icons each time :)


@All members:

I'm sorry but I couldn't translate well, so I'll write in Japanese.

前置詞等適切な表現がわからなかったため一旦日本語で書きますので、通訳お願いします。m(_ _)m

========================================
現在、ファイルリスト画面の [F6] - [F2] (RENAME) と [F6] - [F6] - [F2] (RENFLDR) は、中国語表示にすると同じく「更名」と表示されており、紛らわしいので対策が必要です。

そこで、[F6] - [F6] - [F2] (RENFLDR) の中国語表記を「更名夹」に変更しようと考えているのですが、いかがでしょうか?
========================================


sentaro様、

> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 差し替えです。(^^;

タイトルをお間違いではありませんか?
ご確認願います。


> そこだったんですね。
> ってことで、調整してみました。再アップです。(^^;

逆に右に寄ってしまっているようですが、
従来の「白」アイコンと同じ位置にしていただければと思います。

確認よろしくお願いします。

Re^13: Greeting from gaijin member

Hi all Japanese members

@Krtyski:
OK. I will correct it.

@Sentaro21:
Sorry, the default setting of <end Fn> should be the same with <Fn>, not 1. (^^;

The main usage of this feature is to let the words look more natural. (It increases the length of the button for words to fit in well) ^^

Since it occupies several FKey, you can program to accept multiple Getkey. (e.g. F1-F3 -> same action)

Cheers
CalcLoverHK

Re: Re^12: Greeting from gaijin member

Hi CalcLoverHK


> > Regarding members of C.Basic development team, let me correct spelling of "Garnot" which is correct, but you wrote "Ganohr" which is wrong.
> The reason why I wrote "Ganohr" is his YouTube channel (^^;
> https://www.youtube.com/channel/UCBvLV2bZJ89JMc8PN6k0_5Q/

He has used several different names. He posted with "ガノー". When I wrote something with his name "Ganot" related to his program in English, he corrected the name to be "Garnot".
However, he used "garnot1" in document for his program.

When he created programs on C.Basic, I have never heard "Ganohr", so "Garnot" or "garnot1" would be better.


Chao

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その9

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>あ、そういうことではなくて、
>現在完全な中央揃えになっていない、ということです。

そこだったんですね。
ってことで、調整してみました。再アップです。(^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8 差し替えです。(^^;
https://pm.matrix.jp/CB/CBASICCG144beta8.zip


@CalcLoverHK
Thanks for new idea!(^^)
I think it is interesting.
and I want to hear the opinions of others.

Re^12: Greeting from gaijin member

Hi all Japanese members

@Krtyski:
> I think couple of comments are added every single day, so your past posts should be buried.
OK. That's fine.
> Regarding members of C.Basic development team, let me correct spelling of "Garnot" which is correct, but you wrote "Ganohr" which is wrong.
The reason why I wrote "Ganohr" is his YouTube channel (^^;
https://www.youtube.com/channel/UCBvLV2bZJ89JMc8PN6k0_5Q/

@Colon:
Good translations!
If you have any problems on translations, please tell me. ^^

@Sentaro21:
Nice updates on FKeyIcon!

Well, I have one idea of FKeyIcon: users can adjust the length of FKeyIcon.

https://i.ibb.co/3vFy0Sn/Studio-20200128-193145.jpg
Sorry for poor handwriting. (^^;

Is this idea good?

Cheers
CalcLoverHK

Re:Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
> いきなり導入するよりは修正箇所が把握しやすいですし、良かったと思います。(^^)

基本的には文字列をメッセージテーブルから呼び出す形式に置き換えという形ですが、
日時など変数が入る場合は要注意という感じですね。

FFM を他言語対応のテストケースに出来ればという狙いはありますが、
ソースコードがぐちゃぐちゃで「その都度言語判定 → 文字列を決める」みたいになっているので、
行く行くは「最初のみ言語判定 → メッセージテーブル作成 → 表示の際はテーブルから呼び出し」という形式に整理したいです。

> はい、すべて中央揃えです。

あ、そういうことではなくて、
現在完全な中央揃えになっていない、ということです。

「黒」アイコンと同じ少し左によった表示になっているので、
「白」アイコンのように完全な中央揃えにできませんか? ということです。

変数画面のトグル表示で違和感があるので……。(^^;

Re:Re:C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ちょっと気が早いことを言ってしまいすみません。
>ただ、導入後を想定しておくに越したことはないので……。(^^;

いきなり導入するよりは修正箇所が把握しやすいですし、良かったと思います。(^^)


>セットアップ画面は以下のようになりますね (他の言語も同様)。
>文字数うんぬんは後で要検討ですが……。

ありがとうございます!
各国語対応はまだちょっと先ですが、CalcLoverHK様もいらっしゃることですし、中文対応もスムーズに進みそうですね。(^^)


>この 2 つですが、「白」アイコンと同様の中央揃えになりませんか?

はい、すべて中央揃えです。
なので、左詰めにしたい場合は文字列の後にスペースを追加して調整という感じになりますが、
左詰めで表示するオプションがあった方がいいかもしれませんね。(^^)

(例)FKeyMenu( n,"文字列",>I)



>アイコンで選択されていることを示せるようになったので、指の絵文字は抜いていただいてよいと思います。

了解です。
次のアップデートで修正します。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

sentaro様、
ちょっと気が早いことを言ってしまいすみません。
ただ、導入後を想定しておくに越したことはないので……。(^^;

> ファイルリストやセットアップでの表示形式は言語別に変えていく方向でいいと思いますが、
> コマンドのDATEのフォーマットはプログラム的には固定してた方がよいと思われますので、そこはそのままにしたいところです。

私も同じ考えです。
CASIO の純正でも、コマンドについては英語のみということになっているはずです。

セットアップ画面は以下のようになりますね (他の言語も同様)。
文字数うんぬんは後で要検討ですが……。

en
DATE : 2020/01/28 TUE
TIME : 18:44:00

zh
日期:2020年01月28日 星期二
时间:下午06时44分00秒

または

日期:2020/01/28 星期二
时间:下午 06:44:00

> で、言語別の表示に対しては$オプション追加で対応したいと思います。(^^)
> (例)DATE$,TIME$
> 各国語対応の文字列で表示する。

良いと思います。(^^)


> なんか尻切れな感じになっていたので、?って思ってました。(^^;

モバイル版にコメントのみのページがあるのですが、
そこだと問題なかったので気づきませんでした。(^^;

> (書式)FKeyMenu( n,"文字列",I)
>  右下の欠けが無い黒のアイコンです。
> (書式)FKeyMenu( n,"文字列",S)
>  選択状態を示す縁取り付きの右下の欠けが無い黒アイコンです。

この 2 つですが、「白」アイコンと同様の中央揃えになりませんか?

> カラーピッカーのアイコン (RGB/HSL/HSV) を選択アイコンに変更しました。

アイコンで選択されていることを示せるようになったので、指の絵文字は抜いていただいてよいと思います。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>えっと、インジケータ無しでも良いと私は思っています。
>むしろ、現仕様のように [F3] (INT%)、[F4](DBL#)、[F5](CPLX) の方が良いと思っており、要するに build 7 で満足しています。

>DBL# で複素数を表示するときの何かが足りない、とsentaro様が考えているものだと思ったので、それならインジケータはどうか?と考えたわけです。

了解です。(^^)



Colon様、
>将来的に他言語対応する際には単なるメッセージの置き換えだけでなく時刻の表示方法を多少変更していただくことになると思います。

ファイルリストやセットアップでの表示形式は言語別に変えていく方向でいいと思いますが、
コマンドのDATEのフォーマットはプログラム的には固定してた方がよいと思われますので、そこはそのままにしたいところです。
で、言語別の表示に対しては$オプション追加で対応したいと思います。(^^)
(例)DATE$,TIME$
各国語対応の文字列で表示する。


>あ、コメント欄にそのままペーストしたのですが、横幅が長すぎて表示できなかったようです。(^^;

なんか尻切れな感じになっていたので、?って思ってました。(^^;


>改めてアップローダーに上げておきました。
https://pm.matrix.jp/upload/upload.cgi?get=00059

ありがとうございます!
ということで、早速にFKeyMenuコマンドに取り入れました。(^^)



>虚部の確認をしたい場合は [F5] (CPLX) を押せばよいということで、私も今の仕様で満足です。

了解です。(^^)
ということで、
とりあえず、CPLXのrealモードへの対応は見送りします。(^^;


C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その8
https://pm.matrix.jp/CB/CBASICCG144beta8.zip
(build08)
・FkeyMenu(コマンドの表示を拡張しました。(Colon様にアイコンデータを提供していただいています。)
(書式)FKeyMenu( n,"文字列",I)
 右下の欠けが無い黒のアイコンです。
(書式)FKeyMenu( n,"文字列",S)
 選択状態を示す縁取り付きの右下の欠けが無い黒アイコンです。

・変数表示のINT%,DBL#,CPLXとカラーピッカーのアイコン (RGB/HSL/HSV) を選択アイコンに変更しました。

Re^11: Greeting from gaijin member

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

@CalcLoverHK:

Thanks for your support! ^^


sentaro様、
> We normally don't say "20时55分" (20:55), instead it is "下午8时55分" (8:55 PM). But in informal way, it can be "下午8点55分".

将来的に他言語対応する際には単なるメッセージの置き換えだけでなく時刻の表示方法を多少変更していただくことになると思います。

> で、アイコンデータがどこにあるのか見つからないのですが?(^^;

あ、コメント欄にそのままペーストしたのですが、横幅が長すぎて表示できなかったようです。(^^;

改めてアップローダーに上げておきました。
https://pm.matrix.jp/upload/upload.cgi?get=00059


管理人様、sentaro様、
>>> そこで、虚数部を持つ変数を DBL#モードで表示するときは、右端に [CPLX] や [i]、或いは他の記号/文字列を追記して、それが実は複素数であると教えるようにするのは如何でしょうか?
>> DBL#での表示に虚数部ありということでのインジケータをつけるのであれば、
それは以前の仕様のDBL#/CPLX共通の複素数表示でも構わないということになりませんか?(^^)
> えっと、インジケータ無しでも良いと私は思っています。
> むしろ、現仕様のように [F3] (INT%)、[F4](DBL#)、[F5](CPLX) の方が良いと思っており、要するに build 7 で満足しています。

虚部の確認をしたい場合は [F5] (CPLX) を押せばよいということで、私も今の仕様で満足です。

Re: Re^5: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!


sentaro様


> DBL#での表示に虚数部ありということでのインジケータをつけるのであれば、
> それは以前の仕様のDBL#/CPLX共通の複素数表示でも構わないということになりませんか?(^^)

えっと、インジケータ無しでも良いと私は思っています。
むしろ、現仕様のように [F3] (INT%)、[F4](DBL#)、[F5](CPLX) の方が良いと思っており、要するに build 7 で満足しています。

DBL# で複素数を表示するときの何かが足りない、とsentaro様が考えているものだと思ったので、それならインジケータはどうか?と考えたわけです。

Re^5: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様、

>最新版 (v1.44β build 7) では、COPLXモードで計算した各種複素数変数を 変数リスト表示で DBL# モードに切り替えると、実数部のみ表示されます。例えば、
>・a + bi タイプ(実数部と虚数部がともにゼロでない) 時、a のみを表示、つまり実数部のみ表示
>・bi タイプ(実数部がゼロ、虚数部がゼロでない)時、0 (=a) と表示、つまり実数部のみ表示

>この実装で特に問題を感じず、私はこれでOKです。FX版でも 虚数単位の i が純正同様に表示されれば問題ないと
>思います。

変更箇所が少なくて済むというか、現行のbuild07仕様そのままなので、一番助かります。(^^)



>仮に虚数部を持つ (b ≠ 0)の場合にそれを教えてくれる機能は、DBL# と CPLX は同じモードだということが前提で、それを教えてくれる機能とも言えます。そこで、虚数部を持つ変数を DBL#モードで表示するときは、右端に [CPLX] や [i]、或いは他の記号/文字列を追記して、それが実は複素数であると教えるようにするのは如何でしょうか?

>これなら FX版でも使えます。

DBL#での表示に虚数部ありということでのインジケータをつけるのであれば、
それは以前の仕様のDBL#/CPLX共通の複素数表示でも構わないということになりませんか?(^^)

Re^4: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

sentaro様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、


変数リスト表示の件ですが、

> >極端な話ですが、コードチェックをせずに変数リスト表示の」時だけチェックするというのは、どうなんでしょうか?
> >外している可能性大ですが、これまでDBL# CPLX混合でやってきている部分はあまり触らないことで速度低下へ最小に抑えつつ、変数リスト表示だけでつじつまを合わせる作戦です。
>
> 修正が最小限で済む&速度低下の影響が無いという観点からはかなりいいですが、
> そのチェック結果をどう表示するかというところが新たな課題になってきます。
> たとえば、虚数部のある変数は赤で表示するとかですが、
> この場合、FX版ではどうするかというのも出てきます。(^^;

最新版 (v1.44β build 7) では、COPLXモードで計算した各種複素数変数を 変数リスト表示で DBL# モードに切り替えると、実数部のみ表示されます。例えば、
・a + bi タイプ(実数部と虚数部がともにゼロでない) 時、a のみを表示、つまり実数部のみ表示
・bi タイプ(実数部がゼロ、虚数部がゼロでない)時、0 (=a) と表示、つまり実数部のみ表示

この実装で特に問題を感じず、私はこれでOKです。FX版でも 虚数単位の i が純正同様に表示されれば問題ないと
思います。

仮に虚数部を持つ (b ≠ 0)の場合にそれを教えてくれる機能は、DBL# と CPLX は同じモードだということが前提で、それを教えてくれる機能とも言えます。そこで、虚数部を持つ変数を DBL#モードで表示するときは、右端に [CPLX] や [i]、或いは他の記号/文字列を追記して、それが実は複素数であると教えるようにするのは如何でしょうか?

これなら FX版でも使えます。

Re^5: FKey Icon - ひとまず日本語のコメントに返信……(^^;

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>CG 版は "CONVNTL" で問題なさそうですね。

はい!


>"SYSTEM" (黒) と "System(" (入) のアイコンについても、この形式で試作してみます。
>(「入」に関しては OS アイコンの分析が終わっていないのでまだまだ先にはなりますが……)

了解です。(^^)


>あっ……、私が結構使っているので気づいた感じですが、なんか私の都合みたいになってしまい申し訳ありません。

この機能は最初はコマンドの内部コードを確認するために付けたものですが、
Colon様が一番活用されてる感じですね。(^^)


>"L<>S" と "B<>S" で作るのでそれでお願いします。(^^;

よろしくお願いします。(^^)


>FX 機を持っておらず "FKeyMenu(" コマンドで試せなかったので、
>仮に最小幅にしたらどれくらいになるかなぁ、と作ってみただけです。(^^;

了解です。(^^)


>さて、「選 (S)」アイコンのデータを貼っておきますので、お使いくださいませ。> sentaro様
>変数画面と併せて、CHAR 画面とカラーピッカーのアイコン (RGB / HSL / HSV) もこの段階で変更していただくのがよいかと思います。

ありがとうございます!

で、アイコンデータがどこにあるのか見つからないのですが?(^^;


>ここでの流れを把握していない方のために、「これまでは定まったフォーマットが無かったが、選択されていることを示す C.Basic for CG 独自の新フォーマットを作った」という説明もお願いします。m(_ _)m

了解しました。(^^)



管理人様、
>I think couple of comments are added every single day, so your past posts should be buried. In this particular thread I think risk of spam seems to be low. Actually I always put my g-mail address on my comment and I've received almost no spams in past 6 and half years.

スパムが来ないということで、gmailのメールアドレスを追加してみました。(^^)

Re: Re^8: Greeting from gaijin member

Hi CalcLoverHK


> And can you remove my email address in all previous message? I thought it is a must-need but no, so now I want to prevent spams. (^^;

I wish I could do. I do not have full access to this system, so I cannot remove only your e-mail address. I can delete whole massage though. I'm sorry for this.

I think couple of comments are added every single day, so your past posts should be buried. In this particular thread I think risk of spam seems to be low. Actually I always put my g-mail address on my comment and I've received almost no spams in past 6 and half years.


> One more question, can you give me a Japanese member list that once joined C.Basic development through e-Gadget (not email)? I would like to use it in Acknowledgement page in user's guide.

Sure, as long as I checked your User's Guide, I think you have already covered all candidates.
Regarding members of C.Basic development team, let me correct spelling of "Garnot" which is correct, but you wrote "Ganohr" which is wrong.


Chao

Re ^ 10: Greeting from gaijin member

Hi Colon

Yes, I will. ^^

If you want to express a date:
"Year" -> 年
"Month" -> 月
"Day" -> 日
"Hour" -> 时
"Min" -> 分
"Sec" -> 秒

I suggest two expressions that are commonly used in Chinese:
"AM" -> 上午
"PM" -> 下午
We normally don't say "20时55分" (20:55), instead it is "下午8时55分" (8:55 PM). But in informal way, it can be "下午8点55分".

For "小时" and "天", it is used in length/period of time.
E.g. 5 hour 30 mins -> 5小时30分/分钟
E.g. 3 days later -> 3天后

Hope this helps. ;)

Cheers
CalcLoverHK

Re^4: FKey Icon - ひとまず日本語のコメントに返信……(^^;

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、sentaro様、
CG 版は "CONVNTL" で問題なさそうですね。

"SYSTEM" (黒) と "System(" (入) のアイコンについても、この形式で試作してみます。
(「入」に関しては OS アイコンの分析が終わっていないのでまだまだ先にはなりますが……)

> バイナリエディタはコードを直接いじくりたい場合の開発者用で正式仕様ではないので、
> そこはとくに配慮は必要ないかなと個人的には思いますが、アイコンができてしまえばそれで採用します。(^^)

あっ……、私が結構使っているので気づいた感じですが、なんか私の都合みたいになってしまい申し訳ありません。
"L<>S" と "B<>S" で作るのでそれでお願いします。(^^;

> もしかしてFX版も独自アイコンってことですか?

FX 機を持っておらず "FKeyMenu(" コマンドで試せなかったので、
仮に最小幅にしたらどれくらいになるかなぁ、と作ってみただけです。(^^;


さて、「選 (S)」アイコンのデータを貼っておきますので、お使いくださいませ。> sentaro様

変数画面と併せて、CHAR 画面とカラーピッカーのアイコン (RGB / HSL / HSV) もこの段階で変更していただくのがよいかと思います。

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFA,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF2,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

> 仕様追加してみます。(^^)

ここでの流れを把握していない方のために、「これまでは定まったフォーマットが無かったが、選択されていることを示す C.Basic for CG 独自の新フォーマットを作った」という説明もお願いします。m(_ _)m

Re^9: Greeting from gaijin member

Hi CalcLoverHK,

> Here is the initial version of Guide_EN that released officially back in 23 December.

Oh, It's very easy to read and understand!
Thank you for introducing related apps too.


By the way, I'm working on designing Function Key Icons for C.Basic extension.

Like this:
https://pm.matrix.jp/upload/upload.cgi?get=00053

I'm making the icons not only in English but also in Chinese.
But I'm having trouble translating “YEAR,” “MONTH,” “DAY,” “HOUR,” “MIN,” and “SEC” into Chinese.
(“天” or “日”? / “小时” or “时”? etc…)

Could you help me translate?


Colon

Re^8: Greeting from gaijin member

Hi all Japanese members

@Krtyski:
Thanks for the list! It really helps. ^^
Make sure let me know where is edited.

And can you remove my email address in all previous message? I thought it is a must-need but no, so now I want to prevent spams. (^^;
Thanks a lot.

One more question, can you give me a Japanese member list that once joined C.Basic development through e-Gadget (not email)? I would like to use it in Acknowledgement page in user's guide.

@Sentaro21:
Thanks a lot!

Cheers
CalcLoverHK

Re: Re:Re: FKey Icon - ひとまず日本語のコメントに返信……(^^;

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>何なら、「選」の基本フォーマットだけ先にsentaro様にお渡しして、
>もう「選」に切り替えるという手もありますが、いかがでしょう?

はい!
「選」だけでなく、Noをつけてもらえれば、完成済みのデータならば全部Okです。(^^)


>現在は "FKeyMenu(" コマンドで「白 / 黒」のみが表示できますが、
>"I" オプションで「入」、"S" オプションで「選」が表示できるようにするのもよいと思います。

仕様追加してみます。(^^)


>見辛かったです……

あ゛…ってことなら文字数短めで…(^^;

>これは、バイナリエディタと実行画面を切り替える際のことも配慮する必要があるかと。
>バイナリエディタ画面を "Code" として良いならば、"C<>S" に変更するのがよいと思います。
>・"L<>S" と "B<>S"
>この方向で、sentaro様のご意見を伺いたいところです。

バイナリエディタはコードを直接いじくりたい場合の開発者用で正式仕様ではないので、
そこはとくに配慮は必要ないかなと個人的には思いますが、アイコンができてしまえばそれで採用します。(^^)



>作ってみましたが、私の感覚では一応入るかなぁ、ぐらいです。
https://pm.matrix.jp/upload/upload.cgi?get=00058

拝見いたしました。
CG版は問題ないようですね。(^^)
もしかしてFX版も独自アイコンってことですか?





管理人様、
>...それでいいですよね? > sentaro様

はい、Okです!
基本日本語ということで、海外の方でもGoogle翻訳で意味がきちんと通じるような日本語を目指します。(^^;


>「入」や「選」の追加イメージだけをビットマップ化 (行列化)しておき、Xor でアイコンイメージの重ね合わせができれば、I オプションや S オプションは面白そうですね!

現在のアイコン表示がほとんどその方式なので、それが一番手っ取り早い描画方法になっています。(^^)
アイコンの背景部分というか文字なしのアイコン画像があればいいってことですね。


>それに関連して、Bit行列 A と B
> {x, y}→Dim Mat A.B
> {x, y}→Dim Mat B.B
>で、各要素ごとの論理演算ができて、A And/Or/Not/Xor B など有効になると面白いです。既に実装されていましたっけ?

行列/List/Vct間の論理演算は可能です。あまり使ったことは無いのですが。(^^;


>なお、"More" という表記に少し抵抗があるのは、私だけでしょうか?
>私も抵抗があります。

あ、そうなんですね。(^^;
ということで、管理人様とColon様の案に従います。(^^)




@CalcLoverHK

>If it doesn't matter you, can you let me release them in C.Basic threads managed by me?

I give you permission to managed build versions of C.Basic.
Thank you as always.(^^)

Re: Re:Re: FKey Icon - ひとまず日本語のコメントに返信……(^^;

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやすです。


・C.Basic エントリーのコメント欄における主言語
> 私も「基本的に日本語、非日本語話者の方との意思疏通が必要な場合には英語」という形式でよいと思います。
ご同意頂き、ありがとうございます。
sentaro様や他の方は如何でしょうか?



・日本語や朝鮮語
> 日本語 (*) や韓国語(言語学的には「朝鮮語」と呼びます)は、言語の系統が分かっていない「孤立した言語」とされています
そうそう、朝鮮語と言うべきでした。

昔(多分中学か高校で)習ったのは、日本語や朝鮮語は ウラル・アルタイ語族 に含まれるというものでしたが、今ネットで調べると、最近はウラル語族とアルタイ語族に分けて考えるようになっていること、日本語はアルタイ語族に含まれるという説とそうではない説の両方があることを知りました。

孤立語とは異なった意味で「孤立した言語」という文類があることも知りました。日本語は限られた人口でしか話されないのに、孤立した言語として確立しているのは、面白いですね。日本列島も朝鮮半島も、狭い領域に少ない人口が話しているに過ぎないのに、日本語も朝鮮語も連綿と続いているわけですから、その理由や背景は大いに興味のあるところです。

> AI でも翻訳が難しいというのは、言語学的な特徴が如実に現れていて面白いですね。
学習させる事例が少ないのもAIで進歩が遅い状況を後押ししていると思います。


・"CONVL"
> 作ってみましたが、私の感覚では一応入るかなぁ、ぐらいです。
>
> https://pm.matrix.jp/upload/upload.cgi?get=00058
> ついでに、CG 版の "CONVNTL" のサンプルも入れています。(^^)

ありがとうございます。CG用は問題ないと思いますが、FX用はギリギリOK、でのチョット苦しい感じがします。



・F-KeyメニューでのSystemカテゴリー
> もし仮に追加するのであれば、空いている箇所ではなく、3 ページ目を追加して "System" と "Version" を追加するという手もあると思います。
賛成!

> それから、紛らわしさ回避としては、
> 「入」のほうを "System(" のように括弧を追加し、「黒」は大文字・括弧なしの "SYSTEM" にする、というデザインも出来ます。
とても良いと思います。賛成!



・"L<>S" と "B<>S"
この方向で、sentaro様のご意見を伺いたいところです。


Re^7: Greeting from gaijin member

Hi CalcLoverHK


> I still need to type verification code! Can you figure out why?

The code verification is in principle you need to input 4 digits number, reading Japanese expression in Katakana and Hiragana. For example TOW zero FOUR FIVE is shown then you input 2045 as a verification code. Actually you need to read out numbers from those Kana expression, this is probably difficult part for you.

Katakana    Hiragana (Hirakana)
0: レイ or ゼロ  れい or ぜろ
1: イチ      いち
2: ニ       に
3: サン      さん
4: ヨン or シ   よん or し
5: ゴ       ご
6: ロク      ろく
7: ナナ or シチ  なな or しち
8: ハチ      はち
9: キュウ or ク  きゅう or ク

Hope this helps.



> i-59If you don't mind, could you try to spell my name correctly? (^^;

No, I will be a bit more taking care of typo. Sorry for this.


> Personally I think yes because the emulator data is stored in AppData folder (maybe Local folder, I don't remember) and if I delete "CASIO" folder there, it should reset whole emulator.

OK, that's good. So emulator is the best way to play with system call.


> Here is the initial version of Guide_EN that released officially back in 23 December.
> Docx:
> https://drive.google.com/file/d/17IJQ3JAWuB-9EfSzBPPSoGmkDHmWHDVU/view?usp=drivesdk
> PDF:
> https://drive.google.com/file/d/1iCR7MC7SNo6U2aPKtaY3b11mTFVmz_3e/view?usp=drivesdk
> You need Microsoft Office (recommended) or office-like software to open Docx file. (^^;

Thank you for the URL. This is very very nice. I beleive this is comprehensive User's Guide. Thank you again.
I've just read through and puck up some to be corrected. Let me pick up one by one after necessary check.


Chao

Re:Re: FKey Icon - ひとまず日本語のコメントに返信……(^^;

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

管理人様、

> ここは開発拠点なので、日本語メインで良くて、投稿者が必要と思う時だけ英語でもOKというスタンスが良いかと思っています。海外からの投稿者に対しては不公平かも知れませんが、グーグル翻訳での妙な日本語訳でも、意味が伝わることが多いので、意味をくみ取った上での英語でのご提案やご質問は、少なくとも sentaro様や私が英語で対応できますので、問題無いと思います。

UCF よりはどうしてもここの方が情報が早いですが、開発の心臓部は日本語で動いてきたということで、
私も「基本的に日本語、非日本語話者の方との意思疏通が必要な場合には英語」という形式でよいと思います。

> 日本語をラテン語系に翻訳するのは、AIを導入したグーグルでも依然として難易度が高いようです。

どうやらそのようですね。
私もフランス語やスペイン語から翻訳するときは一旦英語を挟むようにしています。

> 日本語(そして多分韓国語)は、なかなか難しい言語のようです。

日本語 (*) や韓国語(言語学的には「朝鮮語」と呼びます)は、言語の系統が分かっていない「孤立した言語」とされていますが、
AI でも翻訳が難しいというのは、言語学的な特徴が如実に現れていて面白いですね。

(*) 琉球語を立てて「日本語族」とすることもあるが、いずれにせよ起源は不明。


> なので、Colon様ご指名のコメントでなければ、読み流すのでもよろしいかと...

そうですね。
読む・聞く分には出来ますので、話の流れの把握しつつ、必要な場合はレスするという形を取りたいと思います。


> [追記] 上のように書いてコメントしたら、既に Colon 様が英語でコメントなさっていました。上のようなことを書いたのは、SysCall を多用した FFM や SYSMNG はコードの編集のおける注意が必要だから、それなりの英語での対応が必要になりそうだと思ったからです。

補足ありがとうございます。(^^)


> "CONVL" も有りかも知れませんが、ピッチの小さい小文字を多用して、5文字の "Conv'l" は難しいでしょうか?

作ってみましたが、私の感覚では一応入るかなぁ、ぐらいです。

https://pm.matrix.jp/upload/upload.cgi?get=00058

ただ、私は FX 機を使っていないので、
普段使っている方がどうお感じになるかというところだと思います。

ついでに、CG 版の "CONVNTL" のサンプルも入れています。(^^)

> なお、"More" という表記に少し抵抗があるのは、私だけでしょうか?

私も抵抗があります。


> 但し、[SHIFT] + {MENU] - [F6} - [F6} - [F6} - [F6} で現れる System( は Version( と一緒にあるべきだと思うし、このキープレスをおおよそ覚えている人のためにも、そのままにして頂きたいと思います。

私も同意見です。

もし仮に追加するのであれば、空いている箇所ではなく、3 ページ目を追加して "System" と "Version" を追加するという手もあると思います。

それから、紛らわしさ回避としては、
「入」のほうを "System(" のように括弧を追加し、「黒」は大文字・括弧なしの "SYSTEM" にする、というデザインも出来ます。

> 個人的には、"L<>S" はそのままにして、バイナリエディタの時は "B<>S" とする方が分かりやすいです。
> というのも "L<>S" に慣れてしまっているからという事情があるからです。

"B<>S" のほうが良さそうですね。

Re: Re: Re: Re: Re: Re: Greeting from gaijin member

Hi all Japanese member!

@Colon:
Nice to meet you, too ;)
Your English is good enough, so don't worry ^^

You've done a great job on C.Basic.
Keep up the good work.

@Krtyski:
I still need to type verification code! Can you figure out why?

> Using emulator like you, CalcLoveHK, it still be safe, but I'm not sure.
i-59If you don't mind, could you try to spell my name correctly? (^^;

Personally I think yes because the emulator data is stored in AppData folder (maybe Local folder, I don't remember) and if I delete "CASIO" folder there, it should reset whole emulator.

@Sentaro21:
Thanks. ;)
I see there are many build versions of C.Basic. If it doesn't matter you, can you let me release them in C.Basic threads managed by me? I will add a warning of using unstable versions to the overseas users.

@All users:
Here is the initial version of Guide_EN that released officially back in 23 December.
Docx:
https://drive.google.com/file/d/17IJQ3JAWuB-9EfSzBPPSoGmkDHmWHDVU/view?usp=drivesdk
PDF:
https://drive.google.com/file/d/1iCR7MC7SNo6U2aPKtaY3b11mTFVmz_3e/view?usp=drivesdk
You need Microsoft Office (recommended) or office-like software to open Docx file. (^^;

Note that it will not appear in the final of C.Basic User's Guide Project. It will be soon replaced by GuideFX_EN and GuideCG_EN. (I scrapped the idea of combining two variant of manual because it will affect the overall reading experience.)

Currently I am working on improving the layout and design of the user's guide to make sure that users who print out the guide still have better reading experience.

Cheers
CalcLoverHK

Re: Re:Re:Re:Re: Greeting from gaijin member

Hi CalcLoverHK, Colon

> I'm developing “FFM” and “SYSMNG” which are the apps in “C.Basic_application” folder.
>
> There is also discussion about the development of “FFM” and “SYSMNG” here.

Those programs use lots of System Call using SysCall( finction. One of big contribution by Colon is findings in detailed usage of system call.

When use SysCall( you should be very much careful, there is inevitable risks that may destroy ROM area of your calculator. Using emulator like you, CalcLoveHK, it still be safe, but I'm not sure.


Krtyski

[追記有り] Re: FKey Icon - ひとまず日本語のコメントに返信……(^^;

Colon様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、

管理人のやす(Krtyski)です。


当コメント欄の言語について
> 取り敢えず日本語の投稿に返信してしまいます。

ここは開発拠点なので、日本語メインで良くて、投稿者が必要と思う時だけ英語でもOKというスタンスが良いかと思っています。海外からの投稿者に対しては不公平かも知れませんが、グーグル翻訳での妙な日本語訳でも、意味が伝わることが多いので、意味をくみ取った上での英語でのご提案やご質問は、少なくとも sentaro様や私が英語で対応できますので、問題無いと思います。

...それでいいですよね? > sentaro様


日本語をラテン語系に翻訳するのは、AIを導入したグーグルでも依然として難易度が高いようです。
sentaro様がよく出入りされている TI Planetというサイトは、基本フランス語で英語も有り、となっています。グーグルでフランス語⇒日本語にすると訳分からない訳が多い一方で、フランス語⇒英語にすれば訳分からないことは殆ど無く、一気に敷居が下がります。これがグーグル翻訳の現状です。

日本語(そして多分韓国語)は、なかなか難しい言語のようです。なので、Colon様ご指名のコメントでなければ、読み流すのでもよろしいかと...

[追記] 上のように書いてコメントしたら、既に Colon 様が英語でコメントなさっていました。上のようなことを書いたのは、SysCall を多用した FFM や SYSMNG はコードの編集のおける注意が必要だから、それなりの英語での対応が必要になりそうだと思ったからです。



FKeyMenu( のオプション追加について
> 何なら、「選」の基本フォーマットだけ先にsentaro様にお渡しして、
> もう「選」に切り替えるという手もありますが、いかがでしょう?
>
> 現在は "FKeyMenu(" コマンドで「白 / 黒」のみが表示できますが、
> "I" オプションで「入」、"S" オプションで「選」が表示できるようにするのもよいと思います。

「入」や「選」の追加イメージだけをビットマップ化 (行列化)しておき、Xor でアイコンイメージの重ね合わせができれば、I オプションや S オプションは面白そうですね!

それに関連して、Bit行列 A と B
 {x, y}→Dim Mat A.B
 {x, y}→Dim Mat B.B
で、各要素ごとの論理演算ができて、A And/Or/Not/Xor B など有効になると面白いです。既に実装されていましたっけ?



F-Keyアイコンの表記

- エディタ [F3] - [F4] の "extc"
> 文字数的には "CONVNTL" が良さそうです。
CG版は "CONVNTL"で収まるなら、私はそれで良い感じがします。

> FX 版では "CNVL" とするのを思い付きましたが、
> これは略し方的にどうなんでしょうか?
"CONVL" も有りかも知れませんが、ピッチの小さい小文字を多用して、5文字の "Conv'l" は難しいでしょうか?

なお、"More" という表記に少し抵抗があるのは、私だけでしょうか?


- エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC"
> "System" という単語を利用するのが一番直感的で分かりやすいですね。
> ややこしくなるなら、"System(" コマンドをこのメニュー内に加えてしまうのもアリかもしれません。
ちょうど1つ空いているので、そこに System( を追加すると、確かに落ち着きが良いかも知れませんね。
但し、[SHIFT] + {MENU] - [F6} - [F6} - [F6} - [F6} で現れる System( は Version( と一緒にあるべきだと思うし、このキープレスをおおよそ覚えている人のためにも、そのままにして頂きたいと思います。
なお FX版で、CG版を踏襲するためには "Sys" か "SYS" しか無いと思います。


- デバッグモード [F5] の "L<>S"
> >> 一応、無理矢理 "Lst<>Scr" のように捩じ込めないか試してみます。
> 見辛かったです……
> バイナリエディタ画面を "Code" として良いならば、"C<>S" に変更するのがよいと思います。

すると "C<>S" になりますか?

個人的には、"L<>S" はそのままにして、バイナリエディタの時は "B<>S" とする方が分かりやすいです。
というのも "L<>S" に慣れてしまっているからという事情があるからです。

Re:Re:Re:Re: Greeting from gaijin member

Hi CalcLoverHK,

I'm Colon. Nice to meet you. :)

This is my first time posting in English, so now I'm a little nerves.
(My English may be a strange……)

I'm developing “FFM” and “SYSMNG” which are the apps in “C.Basic_application” folder.

There is also discussion about the development of “FFM” and “SYSMNG” here.

Colon

FKey Icon - ひとまず日本語のコメントに返信……(^^;

管理人様、sentaro様、iron2様、CalcLoverHK様、CGユーザーの皆様、こんにちは!

取り敢えず日本語の投稿に返信してしまいます。

管理人様、sentaro様、

> (案2)への変更、とても良いと思います。変数リスト表示が分かりやすくなったと思います。
> あとは(選)アイコンへの変更ですね!

何なら、「選」の基本フォーマットだけ先にsentaro様にお渡しして、
もう「選」に切り替えるという手もありますが、いかがでしょう?

現在は "FKeyMenu(" コマンドで「白 / 黒」のみが表示できますが、
"I" オプションで「入」、"S" オプションで「選」が表示できるようにするのもよいと思います。


> エディタ [F3](MENU)-[F4} ですが、Casio Basicに古くからあるCasio 独自の命令が揃ったメニューなにで、「旧来の命令」つまり Conventional Command と言えると思います。

なるほど、その発想はありませんでした!
昔の機種から使い込んでいらっしゃる管理人様ならではのアイデアですね。(^^)

> 例えば、"Convntl" や "Convent'l" (International Airportを Int'l Airport というのは普通に使われる) とか もう少し省略して "Conv'l-Comm" などはどうでしょうか?

文字数的には "CONVNTL" が良さそうです。

> ただ、FX版での"Conv"だけだとConversionと混同してしまう可能性はありませんか?(^^;

FX 版では "CNVL" とするのを思い付きましたが、
これは略し方的にどうなんでしょうか?


> エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC" は、システムよりのコマンドなので、単純に "Sys" ではどうでしょうか?

"System" という単語を利用するのが一番直感的で分かりやすいですね。

ややこしくなるなら、"System(" コマンドをこのメニュー内に加えてしまうのもアリかもしれません。


>> 一応、無理矢理 "Lst<>Scr" のように捩じ込めないか試してみます。

> FX版は文字数の関係で無理ですけど、CG版ならいけそうですね。(^^)

見辛かったです……

> デバッグモード [F5] の "L<>S"は ソースリストとスクリーンの切り替えということで、そのままでも良いかも知れません。
> 或いは、Code と Screen の切り替えで "C<>L" でも良いのでしょうが、わかりにくさは同等なので、そのままでも良いという判断もできそうですね。

これは、バイナリエディタと実行画面を切り替える際のことも配慮する必要があるかと。

バイナリエディタ画面を "Code" として良いならば、"C<>S" に変更するのがよいと思います。

Re: Re: Re: Greeting from gaijin member

CalcLoverHK様、sentaro様、Colon様、iron2様、C.Basicユーザーの皆様


管理人のやすです。


CalcLoverHK,

> (BTW, I stuck on the verification code so long...)

Now you can manage to pass code recognition (^^)
But you cannot edit your post later without the verification code, so please be careful.

In case I can delete your comment if you want, then you can post edited comment.


Krtyski

Re: Greeting from gaijin member

Hi CalcLoverHK,

Welcome to Japan!^^
This is the birthplace of C.Basic, and under development versions are being updated unofficially.

Your Google's Japanese translation is fine.
I hope you can read it well with Google Translate.
Please do not hesitate to write in if you have any questions or comments.^^

Re: Re:Re: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

管理人様、iron2様、Colon様、CalcLoverHK様、C.Basicユーザーの皆様、こんにちは!

管理人様と、CalcLoverHK様の書き込みがあったことを思いっきり見落としました。(^^;
CalcLoverHK様は海外からの初書き込みなのに、申し訳ありません!m(_ _)m


管理人様、

>C.Basic for FX への適用も同じようにするなら、いっそ簡潔に "Conv" なら4文字で収まるので、これも有りではないかと思いますが、如何でしょうか?

"Convntl"はいいかもしれません。
ただ、FX版での"Conv"だけだとConversionと混同してしまう可能性はありませんか?(^^;
あと思いついたところでは、"More"とか?


>エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC" は、システムよりのコマンドなので、単純に "Sys" ではどうでしょうか?

お!今までの"Exec"に近い感覚がするので個人的にはありです。(^^)


>極端な話ですが、コードチェックをせずに変数リスト表示の」時だけチェックするというのは、どうなんでしょうか?
>外している可能性大ですが、これまでDBL# CPLX混合でやってきている部分はあまり触らないことで速度低下へ最小に抑えつつ、変数リスト表示だけでつじつまを合わせる作戦です。

修正が最小限で済む&速度低下の影響が無いという観点からはかなりいいですが、
そのチェック結果をどう表示するかというところが新たな課題になってきます。
たとえば、虚数部のある変数は赤で表示するとかですが、
この場合、FX版ではどうするかというのも出てきます。(^^;

Re: Re: Greeting from gaijin member

Hi Krtyski

Thank you for introducing me to them!

I know most meaning of this introduction. ^^ Some words are strange though.

I also planned to create Chinese PDF of C.Basic, but that's when the English PDF is finished.

Anyway, thanks a lot for your help.

(BTW, I stuck on the verification code so long...)

Cheers
CalcLoverHK

Re: Greeting from gaijin member

Hi CalcLOverHK

I'm a bit surprised you find here. Welcome to join a center of C.Basic development team!
Why don't you enjoy here.

We do NOT use school Japanese here, so I'm afraid Google translation even with AI may give you awkward English.
Can you see if Google translation helps you in a mean while?

Let me introduce you to our team in Japanese.
CalcLoverHK様は、Universal Casio Forum のメンバーで、C.Basic のPDF版英文マニュアルの作成プロジェクトを進めて下さっています。香港の方なので、英語と中国語も使えるので中国語のサイトでのC.Basicの紹介もされています。
英語の表現で悩んだときは、心強い助っ人になると思います。

コメントを見落としていらっしゃいませんか?

sentaro様、
もしかして、管理人様の 18:50 のコメントを見落としていらっしゃいませんか?

ご確認お願いします。

Re:Re:Re:Re: FKey Icon - 表示内容確認

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>エラーになる箇所はどっちみち中断になるので多少遅くてもよいですが、
>エラーにならない箇所をいかに高速にスルーするかがポイントですね。

はい、おっしゃる通りです。(^^)


>引数を先にチェックするのではなく、計算結果が虚数の場合のみ引数をチェックするという方法もありますが、どっちが速いんでしょう?

結果が虚数になってから、引数をチェックするというのは上手い手かもですね。
結果が虚数になる場合が少なければ少ないほどに効果ありそうです。(^^)


>まぁ、純正互換化とはいえ C.Basic 的には追加機能なので、
>INT% / DBL# / CPLX (a+bi) / CPLX (r∠θ) の動作速度に有意な影響が無ければ良いかなぁ……ぐらいには思いますが。(^^;

CPLXモードだけでの話なのでDBL#やINT%では影響は無いはずなので、
とりあえず試してみます。(^^)


>となると、#397 (SYMBOL) あたりを使うのはどうでしょう?

(CHAR)みたいにいっぱい一覧が出てきそうですが、案外それはピッタリかもしれません。
ありがとうございます!


>この機能について英語版マニュアルで "Hardware Extended Commands" としているので、
>そのまま拝借して "HARDWARE" とするのはどうでしょうか?

それはいい案かもです。頂きます。(^^)


>一応、無理矢理 "Lst<>Scr" のように捩じ込めないか試してみます。

FX版は文字数の関係で無理ですけど、CG版ならいけそうですね。(^^)

Greeting from gaijin member

Hello Japanese members!

I am CalcLoverHK. This is my first comment here ;)

Recently I looked up here and found that this site has more recent content of C.Basic, so I decided to follow here to get more information. ^^

I don't speak Japanese, so please use Google Translate to read my message if you want. Thanks.

私は日本語が話せないので、必要に応じてGoogle翻訳を使用してメッセージを読んでください。ありがとう。(^^;

Cheers
CalcLoverHK

Re: Re:Re: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人のやすです。


(案2)への変更、とても良いと思います。変数リスト表示が分かりやすくなったと思います。
あとは(選)アイコンへの変更ですね!

エディタ [F3](MENU)-[F4} ですが、Casio Basicに古くからあるCasio 独自の命令が揃ったメニューなにで、「旧来の命令」つまり Conventional Command と言えると思います。これらのコマンドの入力頻度は高いので、このメニューはとても有用ですね。さて、Conventional Commandからうまく表示文字列を決められると良いと思います。
例えば、"Convntl" や "Convent'l" (International Airportを Int'l Airport というのは普通に使われる) とか もう少し省略して "Conv'l-Comm" などはどうでしょうか?
C.Basic for FX への適用も同じようにするなら、いっそ簡潔に "Conv" なら4文字で収まるので、これも有りではないかと思いますが、如何でしょうか?


エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC" は、システムよりのコマンドなので、単純に "Sys" ではどうでしょうか?


デバッグモード [F5] の "L<>S"は ソースリストとスクリーンの切り替えということで、そのままでも良いかも知れません。
或いは、Code と Screen の切り替えで "C<>L" でも良いのでしょうが、わかりにくさは同等なので、そのままでも良いという判断もできそうですね。


虚部チェックでのスピード低下は、色々な機能追加を考えれば one of them として割り切るしかないとは思います。
引数チェックと演算結果チェックは、sentaro様のご判断で速いほうを選んで頂くのが良さそうですね。

極端な話ですが、コードチェックをせずに変数リスト表示の」時だけチェックするというのは、どうなんでしょうか?
外している可能性大ですが、これまでDBL# CPLX混合でやってきている部分はあまり触らないことで速度低下へ最小に抑えつつ、変数リスト表示だけでつじつまを合わせる作戦です。


Re:Re:Re: FKey Icon - 表示内容確認

管理人様、sentaro様、iron2様、CGユーザーの皆様、こんにちは!

sentaro様、
> 全部の関数に引数が実数のみというチェックを追加する必要があるので速度低下は5%くらい?もしくはそれ以上あるかもしれません。(^^;

エラーになる箇所はどっちみち中断になるので多少遅くてもよいですが、
エラーにならない箇所をいかに高速にスルーするかがポイントですね。

引数を先にチェックするのではなく、計算結果が虚数の場合のみ引数をチェックするという方法もありますが、どっちが速いんでしょう?

まぁ、純正互換化とはいえ C.Basic 的には追加機能なので、
INT% / DBL# / CPLX (a+bi) / CPLX (r∠θ) の動作速度に有意な影響が無ければ良いかなぁ……ぐらいには思いますが。(^^;


> (extc)は拡張キー入力という感じで付けたと思いますが、
> 以前のfx-5800Pスタイルのコマンド入力時に[F3](COMMAND)でファンクションキーに出てくるのと同じものなので、
> よく使うキャラクタの入力のショートカット、という感じなので変えた方がよさそうですね。
> さて、どうしましょうか?(^^)

一瞬 "ExtCMMD" とも思いましたが、
拡張コマンドというより、拡張しているのは "入力方法" なのでニュアンスが違う気がします。

となると、#397 (SYMBOL) あたりを使うのはどうでしょう?


> SysCallやマシンコードの直接実行コマンドのつもりなのですが、
> SYSTEMとかに変えた方がいいのかもしれません。
> ただ、Systemというコマンドがあるのでややこしいですが。(^^;

この機能について英語版マニュアルで "Hardware Extended Commands" としているので、
そのまま拝借して "HARDWARE" とするのはどうでしょうか?


> List画面と実行中画面の切り替えのつもりです。
> List <> Screen
> という感じでしょうか。(^^;

より適切な表示方法があれば変更する選択肢もありますが、
一応、無理矢理 "Lst<>Scr" のように捩じ込めないか試してみます。


> 英語で合っているので、問題ないと思います。(^^)

了解しました。(^^)

Re:Re: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、

>ということは、今回の変数画面の変更により、「案 2」が達成されたということですね。(^^)

はい。(^^)


>了解しました。
>マニュアルの修正もお願いします。m(_ _)m

了解です。(^^)


>概ね私のイメージ通りです。
>実際には、このバージョンで暫定的に「黒」にしているアイコンを「選」にする、ということになるかと思います。

ということで、
仕様がほぼ固まりつつありますね。(^^)


>具体的には「式の引数が実数のみで計算結果が虚数の場合にエラーを出す」というものですが、速度面などでどれくらいの影響が出るでしょうか?

全部の関数に引数が実数のみというチェックを追加する必要があるので速度低下は5%くらい?もしくはそれ以上あるかもしれません。(^^;
ただ、大きな変更を伴うビルドのたびに動作速度が10~20%程くらい変わってしまうことがあるので、そこは誤差の範囲かもしれません。(^^;



>まず、以下は何の略でしょうか?

>・ エディタ [F3] - [F4] の "extc"

(extc)は拡張キー入力という感じで付けたと思いますが、
以前のfx-5800Pスタイルのコマンド入力時に[F3](COMMAND)でファンクションキーに出てくるのと同じものなので、
よく使うキャラクタの入力のショートカット、という感じなので変えた方がよさそうですね。
さて、どうしましょうか?(^^)


>・ エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC"

SysCallやマシンコードの直接実行コマンドのつもりなのですが、
SYSTEMとかに変えた方がいいのかもしれません。
ただ、Systemというコマンドがあるのでややこしいですが。(^^;


>・ デバッグモード [F5] の "L<>S"

List画面と実行中画面の切り替えのつもりです。
List <> Screen
という感じでしょうか。(^^;


>つきましては、中国語表記に "ステップイン" と "ステップオーバー" に相当する訳語を用いても差し支えないでしょうか?

>・ CONTINUE → 继续 (英語の "Continue" に相当)
>・ TRACE → 逐语句 (英語の "Step Into" に相当)
>・ STEP → 逐过程 (英語の "Step Over" に相当)
>・ STEP OUT → 跳出 (英語の "Step Out" に相当)

英語で合っているので、問題ないと思います。(^^)

Re: C.Basic for CG v1.44β その7 + FKey Icon - 表示内容確認

管理人様、sentaro様、iron2様、CGユーザーの皆様、こんにちは!

sentaro様、
> はい、現行の内部仕様はその通りです。
> 一時停止や変数一覧の表示がそうなってなかったというところですね。(^^;

ということは、今回の変数画面の変更により、「案 2」が達成されたということですね。(^^)

> DBL#モードでは実数部分だけで計算するので、虚数はそのままになります。
> ってことで、2+iになってしまいますね。(^^;

CPLX から DBL# モードに切り替えるときに、最後に使った虚部の値が残ってしまっているっぽいですね。

以下、別のサンプルコードです。

==========
'#CBDBL
1→A

'#CBCPLX
i

'#CBDBL
1→A
==========

デバッグモードでトレース実行しながら変数画面 (CPLX) を確認すると、
最初の 1→A の直後では A=1 で正常な値ですが、
2度目の 1→A の直後では A=1+i となっていることがわかります。

> 正しくは、最初に#を付けないと実数式評価されません。
> #1.2345→A#

了解しました。
マニュアルの修正もお願いします。m(_ _)m

> 変数表示はとりあえず、
> [F3](INT%)
> [F4](DBL#)
> [F5](CPLX)
> で切り替えしています。

概ね私のイメージ通りです。

実際には、このバージョンで暫定的に「黒」にしているアイコンを「選」にする、ということになるかと思います。

皆様からご意見をいただきつつ、仕様が固まり次第マニュアルの整備が必要ですね。


さて、CPLX モード時の Real / a+bi / r∠θ の純正互換化についてです。

a+bi / r∠θ での処理はこれまで通りで、Real の場合に変更が必要になります。

具体的には「式の引数が実数のみで計算結果が虚数の場合にエラーを出す」というものですが、速度面などでどれくらいの影響が出るでしょうか?


========================================
以下、FKey Icon についてです。

まず、以下は何の略でしょうか?

・ エディタ [F3] - [F4] の "extc"
・ エディタ [SHIFT] + [VARS] - [F6] - [F6] - [F5] の "EXEC"
・ デバッグモード [F5] の "L<>S"


次に、デバッグモードの機能に関する確認です。

専門用語の中国語訳を検索しても中々出てこないので Microsoft 社のヘルプページの各国語版を参考にしているのですが、TRACE と STEP の訳語が見つかっていません。

・ CONTINUE → 继续
・ TRACE → ?
・ STEP → ?
・ STEP OUT → 跳出

VBA のデバッグ機能 (https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/debug-toolbar) では、
C.Basic の "TRACE" と "STEP" に似た、或いは相当する機能として、"ステップイン" (Step Into) と "ステップオーバー" (Step Over) があるようです。

つきましては、中国語表記に "ステップイン" と "ステップオーバー" に相当する訳語を用いても差し支えないでしょうか?

・ CONTINUE → 继续 (英語の "Continue" に相当)
・ TRACE → 逐语句 (英語の "Step Into" に相当)
・ STEP → 逐过程 (英語の "Step Over" に相当)
・ STEP OUT → 跳出 (英語の "Step Out" に相当)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その7

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ということは、私が出した「案 2」と既に同じ動作ということですね。

はい、現行の内部仕様はその通りです。
一時停止や変数一覧の表示がそうなってなかったというところですね。(^^;


>計算結果が 2+2i になるべきところが 2+i になっているので、いずれにせよ修正必須ですね。
>プログラム中で複素数モードから実数モードに切り替えるのが上手くいっていないのではないでしょうか。

DBL#モードでは実数部分だけで計算するので、虚数はそのままになります。
ってことで、2+iになってしまいますね。(^^;


>これに対応して、
>・ 実数モードのとき、変数からの読み出しは実部のみ
>・ 実数モードのとき、虚数値の代入は不可 (既に虚数値が入っている場合は実数値に上書き)
>というのが分かりやすいと思いますが、いかがでしょうか? >皆様

それでいいと思います。(^^)


>(例)'#CBINT // 整数モード指定    1.2345→A# // 実数変数Aに1.2345を代入したつもりが実際には整数の1が代入されます。

あ゛…これは思いっきりミスしてますね。(^^;
正しくは、最初に#を付けないと実数式評価されません。
#1.2345→A#


ってことで、DBL#モードの時の虚数表示を廃止&修正してみました。
変数表示はとりあえず、
[F3](INT%)
[F4](DBL#)
[F5](CPLX)
で切り替えしています。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その7
https://pm.matrix.jp/CB/CBASICCG144beta7.zip
(build07)
・DBL#モードにおいて、一時停止と変数表示での虚数表示がされていたのを修正しました。
・変数表示をINT%,DBL#,CPLXで独立させました。



管理人様、
>v2.43 からの修正点は、for CG の build 6 に相当するものだけでしょうか?

はい、GB関連以外は同じ修正となっています。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その6

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。

 
sentaro様、

> C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その6
> https://pm.matrix.jp/CB/CBASIC244beta6.zip
>
> FX版もbuild06よりアップです。

v2.43 からの修正点は、for CG の build 6 に相当するものだけでしょうか?

Re:Re: 変数と実行モードの種類 - 現在の仕様について確認

管理人様、sentaro様、iron2様、CGユーザーの皆様、こんにちは!

sentaro様、
>> ReP A + ReP A → B という内部動作になっているように見えます。

> はい、まさにその通りです。(^^)

ということは、私が出した「案 2」と既に同じ動作ということですね。

> 一時停止部分では変数表示と同じ複素数扱いになってました。
> バグといえば、バグですね。(^^;

計算結果が 2+2i になるべきところが 2+i になっているので、いずれにせよ修正必須ですね。

> LocateやTextは実数だけの扱いですが、

以下のコードを実行後に変数画面を覗いても "B=2+i" になっています。

プログラム中で複素数モードから実数モードに切り替えるのが上手くいっていないのではないでしょうか。

====================
'#CBCPLX
1+i→A
'#CBDBL
A+A→B
Locate 1, 1, A
Locate 2, 2, B
====================

確認よろしくお願いします。


> 一時停止だけ全部複素数扱いしてるので、そこは要修正かもしれません。(^^;

実装方法の細かい仕様について、C.Basic のマニュアルを読み返しながら考えてみました。
DBL# / CPLX の関係は INT% / DBL# の関係と同様にするのがよろしいかと思います。

・ 整数モードのとき、変数からの読み出しは整数値に丸める
・ 整数モードのとき、変数には整数値のみ代入可能

これに対応して、

・ 実数モードのとき、変数からの読み出しは実部のみ
・ 実数モードのとき、虚数値の代入は不可 (既に虚数値が入っている場合は実数値に上書き)

というのが分かりやすいと思いますが、いかがでしょうか? >皆様

もしこのような形を取るのであれば、一時停止も実数で処理するようにしていただくことになるかと思います。


ところで、マニュアルに次のような記載がありますが、
エラーが出て代入できないようです。
こちらも確認お願いします。


(例)'#CBINT // 整数モード指定    1.2345→A# // 実数変数Aに1.2345を代入したつもりが実際には整数の1が代入されます。

Re:変数と実行モードの種類 - 現在の仕様について確認

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>ReP A + ReP A → B という内部動作になっているように見えます。

はい、まさにその通りです。(^^)


>では 2+i になり、内部動作が統一できていないようです。

一時停止部分では変数表示と同じ複素数扱いになってました。
バグといえば、バグですね。(^^;


>本来であれば、どのような動作を想定しているのでしょうか?

演算部分は虚数部は無視して実数部分にしかアクセスしないので、その分速くなりますが、
LocateやTextは実数だけの扱いですが、
一時停止だけ全部複素数扱いしてるので、そこは要修正かもしれません。(^^;

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その6

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Planet-CasioにてStoPictの保存ができないバグ報告ありましたので緊急修正です。
1.28の時からエンバグしていたようです。(^^;

あと、文字列変数のデフォルトで使える最大値を999までアップしてみました。
普通に使う場合は不足はないと思われます。(^^)

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その6
https://pm.matrix.jp/CB/CBASICCG144beta6.zip
(build06)
・ストレージ/SDへのPictファイルのセーブが出来なくなっていた不具合を修正しました。(1.28エンバグ)
・デフォルトで確保できるStr文字変数の数を999に増やしました。

C.Basic for FX v2.44β (より使いやすく色々と変更していってみる版)その6
https://pm.matrix.jp/CB/CBASIC244beta6.zip

FX版もbuild06よりアップです。



管理人様、

>この検索では、コメント欄が対象外のようです。

これは惜しいですね。
なんとか検索できるようになるとより便利になりますね。
とりあえず、重要だと感じられた内容は本体記事のほうにも転載しておくとか?(^^)


>ありがとうございます。よく見ていなかったです。
>昔からこのようなのが多いのです。
>子供の頃は注意散漫と言われ、最近は歳のせいと言われてしまいますが、どっちも間違っています。
>そういうキャラなんです(^_^;)

ちょっとツボに入りました。(^^;


iron2様、

>For 1 To (2*N-1) Step 1
>A+I*D->X
>If Mod(I,2)==1 Then S+4*√(1-X^2)->S #偶数の時
>If Mod(I,2)==0 Then S+2*√(1-X^2)->S #奇数の時
>Next

こういう2択の場合は、展開するとMODを無くして若干の高速化できます。(^^)

For 1 To (2*N-1) Step 2
 A+I*D->X
 S+4*√(1-X^2)->S #偶数の時
 Isz I
 A+I*D->X
 S+2*√(1-X^2)->S #奇数の時
Next

変数と実行モードの種類 - 現在の仕様について確認

管理人様、sentaro様、iron2様、CGユーザーの皆様、こんにちは!

前回、次に示す通りの中間取りまとめをしました。

> 以下に基づいて次の案を練ってみます。
> ・ 「案 2」をベースにする
> ・ 変数は独立しない
> ・ プログラムの書き換えは不要に
> ・ 顕著な速度変化がないようにしつつ、「案 4」にある純正との互換性確保も検討

これを踏まえて検討を進めているのですが、現在の仕様がよくわからない部分があるので確認です。


sentaro様、
まず、DBL# モード状態で変数画面から A に 1+i を代入しておき、

A+A=B◢

というコードを実行します。
この際、エラーにならずに B の値に 2 が代入されます。
ReP A + ReP A → B という内部動作になっているように見えます。

一方、

'#CBCPLX
1+i→A
'#CBDBL
A+A=B◢

では 2+i になり、内部動作が統一できていないようです。


本来であれば、どのような動作を想定しているのでしょうか?

Re: Re:^6 C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

sentaro様、


> >ところで、UCF のログインパスワードを変更したいと思っているのですが、パスワード変更を行うページが見つからないのです。ご存じでしょうか?
>
> ログインしてから右上の名前が表示されているところのドロップダウンメニューからMy Settingsを選ぶと、
> メールとパスワードの変更できるページがあります。(^^)

ありがとうございます。よく見ていなかったです。
昔からこのようなのが多いのです。
子供の頃は注意散漫と言われ、最近は歳のせいと言われてしまいますが、どっちも間違っています。
そういうキャラなんです(^_^;)

Re: re.fx-cg50でmodどうやって使うのですか。

iron2様、sentarou様、colon様、ツル様、ユーザー有志の皆様

管理人のやすです。

If文ですが、C.Basic / Casio Basic 用だと 等しいかどうかは == でなくて = ですよね。
If文が書けなかったとおっしゃっているので、ひょっとして...

なお、MOD( については、下記の記事で取り上げていました。
https://egadget.blog.fc2.com/blog-entry-706.html
https://egadget.blog.fc2.com/blog-entry-209.html

自分のブログで、これまで検索をしたことが無かったので、ページ右側 「検索フォーム」に検索ワードとして MOD 或いは MOD( を入力して検索してみました。

そしたら、色々出てきて、その中に上の2つがありました。

当ブログは、Casio Basic については、かなり情報が集約されてきたので、ブログ内の検索が役立つ可能性が出てきたかも知れません。

この検索では、コメント欄が対象外のようです。特に C.Basic 関連ではコメント欄に有用な情報が詰まっているので、コメント欄も検索できると良いのですが、簡単にできる方法が見つかりません。これについては、以前ツル様が触れておられたのを思い出しました。その時は、メモ帳かワードにコピーしまくってから検索するしかなさそう、といった対象方法しかなかったと思います。

チョット脱線してしまいました。

re.fx-cg50でmodどうやって使うのですか。

管理人様、sentarou様、colon様、ツル様、ユーザー有志の皆様
iron2です。実はシンプソン組みたくて次のようなコードをできないか
試していました。
20000-.>N
0->A
1->B
(B-A)/(2*N)->D
0->S
For 1 To (2*N-1) Step 1
A+I*D->X
If Mod(I,2)==1 Then S+4*√(1-X^2)->S #偶数の時
If Mod(I,2)==0 Then S+2*√(1-X^2)->S #奇数の時
Next
S*D/3->Y
Locate 1,1,`Y
まあ、if文が書けなかったのです。
すみませんでした。

Re:fx-cg50でmodどうやって使うのですか。

iron2様、
>グラフ電卓のほうはmod使えるようですが、使用例がないので
>使い方が分からず困ってます。

全部大文字のMOD関数に関しては、
[OPTN]-[F6](>)-[F4](NUMERIC)-[F6](>)-[F4](MOD)

MOD(被除数、除数)→余り
なので、
MOD(10,4)で返り値は2ということになります。(^^)

fx-cg50でmodどうやって使うのですか。

管理人様、sentarou様、colon様、ツル様、ユーザー有志の皆様
iron2です。グラフ電卓のほうはmod使えるようですが、使用例がないので
使い方が分からず困ってます。

Re:^6 C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>チョットお待ちくださいね。

了解です。(^^)


>ところで、UCF のログインパスワードを変更したいと思っているのですが、パスワード変更を行うページが見つからないのです。ご存じでしょうか?

ログインしてから右上の名前が表示されているところのドロップダウンメニューからMy Settingsを選ぶと、
メールとパスワードの変更できるページがあります。(^^)

Re: Re:Re: Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

sentaro様


> >この際、これに続く英文も見直してみようかと思います。後ほど提案します。

チョットお待ちくださいね。


ところで、UCF のログインパスワードを変更したいと思っているのですが、パスワード変更を行うページが見つからないのです。ご存じでしょうか?

Re:Re: Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>すると、現在のマニュアルの下記の記述も、追記が必要かも知れませんね?

はい、
今までだとデフォルトで127使えるように拡張されていることが分からないので、追記があった方がいいかと思います。(^^)


>この際、これに続く英文も見直してみようかと思います。後ほど提案します。

よろしくお願いいたします。(^^)

Re: Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。


> 管理人様のRGB5aで文字変数を120個まで確保されているので、
> それを基準に127個までは自動的というかデフォルトで使えるようにしたと思います。
>
> RGB5aではそれ以前のバージョンでも動作するように、
> ClrMat r
> '#Str <r>,120
> "RGB3"->Str 120
> というように文字変数拡張が残されていますが、
> 現在のバージョンではそれが無くても127個までのStrはデフォルトで使えるということですね。(^^)

文字列変数の設定についてですが、
'#"Str による文字列拡張を行わない場合は、純正同様の文字列の使い方 ( xxx→Str n) で最大127個の文字列が使える (純正では20個)、ということですね。

RGB5a を例に出して頂いたおかげで、思い出しました。

すると、現在のマニュアルの下記の記述も、追記が必要かも知れませんね?

===============================================================================
文字列の初期化について
===============================================================================
純正と同じ文字変数Str 1-20はデフォルトではMat行列の<r>を暗黙的に使用します。
デフォルトでは文字列のサイズが255バイトまでとなっています。
=====

(修正案)
===============================================================================
文字列の初期化について
===============================================================================
純正と同じ文字列変数 Str 1-20はデフォルトではMat行列の<r>を暗黙的に使用します。
C.Basic では、20個から 127個に拡張され Str 127 まで使えます。
デフォルトでは文字列のサイズが255バイトまでとなっています。
=====
※ 1行目の「文字変数」を「文字列変数」に修正。その他英文を考慮して記述を変更
※ 2行目を追加


英文案は、
===============================================================================
Initialization of String
===============================================================================
String variable Str n (n = 1-20) can be used as same as genuine Casio Basic, Mat <r> is implicitly used as default.
On C.Basic available number of string variable is extended to 127, so expression Str 127 is available.
Number of caracters in single string is limited to 256 as default.
=====

この際、これに続く英文も見直してみようかと思います。後ほど提案します。

Re:Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>Colon様から間違いを指摘されたので、それを修正したものです。

ありがとうございます!
次のアップデートでそっくり採用させていただきます。(^^)


>これについては、常に最新のビルドのみをダウンロードできるようにすることで、作業工数は全く変わらずに済ませています。

おお!さすがです!(^^)


>Colon様の調査で、1511 まで安定しているとのことなので、1517 あたりに変更しますか?

とりあえず、1511で制限しておきます。(^^;


>ええっと、自動的に127個確保するのは、どのような局面なのでしょうか?
>チョット混乱してしまいました。

管理人様のRGB5aで文字変数を120個まで確保されているので、
それを基準に127個までは自動的というかデフォルトで使えるようにしたと思います。

RGB5aではそれ以前のバージョンでも動作するように、
ClrMat r
'#Str <r>,120
"RGB3"->Str 120
というように文字変数拡張が残されていますが、
現在のバージョンではそれが無くても127個までのStrはデフォルトで使えるということですね。(^^)


>sentaro様のUCFでの書き込みを拝見する限り、とても上達されています。

恐縮です。管理人様にそう言っていただけると自信が付きますね。(^^)

Re: C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。


> ってことで、管理人様からも改善案が出てますので修正したいと思います。(^^)

Colon様から間違いを指摘されたので、それを修正したものです。


========================================
〈改善案3〉
Fix, Sci, Norm には、それぞれ 0 から 15 までの数値が指定できます。

Fix:|x| ≧ 10^17 の場合は指数表示します。その他の動作は純正 Casio Basic 互換です。

Sci:Sci 0 の場合は有効桁数 16 桁で表示します。その他の動作は純正 Casio Basic 互換です。

Norm:Norm 1 と Norm 2 は純正 Casio Basic 互換の 10 桁表示で、Norm 0 は 16 桁表示、その他の場合は指定した桁数を表示します。値が次の範囲の場合は指数表示となります。
- Norm 1 …… 0.01 > |x|, |x| ≧ 10^10
- Norm 2 …… 0.000000001 > |x|, |x| ≧ 10^10
- Norm n (3≦n≦15) …… 0.01 > |x|, |x| ≧ 10^n
- Norm 0 …… 0.01 > |x|, |x| ≧ 10^15
========================================

========================================
〈改善案2 - 英文〉
Fix, Sci, Norm can take integer parameter in range of 0 to 15.

Fix: Setting is almost same as genuine Casio Basic, except x is in exponent notation when |x| ≧ 10^17.

Sci:Setting is almost same as genuine Casio Basic, except Sci 0 sets 16 significant figures.

Norm:Norm 1 and Norm 2 set 10 significant figures same as genuine Casio Basic. Norm 0 sets 16 significant figures.
Norm n sets n significant figures. Condition of exponent notation depends on following range of x;
- Norm 1 …… 0.01 > |x|, |x| ≧ 10^10
- Norm 2 …… 0.000000001 > |x|, |x| ≧ 10^10
- Norm n (3≦n≦15) …… 0.01 > |x|, |x| ≧ 10^n
- Norm 0 …… 0.01 > |x|, |x| ≧ 10^15
========================================



> ただ、まだ正式アップデートではないのと、再アップでのアップデートではなくなったので、毎度ファイルが変わってアップデート対応がちょっと大変かもしれません。(^^;

これについては、常に最新のビルドのみをダウンロードできるようにすることで、作業工数は全く変わらずに済ませています。


アイコン指定する F-Key# について、
> 番号が大きくなると内部のアイコンデータのメモリ参照でおかしなところにアクセスする可能性がありますので、その上限を制限した次第です。

了解です。SysFunc3.g3m で遊んでいて、上記のようなのは一度も経験していないので、まれに発生するようですね。


> 実装されているアイコン以上を指定するとでたらめなアイコン画像が出てくるのを少し残しておきたいと思ったので、
> 内蔵アイコン+6まで許可することにしました。(^^;

Colon様の調査で、1511 まで安定しているとのことなので、1517 あたりに変更しますか?



> デフォルトでの自動的に確保される数が20から127までに増えているというところが追加仕様になってます。(^^)

ええっと、自動的に127個確保するのは、どのような局面なのでしょうか?
チョット混乱してしまいました。


> >Graph(Y) と fn変数については、マニュアルに追記しますか?
>
> それらの機能はStr変数の派生で実装してるのですが純正との互換性も怪しいですし一応使えるレベルなので現状スルーでお願いします。(^^;

了解致しました。


> Changeログのほとんどを修正しないといけなくなりそうですが、(汗)
> めっちゃためになります。ありがとうございます!(^^)

sentaro様のUCFでの書き込みを拝見する限り、とても上達されています。


> C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5
> https://pm.matrix.jp/CB/CBASICCG144beta5.zip
> (build05)
> ・行列のインデックス開始値が0の場合、'#Str、'#Fn等等で設定した数より1多く確保される不具合を修正しました。
> ・セットアップのカレントフォルダの切り替えを修正しました。
> ・Fix指定で少数桁を含む桁数が16桁以上にならないようにしました。
> ・1.44β以降に対応したFFM0124を同梱しました。

これからアップデート対応致します。

Re:実行モード・変数関連 中間取りまとめ

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>以下に基づいて次の案を練ってみます。
>・ 「案 2」をベースにする
>・ 変数は独立しない
>・ プログラムの書き換えは不要に
>・ 顕著な速度変化がないようにしつつ、「案 4」にある純正との互換性確保も検討

了解です。(^^)


>修正確認しました。

ありがとうございます!


>末尾に変な文字列が表示されるバグがありましたが、
>この変更により自然と直ったようです。(^^)

小数点以下の表示桁数を制限してバグが直ったとしたら、結果オーライですね。(^^)


>OS 隠し機能の挙動を見る限り、1511 までは大丈夫、1512 以上は考慮されていないっぽいです。

ありがとうございます!
次のアップデートで1511までとしたいと思います。(^^)

実行モード・変数関連 中間取りまとめ

管理人様、sentaro様、iron2様、CGユーザーの皆様、こんにちは!

実行モードの・変数関連でいただいたご意見をもとに中間取りまとめです。

> 変数を独立させるのはFX版ではメモリの関係でちょっと難しいかなと思います。(^^;

ということらしいので、変数は独立させない方向で行きます。

互換性や速度面から「案 3」は却下。

また、sentaro様から

> 現状、複素数を使わない場合は、DBL#で純正互換だったわけですが、
> CPLXモードで完全な純正互換になるというのはかなり良さそうです。
> ただ、
> Complex Modeの設定によって、顕著な速度低下が起きることなく、
> 従来プログラムとの互換性に影響なく実装できるならば、という条件付きでこの案にも賛成します。(^^)

というご意見をいただいたので、

以下に基づいて次の案を練ってみます。

・ 「案 2」をベースにする
・ 変数は独立しない
・ プログラムの書き換えは不要に
・ 顕著な速度変化がないようにしつつ、「案 4」にある純正との互換性確保も検討


sentaro様、

> ・行列のインデックス開始値が0の場合、'#Str、'#Fn等等で設定した数より1多く確保される不具合を修正しました。
> ・セットアップのカレントフォルダの切り替えを修正しました。

修正確認しました。


> んと、これはどういう現象が起きてるのでしょう?

末尾に変な文字列が表示されるバグがありましたが、

> ・Fix指定で少数桁を含む桁数が16桁以上にならないようにしました。

この変更により自然と直ったようです。(^^)


> 10000まで行くとエラーが出るとしても> 2000あたりまではおそらくだいじょうぶかなと思ってますが、

OS 隠し機能の挙動を見る限り、1511 までは大丈夫、1512 以上は考慮されていないっぽいです。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>Mat base: 0 の場合の誤動作が残っています。
>'#Str で指定した数よりひとつ多く指定できてしまうようです。

確認できました。
ってことで、修正しております。(^^)


>ただ、[F2] → [F2] で "/" になるのはまずいんじゃないかと思います。

ですね。
ってことで、ここも修正してみました。(^^)


>なるほど、マニュアルの「桁数指定」という文言で勘違いしていました。
>わかりにくいので修正した方がよいと思います。

はい、たしかに説明不足ですね。(^^;
ってことで、管理人様からも改善案が出てますので修正したいと思います。(^^)


>ところで、Fix 15/3 の状態で変数画面 (ミニフォント表示) に入り、
>[F2] (INITAL) で 1e+15 などと指定して初期化すると、表示がおかしくなる現象を発見しました。
>一度の操作でおかしくならなくても、何度かやると変になります。
>確認お願いします。

んと、これはどういう現象が起きてるのでしょう?


>実行モードと変数の実装方法についてです。

現在のC.Basicでは、CPLXはDBL#を拡張した実装なので、DBL#モードを無くしてCPLXに一本化することは可能です。
ですが、DBL#で済むプログラムをCPLXで動作させることは、速度面のマイナスがそれなりに大きいので
現在までDBL#モードが生き残ってて、CPLXモードが追加の動作モード扱いなっています。

ということで、

>【案 1】実数変数と複素数変数を完全に独立して確保

変数を独立させるのはFX版ではメモリの関係でちょっと難しいかなと思います。(^^;


>【案 2】DBL# モードで虚部を表示できなくする

変更部分が一番少ないという点からいえばこの案がベストですね。
行列画面はそのビット数ではっきりと型が別れてますが、変数画面は実質32ビット整数と64ビット実数x2=128ビット複素数の2種類しかないので、
ここはあえてDBL#とCPLXを分けずにDBL#かCPLXで統一しても構わないかと考えます。(^^)
変数画面では実際にはすべてでCPLXの計算ルーチンを呼び出しているだけなので
どの実行モードでも整数変数でも複素数の計算ができてしまうのはおまけというか仕様というか…
というのでは、何か問題ありますか?(^^;


>【案 3】DBL# モードの廃止

数式がコンパイルできるようになるまでは、
CPLXモードの使用頻度を考えると、これは却下ですね。(^^;


>【案 4】「案 1」を基に、CPLX モードのときに Complex Mode の動作を純正互換にする。

現状、複素数を使わない場合は、DBL#で純正互換だったわけですが、
CPLXモードで完全な純正互換になるというのはかなり良さそうです。
ただ、
Complex Modeの設定によって、顕著な速度低下が起きることなく、
従来プログラムとの互換性に影響なく実装できるならば、という条件付きでこの案にも賛成します。(^^)




iron2様、
>c.basicの仕様変更についての個人的希望ですが、できるだけ
>プログラムの変更なしに実行できる形が良い気がします。

私的にもそこのところは一番重要な点なので、従来プログラムの修正が発生しない方向で進めていきます。(^^)


>今日ネット検索してたら、プチコン3号の円周率多倍長計算のプログラムを
>見かけました。sentarou様作のようでした。

うわ、懐かしの円周率計算プログラムですね。(^^)


>後、fx-cg20とfx-cg50にフリーのcasシステムkhicasを入れました。

HP-PrimeのCASと同じ開発者のXCASの実装なので、CGシリーズがCAS電卓になる素晴らしいアドインですね。(^^)




管理人様、
>Ver 1.44 beta build 4 で、アップデート対応しました。

早速にありがとうございます!
ただ、まだ正式アップデートではないのと、再アップでのアップデートではなくなったので、毎度ファイルが変わってアップデート対応がちょっと大変かもしれません。(^^;


>Ver 1.44 beta buiold 1 で、「アイコン番号が1406以上は0扱いにした。」とありますが、
>これは、FKeyMenu( 関数で、F-Key# に 1406以上の番号を指定するとき、0を指定するのと同じ処理にするということでしょうか?

試しに10000番のアイコン表示をしたら、その後、システムエラーが発生したので対策しました。(^^;
番号が大きくなると内部のアイコンデータのメモリ参照でおかしなところにアクセスする可能性がありますので、その上限を制限した次第です。


>また、句切りを 1400 でなくて 1406 / 1407 にしたのは、何か意図があるのでしょうか?

このあたりは、適当です。(^^;
10000まで行くとエラーが出るとしても2000あたりまではおそらくだいじょうぶかなと思ってますが、
実装されているアイコン以上を指定するとでたらめなアイコン画像が出てくるのを少し残しておきたいと思ったので、
内蔵アイコン+6まで許可することにしました。(^^;


>という記述で、現行仕様を説明できているとは思うのですが、
>Colon様が過去の改訂履歴から取り出してくれた以下のような実例を示して、より分かりやすくしたいということでしょうか? この点については、あまり考えていなかったのですが、

基本的な動作の説明は管理人様の記述で何も問題はないですが、
デフォルトでの自動的に確保される数が20から127までに増えているというところが追加仕様になってます。(^^)


>Graph(Y) と fn変数については、マニュアルに追記しますか?

それらの機能はStr変数の派生で実装してるのですが純正との互換性も怪しいですし一応使えるレベルなので現状スルーでお願いします。(^^;


><余計な解説>

Changeログのほとんどを修正しないといけなくなりそうですが、(汗)
めっちゃためになります。ありがとうございます!(^^)


というところで、今の所の修正版です。

C.Basic for CG v1.44β (より使いやすく色々と変更していってみる版)その5
https://pm.matrix.jp/CB/CBASICCG144beta5.zip
(build05)
・行列のインデックス開始値が0の場合、'#Str、'#Fn等等で設定した数より1多く確保される不具合を修正しました。
・セットアップのカレントフォルダの切り替えを修正しました。
・Fix指定で少数桁を含む桁数が16桁以上にならないようにしました。
・1.44β以降に対応したFFM0124を同梱しました。

実行モード・変数関連 + マニュアル関連

管理人様、sentaro様、ツル様、iron2様、CGユーザーの皆様、こんにちは!

==============================
1. 実行モード・変数の実装方法
2. C.Basic マニュアル関連
3. FFM 関連
==============================


1. 実行モード・変数の実装方法

iron2様、

> iron2です。c.basicの仕様変更についての個人的希望ですが、できるだけ
> プログラムの変更なしに実行できる形が良い気がします。

iron2 様の CPLX モードの利用状況を教えていただけると、仕様変更の参考になるかもしれません。

もしよろしければ、お願いします。m(_ _)m


管理人様、

> すると、4つのご提案から消去法で (案 2)が残ります。

そうなんですよね。
自分で案を出しておいて言うのもあれなんですが、案 2 だと実行モードの種類と変数の種類が依然合わないままなので、もう少し良い案がないか探ってみます。


> 1.過去のプログラム書き換えを極力要求しない仕様にして欲しい (iron2様と同意見)

もし実行モードの種類と変数の種類を揃えるのであれば、どうしてもどこかは直さなきゃいけなくなりますが、
揃えるとしたらどこに皺を寄せるのかというのもポイントになりそうです。

> ・ これまでの DBL# モードと CPLX モードを横断したプログラムは書き換えが必要

この文言は 1 つのプログラム中に '#DBL と'#CPLX が混在している場合を想定したものですが、
そのようなプログラムがどれほどあるのかによっても「案 1」と「案 4」の評価は変わってくると考えています。


> 2.実行速度低下を極力抑制して欲しい

これも重要ですね。


2. C.Basic マニュアル関連

管理人様、

> 但し、指数表示に関する Norm n (3≦n≦15) の説明は、

> "Norm n (3≦n≦15) …… Norm 1 と同じ範囲で指数表示する"

あ゙、Norm 1 とは大きい方の範囲が違うので、別途記載しています。(^^;

> Fix, Sci, Norm には、それぞれ 0 から 15 までの数値が指定できます。

管理人様の英訳に併せて、「それぞれ 0 から 15 までの整数値が」にしたほうがよいかもです。(^^)


3. FFM 関連

> (修正案)
> v1.24 18 Jan 2020 A Version supporting specification change in IsExist().
> - Changed code to accept spec change in IsExist() command on C.Basic for CG ver 1.44β.

ありがとうございます!! (^^)

> <余計な解説>

全く余計ではありません……。
むしろここまで解説していただかないと分からないので助かります。(^^)


> FFM 1.24 をこのエントリーの C.Basic プログラミングの役立ちツール に追加しました。

ありがとうございます。(^^)

> もし、Ver 1.23 もダウンロードできるようにご希望なら、対応致しますので、おっしゃってください。

C.Basic for CG の v1.44 (build 01) 以前で使う場合は FFM v1.23 が必要になりますが、
どうせ FFM を入れるなら C.Basic も最新バージョンに上げていただきたいので、
FFM は v1.24 のみのご紹介で大丈夫です。(^^)

FFM v1.24 の紹介

Colon様、sentaro様、iron2様、CGユーザーの皆様、

管理人のやすです。

Colon様、
FFM 1.24 をこのエントリーの C.Basic プログラミングの役立ちツール に追加しました。

何故いままで、紹介していなかったのだろうか? 
すみません、今頃になってしまいました。

Ver 1.24 になってパスワードロックが掛かりましたので、安全のためこのバージョンのみダウンロードできるようにしてみました。C.Basic for CG Ver 1.44β以降限定ということになっています。

もし、Ver 1.23 もダウンロードできるようにご希望なら、対応致しますので、おっしゃってください。

Re: FFM v1.24(IsExist() コマンド仕様変更対応版)

Colon様、sentaro様、iron2様、CGユーザーの皆様、

管理人のやすです。

すっかり遅くなってしまい、すみません。

> v1.24 18 Jan 2020 Version that supports specification change of IsExist().
> -Changed the processing by fixing for the IsExist() command in C.Basic for CG ver 1.44β.

他の Change log とフォーマットを合わせて

(修正案)
v1.24 18 Jan 2020 A Version supporting specification change in IsExist().
- Changed code to accept spec change in IsExist() command on C.Basic for CG ver 1.44β.


<余計な解説>
「... のバージョン」というとき、A version ... と続けるのが、自然だと思います。他の履歴も修正なさると良いと思います。そして、○○版 という雰囲気を出すには、文にせずに、形容詞句で説明した名詞、といった構造が良いと思います。形容詞的に修飾するには、-ing とか -ed といったように動詞を形容詞化したものを使うと良いです。

例えば、「セキュリティを提供する xx グループの会社」 は、"a company of xx group providing security" といった表現になっているのは、よく見かけます。


あと、「xxxの変化」 は、"change in xxx" です。出力の変動 は fluctuation in output だったりします。in はそんな感じで使います。of でなくて in です。


on C.Basic for CG ver 1.44β で、on を使ったのは、「C.Basic で走るプログラム」は普通に "a program running on C.Basic" と言うので、そうしました。in C.Basic でも良い感じがしますが、1つのセンテンスで同じ単語をできれば繰り返さないというお作法があるので、ここはやっぱり on かな? と思います。


[追記] Re: Norm 関連マニュアル改訂提案

Colon様、sentaro様、ツル様、iron2様、CGユーザーの皆様、

[追記] 投稿した直後気づいたのですが、純正Casio Basic の英文マニュアルから英文を拝借した上で、英文を追記した方が良かったですね!
ま、そのまま載せちゃいますけど...

Colon様、

ご指摘の通り、Norm の拡張部分の説明は、改訂した方がよいかも知れません。

但し、指数表示に関する Norm n (3≦n≦15) の説明は、

"Norm n (3≦n≦15) …… Norm 1 と同じ範囲で指数表示する"

が分かりやすいと思います。

========================================
〈改善案2〉
Fix, Sci, Norm には、それぞれ 0 から 15 までの数値が指定できます。

Fix:|x| ≧ 10^17 の場合は指数表示します。その他の動作は純正 Casio Basic 互換です。

Sci:Sci 0 の場合は有効桁数 16 桁で表示します。その他の動作は純正 Casio Basic 互換です。

Norm:Norm 1 と Norm 2 は純正 Casio Basic 互換の 10 桁表示で、Norm 0 は 16 桁表示、その他の場合は指定した桁数を表示します。値が次の範囲の場合は指数表示となります。
- Norm 1 …… 0.01 > |x|, |x| ≧ 10^10
- Norm 2 …… 0.000000001 > |x|, |x| ≧ 10^10
- Norm n (3≦n≦15) …… Norm 1 と同じ
- Norm 0 …… 0.01 > |x|, |x| ≧ 10^15
========================================

========================================
〈改善案2 - 英文〉
Fix, Sci, Norm can take integer parameter in range of 0 to 15.

Fix: Setting is almost same as genuine Casio Basic, except x is in exponent notation when |x| ≧ 10^17.

Sci:Setting is almost same as genuine Casio Basic, except Sci 0 sets 16 significant figures.

Norm:Norm 1 and Norm 2 set 10 significant figures same as genuine Casio Basic. Norm 0 sets 16 significant figures.
Norm n sets n significant figures. Condition of exponent notation depends on following range of x;
- Norm 1 …… 0.01 > |x|, |x| ≧ 10^10
- Norm 2 …… 0.000000001 > |x|, |x| ≧ 10^10
- Norm n (3≦n≦15) …… same as Norm 1
- Norm 0 …… 0.01 > |x|, |x| ≧ 10^15
========================================

どうでしょうか?

マニュアル改訂部分について

sentaro様、Colon様、iron2様、CGユーザーの皆様、

管理にのやすです。

文字列の初期化についてのマニュアル改訂について、

「1つかそれ以上の Str文字列をプログラムで使う時、Str <数字> の数字の最大値 M の場合、M行のMat <r>行列の初期化が自動的に行われます。」

という記述で、現行仕様を説明できているとは思うのですが、

Colon様が過去の改訂履歴から取り出してくれた以下のような実例を示して、より分かりやすくしたいということでしょうか? この点については、あまり考えていなかったのですが、

========================================
・Str、Graph(Y)、fn変数の確保方法を変更しました。
 併せてデフォルトの最大確保数をそれぞれ20から127まで増量しました。
(例)"ABC"->Str 1
 Str 1だけ確保されます。
(例)"CDE"->Str 5
 Str 1,Str 2,Str 3,Str 4,Str 5が確保されます。
========================================

Graph(Y) と fn変数については、マニュアルに追記しますか?

上記の "より丁寧な説明の追加" と Graph(Y) と fn変数についての和文での改訂内容を、ご指示ください。それに併せて英文を作ろうと思います。