[HOME]  [現在掲示板へもどる]     [全部表示 会議室風]  [最新100]  [最新50]   [新着40]    [全部表示 保存用]
番号順 最新50記事     FGALVZ  

10922/10921 CXB00940  としき           Re: VZ改造人間誕生から20年
( 1) 23/09/17 12:47 10921:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 気が付けば私がVZ改造人間になってから20年が過ぎてしまいました。

なるほど、改造される側ではなく改造する側なわけですね。
すると「konnoなにがしは改造人間である」とナレーションで流れているときに
メスを振るう側がkonnoさんで、手術台の上でジタバタしているのは手足の生えた
黒本、とか。あぁ、イメージが膨らむ。


10923/10921 DGF01024  めざら           Re: VZ改造人間誕生から20年
( 1) 23/09/17 13:40 10921:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
替え歌にすると,盛ってるなぁ〜って感じですが,
そこここに散りばめられ仕込まれたネタの数々。
さすがです。


10924/10921 BQO00549  konno            Re^2: VZ改造人間誕生から20年
( 1) 23/09/17 23:23 10922:としきさんへのコメント
> なるほど、改造される側ではなく改造する側なわけですね。

私もMS軍団の支配に下り、しかたなく改造に手を染めることになってしまいましたが
今では改造せずにはいられない体にされてしまいました。(^^;

> すると「konnoなにがしは改造人間である」とナレーションで流れているときに
> メスを振るう側がkonnoさんで、手術台の上でジタバタしているのは手足の生えた
> 黒本、とか。あぁ、イメージが膨らむ。

うわ、どんなイメージですか。(^^;
勉強不足だったですが、原作は人間の自由を守るために戦っているのですね。
私も黒い画面ライターとして、V7号を作り上げました。
行け、V7号、テキをやっつけろ!


10925/10921 BQO00549  konno            Re^2: VZ改造人間誕生から20年
( 1) 23/09/17 23:45 10923:めざらさんへのコメント コメント数:1
> 替え歌にすると,盛ってるなぁ〜って感じですが,

いやあ、妄想話は盛ってなんぼですから。(^^;

> そこここに散りばめられ仕込まれたネタの数々。

替え歌を考えていると次々に余計なことが浮かんでしまうんですぅ。(゚゜)☆\(--#) ビョーキジャ


10926/10926 DGF01024  めざら           DOSVAXJ3 230919 更新
( 1) 23/09/20 09:29 コメント数:1
参照先:http://mezala.la.coocan.jp/
DOSVAXJ3 が更新されていました。
更新内容は

----------------------------------------------
build JP230919 (2023/9/19)

 ・拡張 CGA テキストモード 73h, 71h に対応しました。
 ・PC-DOS 付属のエディタ(E, TE)でカーソル表示がおかしかったのを修正しました。
----------------------------------------------

7月更新に比べると,それほど VZ に関係することはないですかね。
(CGAって LX くらいしか浮かびませんが,そもそも DOS なわけで……何かな)

いずれにせよ,作者様に感謝です。


10927/10926 BQO00549  konno            Re: DOSVAXJ3 230919 更新
( 1) 23/09/20 23:07 10926:めざらさんへのコメント
> DOSVAXJ3 が更新されていました。

めざらさん、お知らせいただきありがとうございます。
昨日か一昨日、軟式さんのサイトを覗いたんですが更新されていないなーと思っていました。(^^;
今日見ても更新されていなくて、更新ボタンで見られました。\(^^)/ ヤッタ-

> 7月更新に比べると,それほど VZ に関係することはないですかね。
> (CGAって LX くらいしか浮かびませんが,そもそも DOS なわけで……何かな)

LX専用のテキストアプリとかが動くんですかね?
モード切替を試してみると、CHEV 71 とかではモード70 になってしまって切り替え出来ない?

CHEJ 71

これでモード71 に切り替わりました。
見た目は 70 と変らないですね。(^^;
今のところ使い道はわからないです。

> いずれにせよ,作者様に感謝です。

同感です、ありがたく使わせてもらいます。


# 携帯端末は、ATOK8 が使える 200LX が一番文字入力しやすかったですね。(゚-゚)トホイメ


10928/10921 BQO00549  konno            ATOKナンバーワン
( 1) 23/10/02 23:03 10925:konnoさんへのコメント
ちょっとスレチ、#10927のコメントですが、替え歌つながりで。(^^;

> # 携帯端末は、ATOK8 が使える 200LX が一番文字入力しやすかったですね。(゚-゚)トホイ

今はWin10のIMEのATOKモードを使っていますが、たまに変換できない漢字があります。
例えば替え歌で「光子力研究所」を入力変換しようとしたら
「光子」が候補に出てこなかったり・・・
あれ? 今やったら普通に予測変換出来てる。(^^;

うーん、ともかくATOK が今でも一番なのかなという思いで替え歌を作ってみました。


苦しくたって
カナしくじったって
ATOKの中では 平気なの
変換が決まると 胸がはずむわ

レシーブ トス スパイク
ワンツー ワンツー ATOK
「だけど誤字がでちゃう 普通の子だもん」

涙も汗も 若いファイトで
青空に遠く さけびたい

ATOK ATOK
ナンバーワン
ATOK ATOK
ナンバーワン


おそまつさまでした。(^^;


10929/10929 BQO00549  konno            寝室テレビ用PC買いました
( 1) 23/10/15 14:39 コメント数:1
我が家ではリビングのテレビでアマプラやYouTubeを観ています。
さらにPCに繋いでPC画面も表示できるので便利に使っています。
寝室で録画したものもリビングで観るとかも相互に出来るのでよく利用していますね。

でも寝室のテレビではYouTubeなどは観られません。
2013年ごろのテレビなのでそういう機能もあるのですが実用的には使えませんでした。
最近奥様が、寝室でも観たいと言ってきましたので、検討してみました。

テレビを買い替えるには出費もかさむので、安いノートPCでも買って繋げばどうかと考えました。
お馴染みのまーぶるPCを見ると、16800¥ で店長お任せの訳ありPCが目に入りました。
若干の傷や擦れがあるようですが、テレビ画面で見るなら問題ないかと思い、購入しました。

届いてみるとビックリ!
なんと、その前に購入した富士通のノートPCと見た目は全く同じ! (^^;
傷や擦れも特に見えません。
CPUがi3で若干遅いかもですが、YouTubeが見られれば問題なしです。
バックアップ用のサブノートとしても使えそうです。

新しいPCの仕様は
プロセッサ	Intel(R) Core(TM) i3-7100U CPU @ 2.40GHz   2.40 GHz
実装 RAM	8.00 GB (7.89 GB 使用可能)
システムの種類	64 ビット オペレーティング システム、x64 ベース プロセッサ
エディション	Windows 10 Pro
バージョン	22H2
OS ビルド	19045.3448

使用中のPCの仕様は
プロセッサ	Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz   2.50 GHz
実装 RAM	16.0 GB
システムの種類	64 ビット オペレーティング システム、x64 ベース プロセッサ
エディション	Windows 10 Pro
バージョン	22H2
OS ビルド	19045.3448

ディスプレイは 1366 x 768 で同じですね。
今回は始めからSSD 256Gだからか、ハイブリッドスリープも OFF になっていました。
またしばらく楽しめそうです。(^_^)


10930/10929 DGF01024  めざら           Re: 寝室テレビ用PC買いました
( 1) 23/10/16 07:15 10929:konnoさんへのコメント コメント数:1
参照先:http://mezala.la.coocan.jp/
祝着に存じます。
そういえば,ほとんど使っていないと聞いた GPD PocketPC という選択はなかった?

うちはテレビに繋ぐときは GPD MicroPC を使っています。

でも,寝室にPCを置けるスペースがあるなら,繋ぎっぱなしにできるのが一番ですね.

なにより,奥様のご要望に応えることができたのが一番でございますよ.

一年前に買ったのと同じって,どれだけ在庫があったのでしょう.
リース落ちにしてはちょっぴり前の型のようですが….


ベッドに入って見てると,寝落ちしちゃいませんか?

10931/10929 BQO00549  konno            Re^2: 寝室テレビ用PC買いました
( 1) 23/10/16 18:39 10930:めざらさんへのコメント コメント数:1
> そういえば,ほとんど使っていないと聞いた GPD PocketPC という選択はなかった?

うう、暫く使っていない間にPINだかパスワードを忘れてしまい、往生しています。(;_;)
PASSのリセットとか初期化とかはどうやりましたっけ。(^^;

> うちはテレビに繋ぐときは GPD MicroPC を使っています。

上の事情で試せませんでした。(>_<)
タブレットも考えたのですが、操作のたびに持ち上げて指でタッチしたりも面倒な気がして。(^^;
ずっと持っているには重そうだし。(^^;
どっちがいいと思われますか。

> でも,寝室にPCを置けるスペースがあるなら,繋ぎっぱなしにできるのが一番ですね.

そう思って格安ノートPCをゲットしたんですが、置くスペースはあまりないのです。
無線マウスを置ける平らな台も必要ですね。どうするか思案中です。(^^;

> なにより,奥様のご要望に応えることができたのが一番でございますよ.

一応寝室のテレビでPC画面が見られるようにはなったのですが、まだ使ってはいないそうです。
まずは使ってもらって使い勝手を改善していきたいところですね。
・・・と言いながら私のサブノートとして着々と設定が進んでいたりして。(^^;

> 一年前に買ったのと同じって,どれだけ在庫があったのでしょう.
> リース落ちにしてはちょっぴり前の型のようですが….

一年前に購入したものは、CPUがi5で、若干性能が上のようです。
製造年は2016年で 49999¥でした。
今回の物は、CPUがi3で、製造年は2017年で 16800¥でした。うーむ、複雑な気分・・・

> ベッドに入って見てると,寝落ちしちゃいませんか?

それが一番の問題ですね。(^^;
まあ、付けっぱなしでも一定時間で電源は切れるんですが、省エネではないですよね。(^^;


10932/10929 BQO00549  konno            PCのパフォーマンス測定【Windows10】
( 1) 23/10/17 23:46 10931:konnoさんへのコメント
CPUの違いでどのくらいパフォーマンスの差があるのか気になったので調べてみました。

PCのパフォーマンス測定方法【Windows10】
https://web-roku.com/pc-performance

ここのページから引用します。

-----------------------------------------------------------
Windows10に標準で入っている「WinSAT」を使ってPCのパフォーマンスを測定する手順を説明します。
WinSATは直接起動することができないため、まず先にWindows PowerShellを起動します。
Windowsキー+Rで「ファイル名を指定して実行」のウィンドウを開き、powershellと入力→「OK」

PowerShellの画面で、winsat formalと入力しEnterキー
WinSAT(黒いウィンドウ)が起動します。そのまますぐに測定が始まります。測定時間は数分です。PCに負荷をかけないようにじっと待ちましょう。
測定後は、PowerShell(青いウィンドウ)で測定結果のスコアを確認します。

PowerShellの画面で、Get-CimInstance Win32_WinSatと入力しEnterを押すと測定結果がスコアで表示されます。
-----------------------------------------------------------

Get-CimInstance Win32_WinSat の結果です。

Intel Core i5-6300U  2.50GHz
CPUScore              : 8.5
D3DScore              : 9.9  N/A
DiskScore             : 8.1
GraphicsScore         : 6.5
MemoryScore           : 8.5
WinSPRLevel           : 6.5

Intel Core i3-7100U  2.40GHz
CPUScore              : 8.3
D3DScore              : 9.9  N/A
DiskScore             : 8.15
GraphicsScore         : 6.2
MemoryScore           : 8.3
WinSPRLevel           : 6.2

うーむ、i5-6300U のほうが若干数値が高いくらいか・・・微妙。(^^;

項目の意味と記事中のPC Intel Core i3-7100U のスコアは

項目 		スコア 	意味	Intel Core i3-7100U
CPUScore 	8.7 	プロセッサのスコア
D3DScore 	9.9 	3Dグラフィックスのスコア ※D3DScoreはWindows10では測定できないため、9.9 固定。
DiskScore 	5.95 	ハードディスクのスコア
GraphicsScore 	5.2 	グラフィックスのスコア
MemoryScore 	5.9 	メモリーのスコア
WinSPRLevel 	5.2 	ベーススコア(各スコアの最低スコア)

う、うーむ、同じCPU同じ周波数なのにこちらの方がCPUの数値が高いのは何故? (;_;)


10933/10933 BQO00549  konno            VGAで動くアナログ時計とカレンダのアクセサリ
( 1) 23/11/17 00:36 コメント数:5
この記事は、ココログからの転載です。
http://tamaneko2.cocolog-nifty.com/vz2/

DOSVAXJ3のVGAで動くアナログ時計とカレンダのアクセサリをアップします。

きっかけは、最近文字が見えづらくなって、デジタル文字の時間がパッと読めなくなったことです。
大きなアナログ時計がパソコンで常駐出来ればなぁ・・・・

そうだ! 昔作った時計のアクセサリがあるじゃないか!
DOSVAXJ3で常時表示させておけば便利かも。

ということで、この古いプログラムの復活計画が始動したのでした。、
お茶を1分蒸らす時やカップ麺の3分などチェックできるタイマー機能もあります。(^_^)

現状データファイルの置き場所指定できないので、カレントに全部置いて使ってください。
DOSVAXJ3を起動したら、chev jp して、ファイル群のあるフォルダをカレントにしてから起動してください。

STIME.EXE を起動すると
このようにアナログ時計を表示します。

[F1]キーを押すと
このように大きなカレンダを表示します。
休日も表示します。

[F2]キーを押すと
このように、次月まで表示します。
誕生花と日程も表示されました。
これらは2度キーを押さないと表示しないようで、バグですね。まあおまけですので。

[PGDN]を押すと、押すたびに時計が拡大します。
[PGUP]を押すと、押すたびに時計が縮小します。

[ALT]+[F2]を押すと、秒針が太くなります。
[ALT]+[F4]を押すと、時分針が青くなります。
青い色を付けると、色が残ることがあります。
また、色付きの時は秒針が十字の位置で消えることがあるので太い秒針を用意しました。
SIN,COSの計算精度かPAINTの影響か、DOSVAXJ3 との相性か、わからないです。

簡易タイマーも2系統あるので、作業時間をチェックするとかに使えます。

簡易的な機能説明書も同梱したので、色々弄ってみてください。

自作、改作アプリの放置部屋  に置いてあります。


10934/10933 BQO00549  konno            Re: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/18 21:16 10933:konnoさんへのコメント コメント数:1
いくつか間違いなど修正したのでファイルを差し替えました。11月18日版をお使いください。

todayx.bat は、実際には today2.bat で動いていたので、表記やファイル名を today2 に統一しました。

sedit.bat は、常駐VZから STIME.EXE を起動して BAT でVZを呼ぶと上手く動かないようです。
JED などのフリーのエデイタを指定してください。
常駐VZで上手く動かす方法、ありましたっけ?

# 常駐VZを使いたいのに本末転倒のような。(^^;


10935/10933 CRG00666  文太             Re^2: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/18 22:01 10934:konnoさんへのコメント コメント数:1
konnoさん

 いー感じ。楽しそう。
 昨晩『AWAKE』という将棋ソフト開発についての映画をNetflixでみて、
今日、これを見て、ああ、プログラミングしたい、と久しぶりに思いました。
 いろいろいろいろあって、konnoさんが認知症になる前に(僕も続きまーす!)
いっぱい聞きたいのだけど、ううう、残念。
 たぶん、僕がやりたい技術がつまってるソフト。テキストファイルを読み込んで
表示、なんですよね。ベーシックも楽しそう。
 とはいえ、ベーシックだとライブラリーモジュールとか方言とか、いろいろある
んでしょうね。
 dosvaxが敷居、高い、、、。
 WinMEをはやく直さないと、、、。DOS機、はやく作りなおさくちゃ、、、。
 ぶぶぶぶ、の文太でした。
 もうちょい沈んでます。m(__)m

 うん、常駐Vzで使えないと、、、。敷居たかそうだなぁ、、、。

10936/10933 BQO00549  konno            Re^3: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/18 23:05 10935:文太さんへのコメント コメント数:2
文太さん、お元気そうでなによりです。

>  昨晩『AWAKE』という将棋ソフト開発についての映画をNetflixでみて、

面白そうですね、私も昔ポケコンBASICでオセロの対人ゲームのソースを改造して
対コンピュータのオセロを作ったことがあります。恐らく世界最弱のアルゴリズムです。(^^;
私自身がオセロ弱いもので。(^^;
ソースは恐らくもう無いと思われます。もったいないことをしたなぁ・・・

> 今日、これを見て、ああ、プログラミングしたい、と久しぶりに思いました。

私もBASICのソースを弄っていて、やっぱりこういうのが好きなんだなぁ、と思いました。(^^;

>  いろいろいろいろあって、konnoさんが認知症になる前に(僕も続きまーす!)

私も色々あって健康不安などもあるし、ボケも進んでいきそうなので、備忘録など書いています。

>  たぶん、僕がやりたい技術がつまってるソフト。テキストファイルを読み込んで
> 表示、なんですよね。ベーシックも楽しそう。
>  とはいえ、ベーシックだとライブラリーモジュールとか方言とか、いろいろある
> んでしょうね。

あ、ソースいりますか。汚いけど参考になるならソースもアップしようかな。
古い雑誌の例題ソースなどは弄って公開しても問題ないですよね。(^^;

>  dosvaxが敷居、高い、、、。

軟式さんのサイトから最新のdosvaxをダウンロードして展開したらフォルダそのままで使えます。
#10764: Re^2: DOSVAXJ3 (2023/4/14) 更新 投稿者: konno   2023/04/15(土)
#10765: DOSVAXJ3の dosboxj.conf 設定例 投稿者: konno   2023/04/15(土)
あたりが設定の参考になると思います。簡単ですよ。(^^;

>  うん、常駐Vzで使えないと、、、。敷居たかそうだなぁ、、、。

とりあえず JED を入れてみました。結構使えそうです。(^^;
本来は自作のエデイタもどきと連携していたんですがね。(^^;


10937/10933 BQO00549  konno            VGAで動くアナログ時計とカレンダのアクセサリの説明書
( 1) 23/11/18 23:30 10933:konnoさんへのコメント
STIME.EXE 説明書	Ver 8.231116

DOSVAXJ3のVGAで動くアナログ時計とカレンダのアクセサリです。
現状データファイルの置き場所指定できないので、カレントに全部置いて使ってください。
DOSVAXJ3を起動したら、chev jp して、ファイル群のあるフォルダをカレントにしてから起動してください。


・STIME.LZH に同梱されているファイル
STIME.EXE	実行ファイル
STIME.TXT	このファイル
SEDIT.BAT	SEDIT.BATで指定したエデイタ(非常駐VZなど)で各種設定表を編集
TODAY2.BAT	TODAY2.BATで指定したCNFファイルでTODAYを実行 (歴史データ大型版表示など)
HOLIDAY.DAT	休日データ。TODAY のデータに準じている? 新しい祝日形式には対応していません。
SCHEDULE.DAT	日程データ。表示のバグがあるので実用ではないです。
FLOWER.TBL	誕生花 TODAY のデータを流用。使えるかは?


・ファンクションキーなどの機能

F1:カレンダー 	当月の大きなカレンダーを表示
F2:カレンダ2 	当月の大きなカレンダーと次月を表示
F3:カレンダ3 	月を指定してカレンダーを表示
F4:日程 	SEDIT.BAT で指定したエデイタでスケジュール表SCHEDULE.DATを編集
F5:TODAY  	TODAY.EXE があれば TODAY を実行
F6:Time1  	タイマー1の表示。押すたびに経過時間を表示
F7:Time2  	タイマー2の表示。押すたびに経過時間を表示
F8:日時変 	日時の変更。DOSVAXJ3では時間の変更不可
F9: CLS  	画面をクリアして時計表示
F10: END 	終了

[SHIFT]
F1:MS-DOS 	終了
F3:Bio   
F5:TODAY2  	TODAY2.BAT で別の設定(TODAY3.CNFなど) でTODAYを実行
F7:Vmap 	VMAP.COM があれば VMAP を実行

[CTRL ]
F1:sys  	終了 (DOSVAXJ3 ではキーマップ表示?)
F2:HR   	

[ ALT ]
F1:end    	終了
F2:秒針2  	秒針表示を2本線に
F3:秒針1  	秒針表示を1本線に
F4:長針青  	時分針を青色表示
F5:長針透 	時分針を色無しで表示

[PGUP]  	押すたびにアナログ時計を縮小表示
[PGDN]  	押すたびにアナログ時計を拡大表示


・バグ、更新履歴
※ 日程表示はカレンダ表示を2度押さないと表示しないバグ有り
※ DOSVAXJ3で負荷が100%になるのでキー入力ループで INT28 INT2F(AX1680)を入れた。
※ DOSVAXJ3でカーソルが表示しないのでグラフィックで疑似カーソル使用。


10938/10933 CRG00666  文太             Re^4: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/18 23:31 10936:konnoさんへのコメント コメント数:1
konnoさん

>私もBASICのソースを弄っていて、やっぱりこういうのが好きなんだなぁ、と思いました。(^^;
 この感じがジンジン伝わってきて、僕もけっこう幸福感かんじましたよ。

>私も色々あって健康不安などもあるし、ボケも進んでいきそうなので、備忘録など書いています。
 ガンガンいってください、というか、ぼちぼちぼつぼち行ってください!

>あ、ソースいりますか。汚いけど参考になるならソースもアップしようかな。
 いいですね!

>古い雑誌の例題ソースなどは弄って公開しても問題ないですよね。(^^;
 ない! に一票!
 ソースがどんな見栄えなのか、想像もつかないんですよね。
 時計とカレンダーは実は完全に別物で、時間だけファンクションコール(これを
呼ぶモジュール?)、カレンダーはテキストから読み込んで表示、これらを合体させて
ファンクションキーで切り替える、とか想像したのですが。
 (この合体と切り替えが難しそう、と思いました)−−−とんちんかんなこと
言ってても怒っちゃやーよ。動かせてないのですから。

 アナログ時計の秒針を進めるのとかは、既存モジュールあり? ああいう(?)
グラフィックなのは考えたことがない、、、。

>>  dosvaxが敷居、高い、、、。
>軟式さんのサイトから最新のdosvaxをダウンロードして展開したらフォルダそのままで使えます。
 い、いつか、やります。vtdosもまともに使えてない、、、。

>>  うん、常駐Vzで使えないと、、、。敷居たかそうだなぁ、、、。
>とりあえず JED を入れてみました。結構使えそうです。(^^;
 僕も柔軟になりまして、これでいいじゃん、とも思いましたよ。JED, 16bit のフリー
エディタ。いいじゃないの。
 ただ、今日、久しぶりに「やっぱVzだろう」とか思っちゃたんですよね。
 いいですよ、このエディタ。Vzっていうんですけど、

 俺の体(あるいは頭)、まだ大丈夫なのか? とか思いながらも、
のんびりのんびり、ぐてぐてぐてぐて、いきましょう!
 ありがとうございます。m(__)m



10939/10933 BQO00549  konno            Re^5: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/19 22:51 10938:文太さんへのコメント コメント数:1
>  時計とカレンダーは実は完全に別物で、時間だけファンクションコール(これを
> 呼ぶモジュール?)、カレンダーはテキストから読み込んで表示、これらを合体させて
> ファンクションキーで切り替える、とか想像したのですが。

時間は time$ というシステム変数を使います。00:00:00 ( 時:分:秒 ) 文字列の形で入っています。
カレンダーは計算だけで表示できます。祝日データをテキストから読み込んで表示します。
VZマクロのカレンダーと同じことをやっています。言語形式が違うだけです。

>  (この合体と切り替えが難しそう、と思いました)

合体は私の得意技です。無駄な部分を無くし変数を統一して最適化するのは結構大変ですが。(^^;

>  アナログ時計の秒針を進めるのとかは、既存モジュールあり? ああいう(?)
> グラフィックなのは考えたことがない、、、。

オリジナルの例題には秒針はありませんでした。

200 Y!=PI!-T2*PI!/30		'分針
210 Z!=PI!-(T1*60+T2)*PI!/360	'時針

オリジナルの記述です。コメントは私がつけたものです。
これを参考にして、秒針を追加したのです。

10390 X9!=PI!-T3*PI!/30: '秒針
10400 X!=X9!:	'秒針

文字盤の文字も、拡大縮小するためにドットデータを自分で作ったみたいです。(覚えていない)(^^;
時計も万年カレンダーもソースは1ページ以内で出来ているので打ち込みは大した手間ではなかったです。
改造部分で何倍にも膨らんでしまって今では何をやっているのか調べるのも容易ではないです。(^^;

>  俺の体(あるいは頭)、まだ大丈夫なのか? とか思いながらも、
> のんびりのんびり、ぐてぐてぐてぐて、いきましょう!

マイペースで行くのが一番ですね。
プログラミングはストレス発散のため!
# でもそれがストレスを生むという説も。(^^;


10940/10933 CRG00666  文太             Re^6: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/20 00:31 10939:konnoさんへのコメント コメント数:2
konnoさん

 ご丁寧にいろいろとありがとうございます。
 おもしろい!
 おもしろかったから、電脳組社製の「BASIC/98 for DOS/V」(注1)という
ベーシックのマニュアルとか、QBasic By Example とかの本をもってきてしまいました。
 まずDOS機を復活させないと、ベーシック・プログラムのインストールすら
できない、、、。
 dosvaxは? 敷居、たかし。気力が、、、。

 最初に。
>プログラミングはストレス発散のため!
># でもそれがストレスを生むという説も。(^^;
 趣味ですよ、趣味。仕事も何にも関係ない。しかし仕事がらみだと、嫌になっても
根性で最後まで走るという動機があったりもしますが。(注2)
 パソピア、高いねぇ。でも、格好いいですねぇ。

 以下、というか全部、独り言みたいなものです。

 で、T-Basicというのは、Turbo Basicということですか? ボーランド製?
 深い意味はありませんが、以下に、書法がそれぞれあるんだろうな、とか思い。

>時間は time$ というシステム変数を使います。00:00:00 ( 時:分:秒 ) 
>文字列の形で入っています。
 さすがベーシック。システム変数を呼ばれたら中でファンクションコール
してくれるんだ。Vzのファイラで、「K」とやると「ディレクトリ作成ファンク」
を呼んでくれるのと同じですね。
 time$, date$。システム変数に「$」を末尾につけるのは、どこも同じみたい、、、。

>VZマクロのカレンダーと同じことをやっています。言語形式が違うだけです。
 この辺り、弱いですねぇ。読んだことないなぁ。
 基本的に、時計やカレンダーはPCの外でよい、という考えできております。
あれ? データの読み込みと描画なの。

>合体は私の得意技です。無駄な部分を無くし変数を統一して最適化するのは結構大変ですが。(^^;
 うん、既存のものに付加機能を足すのは、うん、けっこう大変そうだ。

>200 Y!=PI!-T2*PI!/30		'分針
>210 Z!=PI!-(T1*60+T2)*PI!/360	'時針
 「!」は、ユーザ変数のマーキングですよね、きっと。使われなくなったLET
ステートメント。「!」最初、何かと思った。
 「T1」「T2」「T3」も、ユーザ変数ですよね? ???
 (行番号がまだ入ってる、、、。そうしないと、ベーシックのソースらしくない?
  行番号ジャンプとかするの?)

>10390 X9!=PI!-T3*PI!/30: '秒針
>10400 X!=X9!:	'秒針
 「X9」の「9」の意味は想像できる。とりあえず「9」
 正確にではないですが、「30」とか「360」での割り算は、アナログで、円の中での
角度でしょうね。

>文字盤の文字も、拡大縮小するためにドットデータを自分で作ったみたいです。(覚えていない)(^^;
 これです! やっぱそうなのかぁ! やってみたい!

>時計も万年カレンダーもソースは1ページ以内で出来ているので打ち込みは大した手間ではなかったです。
>改造部分で何倍にも膨らんでしまって今では何をやっているのか調べるのも容易ではないです。(^^;
 うううう、大変そう。
 でも、気持ちも状態も経緯も、いちおう想像できます。意外に太るのよ。

 でも、とにかく。
 部屋の整理、心の整理、そしてDOS機復活作戦が優先順位となっております。
すみませぬ。


(注1)後継ソフト(ベーシック)がWin11で動きます、というのを社のサイトで
見つけた。がんばっておられますなぁ。世の中にニーズがあるんですねぇ。

(注2)どうでもいい注。例の『AWAKE』という将棋ソフト開発映画で、「ソフト作りたい!」
と思った主人公は、「プログラミング研究会」に入部します(大学生)。
 主人公は、元プロを目指した棋士。が、プログラミングは、ど素人。
 入部場面で書かされる自己紹介用データシートには、名前などのほか「使用言語」
という欄がある。彼は、「日本語」と書く。
 で、本を3冊渡される。「全部暗記してきて」。暗記完了。テスト合格。次、5冊。
そして、ついに、将棋ソフトが動き出す、、、。
 動機なんですよね。将棋学習の場面もプログラミング学習の場面も、雰囲気はほぼ同じ。
あふれる情熱。圧倒的な集中力。
 もう僕には残ってないかなぁ、という感想、、、。
 のんびりいこう! ストレスためない程度にがんばろう! という結論。

 上、ちゃんとVzで書きました。えばるこっちゃないぞ。
 あ、ソース、上げてください!



10941/10933 BQO00549  konno            Re^7: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/21 00:41 10940:文太さんへのコメント
>  で、T-Basicというのは、Turbo Basicということですか? ボーランド製?

これは東芝製BASICという意味だと思います。元はMSのGW-BASICを日本語化したのでしょう。

>  「!」は、ユーザ変数のマーキングですよね、きっと。使われなくなったLET
> ステートメント。「!」最初、何かと思った。

「!」は浮動小数点型の変数という指定です。
「%」は整数型の変数という指定です。同じ名前でもこれをつけると別の変数となります。

>  「T1」「T2」「T3」も、ユーザ変数ですよね? ???

そうです。頭がアルファベットでシステム変数以外なら自由に名前が付けられます。

>  (行番号がまだ入ってる、、、。そうしないと、ベーシックのソースらしくない?
>   行番号ジャンプとかするの?)

初期のBASICインタプリタは行番号が必須でしたが、最近のはいらないようですね。

>  正確にではないですが、「30」とか「360」での割り算は、アナログで、円の中での
> 角度でしょうね。

その通りです、ちなみに、「PI!」は浮動小数点型のシステム変数で、3.14159 という円周率です。
(記憶で書いたけど合っているかな (^^;)

>  でも、とにかく。
>  部屋の整理、心の整理、そしてDOS機復活作戦が優先順位となっております。

私も同じです。(^^; 他にも懸案事項が山済みで。ヽ(^^;)オイオイ

> (注1)後継ソフト(ベーシック)がWin11で動きます、というのを社のサイトで
> 見つけた。がんばっておられますなぁ。世の中にニーズがあるんですねぇ。

あの時代を生きた世代は BASIC が友達みたいなものなのかも。(^^;

>  動機なんですよね。将棋学習の場面もプログラミング学習の場面も、雰囲気はほぼ同じ。
> あふれる情熱。圧倒的な集中力。

まさに、あの頃の情熱と集中力はもう戻らないのか・・・・

>  もう僕には残ってないかなぁ、という感想、、、。
>  のんびりいこう! ストレスためない程度にがんばろう! という結論。

結局長く続けるにはこれが一番! ですね。(^^;

>  あ、ソース、上げてください!

ただいまコメントを整理中です。(^^;
汚くて恥ずかしいけど揚げちゃいますね。(^^;


10942/10933 CXB00940  としき           Re^7: VGAで動くアナログ時計とカレンダのアクセサリ 差替え
( 1) 23/11/22 01:14 10940:文太さんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
文太さんはDOS機復活ですか。
私はXPマシン復活中です。
生きているマシンはいくつかあるのですが、やっぱり画面サイズとかいろいろあって。
それはさておき。
かつてはN88-BASICがネイティブ、とか言っていた私としては、この辺の話題にも
足跡を残しておきたいかな、と。
なので、いろいろと散文を書き散らかします。

電脳組の「BASIC/98」は、for FMRを持っています。
ポケ3での動作確認のためだけに購入しました。
ざっくりと見た範囲では、きちんとポケ3でも動きました。
まだどこかにしまってあるはずだけど、どこにあるかなぁ。部屋に喰われた。
ちなみに、言語仕様は、かなりN88-BASICに近かったと記憶しています。
私の記憶が確かなら、その当時、後継を名乗れそうなほどN88-BASICに言語仕様が
近かった処理系が二つあって、そのうちのひとつが「BASIC/98」だったような。
ん〜、記憶が怪しい。

>  dosvaxは? 敷居、たかし。気力が、、、。

これ、konnoさんもおっしゃっていますが、動かすだけなら敷居はないも同然。
解凍して実行ファイルを起動するだけですから、DOS窓を動かすのと比べていったい
何が違うのか、ぐらいの感覚。


以下、BASICのお話。
基本的に東芝のT-BASICとNECのN88-BASICはそこそこ似ているはずですが、konno
さんのお話だと、やっぱりちょっと違うみたい。
まず、おそらく同じであろう部分。もしかしたら違うかもしれないけど。
変数は、コードが実行されて初めて領域が確保されます。
この辺はインタプリタ言語であるawkやperlも同じはず。
だから、マイクロ秒の単位で時間を稼ぎたいプログラムの場合、プログラムの途中で
領域を確保する時間が惜しいということで、プログラム冒頭でたとえばゼロを代入
するなどして、そこで領域を確保しておく、なんて技を使っているコードも見かけ
ました。
変数の型については、接尾辞をつけなければ、デフォルトで実数型。
「!」をつければ明示的に実数型。
「$」だと文字列型、「%」だと整数型、「#」だと倍精度実数。
デフォルトを変えることもできました。
「DEFINT A-C」と宣言すると、頭文字がAからCで始まる変数は接尾辞なしで整数型。
「DEFSTR D-F」と宣言すると、頭文字がDからFで始まる変数は接尾辞なしで文字列型。

ここまではT-BASICとN88-BASICで同じ部分。
一方、なんとなく違ってそうなのがシステム変数。
N88-BASICにも、TIME$とDATE$はありました。
でも、円周率を表すシステム変数はありません。
なので、自分でプログラムの最初の方で、例えば「PI=3.14」とか代入していました。
だから、人によって、コードで使われている円周率が異なっていたり、円周率を表す
変数名がPIだったりPAIだったりと一定していなかったり。

あぁ、なんだってこんな、いにしえのBASICの文法解説をしているんだろう(笑)。


10943/10933 CXB00940  としき           オセロ
( 1) 23/11/22 01:14 10936:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
私もオセロのプログラムを作りかけていて、いまだに完成していないのですが。

> 面白そうですね、私も昔ポケコンBASICでオセロの対人ゲームのソースを改造して
> 対コンピュータのオセロを作ったことがあります。恐らく世界最弱のアルゴリズム

これ、とっても気になります。
どういうアルゴリズムだったか、覚えておられます?
ちなみに、私の作ろうとしていたのは、俗に優先順位法というアルゴリズムです。
全てのマスに1から60までの優先順位をふって、優先順位の高い方から置けるか
判定して、置ければそこに置く、というやつ。なので、優先順位のふり方次第で、
それなりに強かったり全く弱かったり、となります。たとえば、四隅の優先度が
一番低かったら弱くなる、ということで。
そういえば、8ビットの昔も昔、PC-8001用のオセロと対戦したことがあるのです
が、えらく強かったなぁ。
こいつはロジック部分がフルアセンブラで、おまけに残り10手になった時に残りの
手をすべて読み切る仕様となっていて、そこだけちょっと待ち時間が長かったのです
が、それでもほんの数十秒。
今のパソコンなら、1手ごとに最後まで読み切ることもできるのでしょうね。


10944/10933 BQO00549  konno            BASIC道への入り口
( 1) 23/11/22 23:55 10942:としきさんへのコメント コメント数:1
> でも、円周率を表すシステム変数はありません。
> なので、自分でプログラムの最初の方で、例えば「PI=3.14」とか代入していました。
> だから、人によって、コードで使われている円周率が異なっていたり、円周率を表す
> 変数名がPIだったりPAIだったりと一定していなかったり。

あれ? と思って確認してみたら、「PI!」は自分で設定していました。(>_<)
STIME.bas のソース

10080 X1=77-SC!*2:PI!=3.14159:

結局、円周率を表すシステム変数は無いというのが正解だったようです。
確認もしないで間違ったことを言って申し訳ないです。m(__)m

> あぁ、なんだってこんな、いにしえのBASICの文法解説をしているんだろう(笑)。

BASIC地獄、いやさ、天国への道はまだまだこれからですよ。(^^;


10945/10933 BQO00549  konno            Re: オセロ
( 1) 23/11/23 00:13 10943:としきさんへのコメント コメント数:1
> 私もオセロのプログラムを作りかけていて、いまだに完成していないのですが。

おお、良いですね。こういうのはアルゴリズムを考えるのも楽しいですよね。
としきさんはオセロ強いですか? 私はヘタの横好きで。(^^;

> > 面白そうですね、私も昔ポケコンBASICでオセロの対人ゲームのソースを改造して
> > 対コンピュータのオセロを作ったことがあります。恐らく世界最弱のアルゴリズム
>
> これ、とっても気になります。
> どういうアルゴリズムだったか、覚えておられます?

全く覚えていないんですよ。(;_;)
もしかしたらカセットテープにソースが残っているかもですが、今では取り出す方法が・・・
ああ、本当に諸々捨てないで取っておけば良かったなぁ、と思う今日この頃です。(;_;)

> ちなみに、私の作ろうとしていたのは、俗に優先順位法というアルゴリズムです。
> 全てのマスに1から60までの優先順位をふって、優先順位の高い方からおけるか
> 判定して、置ければそこに置く、というやつ。なので、優先順位のふり方次第で、
> それなりに強かったり全く弱かったり、となります。たとえば、四隅の優先度が
> 一番低かったら弱くなる、ということで。

何となくそれに近い考え方で作ったような気がします。
でも出来たのは、世界最弱のコンピュータオセロでした。(>_<)
私自身が頭が悪いせいですね。(;_;)

> そういえば、8ビットの昔も昔、PC-8001用のオセロと対戦したことがあるのです
> が、えらく強かったなぁ。

将棋でもオセロでも、強い人がアルゴリズムを考えることで本当に強いものが出来るのでしょうね。


10946/10933 BQO00549  konno            新祝日対応のデータ形式
( 1) 23/11/23 02:38 10933:konnoさんへのコメント コメント数:1
STIME.EXE は古いプログラムゆえ、カレンダは新祝日法に対応していません。
日曜が祝日の場合に月曜が振替休日になるようには作っているみたいですが。

で、コメントの整理中にふと、カレンダマクロが対応しているから見てみようかと思ったのです。
CALENDAR.DEF Yushi さんのモノクロ版カレンダー拡張wanama版は全く理解できませんでした。
LXCLND.def  Emmettさんのカレンダーは祝日データに工夫がしてありました。

72:	;---- holiday definition -----------------------------------------
	; (6) 日付の位置に半角大文字アルファベットを書くと「?回目の?曜日」
	;     を指定したことになる(回数の数値は A==1, B==2, ...を意味し、曜日
	;     は A==日曜日, B==月曜日 ... を意味すると解する)。

	hh..1  =  "1874>0=1;1874>1948=3;1949>1999=15;2000>0=BB",


これは1月の祝日データですが、注目すべきは後半の成人の日。

	1949>1999=15;	1949年から1999年までは、15日固定
	2000>0=BB",	2000年以降は、B(2回目の)B(月曜日)

この形式は使える!
HOLIDAY.DAT に早速入れてみました。

01/15 1948-1999 成人の日
01/BB 2000-2099 成人の日

これで同じように解釈させれば出来るはず!
と思ったのですが、マクロが全然読めなくて、解釈する部分もわかりません。(;_;)
どうしよう・・・・


10947/10933 CXB00940  としき           Re^2: オセロ
( 1) 23/11/23 13:31 10945:konnoさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
> としきさんはオセロ強いですか? 私はヘタの横好きで。(^^;

中学生のころまでは、クラスで3番くらいの強さでした。
でも、大人になったら、平均よりちょっと強いくらい、でしょうか。

> > ちなみに、私の作ろうとしていたのは、俗に優先順位法というアルゴリズムです。
> 何となくそれに近い考え方で作ったような気がします。
> でも出来たのは、世界最弱のコンピュータオセロでした。(>_<)

これ、世間には優先順位のサンプルがいくらでもあったはずなので、そういうのを
そのまま実装すればそこまで弱くはならないはず。
例えば、乱数で手を打つプログラムを作ったら、強い時と弱い時がある、気分屋と
いうか不安定な強さになるだろうし。
本当に安定して弱いプログラムなら、むしろそのアルゴリズムを教えてほしい。
いや、マジで。

> 将棋でもオセロでも、強い人がアルゴリズムを考えることで本当に強いものが出来る

8ビット当時の最強は森田オセロだったはず。
私が対戦したのは、もしかしたらそれかもしれない。
もう覚えていませんが。

10948/10933 CXB00940  としき           Re: BASIC道への入り口
( 1) 23/11/23 14:07 10944:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> > あぁ、なんだってこんな、いにしえのBASICの文法解説をしているんだろう(笑)。
> BASIC地獄、いやさ、天国への道はまだまだこれからですよ。(^^;

うふふふふ〜。
では、もうちょっと文法解説。
PC-8001のN-BASICでは、変数名には2文字までしか使えませんでした。
3文字以上の変数名を使おうとした時にエラーになるのか、それとも最初の2文字
しか認識されず、3文字目が異なる変数名も同一の変数として認識されるのかは
覚えていません。
これが、同じ8ビットマシンでも、PC-8801のN88-BASICでは40文字まで使えました。
ただ、変数名を長くするとそれだけメモリを消費するというデメリットがあったため、
長い変数名は自粛される傾向がありました。
一方、PC-8001よりも古いシャープのMZ-80のBASICでの変数名の最大長はわかりません
が、当時のパソコンサンデーのテキスト(まだ持っている)を見ると、5文字程度の
変数名を使ったプログラムリストが掲載されているので、その程度の長さまでは対応
していたようです。
東芝の場合、PASOPIA7はPC-8801以降の発表だったはずなので、PASOPIA初代向けは
ともかく、16ビット対応などの後期のT-BASICなら長い変数名にも対応していると
思います。
つまり、何が言いたいかというと、もしプログラムをリライトする機会があれば、
意味の分かる長い変数名を使いましょうよ、ということ。
どっかのエディタのマクロじゃないんだから。


10949/10933 BQO00549  konno            曜日を算出する ツェラーの式
( 1) 23/11/23 14:38 10946:konnoさんへのコメント
新祝日法対応のためには指定した曜日を計算して特定する必要があります。
私の頭では全く思いつきません。(;_;)
困ったときのめざら資源、探したらありました! \(^^)/ アッタ-
めざら資源>VZマクロ工房>文字列出力関連>七曜でふ−簡易版日付印字器

sitiyo.def
3:	;指定日の曜日を算出(ツェラーの式)
	(m<3)?{ y--, m+=12, }
	w=((y+ y/4+ y/400+ (m*13+8)/5+ 1- y/100) +d -1) %7,

なるほど、指定日の曜日を算出する、ツェラーの式というのがあるのですね。
マクロをBASICに置き換えてみました。式はほぼそのままですね。

'a1=1〜4(週)	
'a2=1〜7(曜日)
ww=0
for d=1 to 31
if m<3 then y=y-1:m=m+12
w=((y+ y/4+ y/400+ (m*13+8)/5+ 1- y/100) +d -1) mod 7
if w=a2 then ww=ww+1
if ww=a1 then dd=d:goto 30612
next d
30612 return


実際に実装したルーチンも貼り付けます。

30611 '指定日の曜日を算出(ツェラーの式)
AA1=ASC(MID$(A$,4,1))-64					'1〜4(週)	
AA2=ASC(MID$(A$,5,1))-64					'1〜7(曜日)
WW9=0
M9=YASM(YMAX)							'該当祝日の月
Y9=YEAR								'該当祝日の年
for D9=1 to 31
  if M9<3 then Y9=Y9-1:M9=M9+12					'sitiyo.def
  W9=((Y9+ Y9/4+ Y9/400+ (M9*13+8)/5+ 1- Y9/100) +D9 -1) MOD 7	'ツェラーの式
  'W9=(Y9+ Y9/4+ Y9/400+ (M9*13+8)/5+ D9- Y9/100) MOD 7		'同等の式?
  if W9<>AA2 then 30613						'曜日が一致するまで日を進める
  WW9=WW9+1							'曜日が一致したら週を進める
  if WW9<AA1 then 30613						'週が一致するまで進める
  YASD(YMAX)=D9:goto 30614					'日が確定したらデータに入れる
30613 next D9
30614 'print co9;a$;" ";Y9;M9;AA1;AA2;W9;D9			'debug
return


コメントを書くとフローのミスにも気が付きやすいですね。(^^;
一応動くようになったのですが、何故か年を変えても今年の年で計算してしまいます。(>_<)
どうしよう・・・

続く・・・のか


10950/10933 DGF01024  めざら           Re^3: オセロ
( 1) 23/11/23 17:10 10947:としきさんへのコメント コメント数:2
参照先:http://mezala.la.coocan.jp/
森田オセロ! 懐かしいですね。
いや,懐かしいと感じるのは「森田」なのかな……森田将棋の。

ゲームの話題になると夏の虫のように吸い寄せられてしまいますね。

わたしがずっと移植したいと思っているのが XLIS のモノクロ版です。
XLIS とは Zumi氏作成の落ち物で,モノクロ版は色の代わりに形状(●▲■★◆◎)
(カラー版 → http://ozuma.o.oo7.jp/old_game/game/xlis/
作れるとは思うのですが,なかなかまとまった時間と気分が重なりません。

ほかに,ゲームではないですが,迷路を作成するマクロ。
BASICで示されたサンプルもあると思いますが,グラフィックスと罫線の違いもあり
なかなか手を着けられないでいます。

もしかして,老人ホームにブチ込まれた後の楽しみになるのでは?とも思うこのごろ。


10951/10933 BQO00549  konno            Re^3: オセロ
( 1) 23/11/23 19:43 10947:としきさんへのコメント
> > としきさんはオセロ強いですか? 私はヘタの横好きで。(^^;
> 
> 中学生のころまでは、クラスで3番くらいの強さでした。
> でも、大人になったら、平均よりちょっと強いくらい、でしょうか。

それなら確実に私より強いでしょうね。(^^;

> これ、世間には優先順位のサンプルがいくらでもあったはずなので、そういうのを
> そのまま実装すればそこまで弱くはならないはず。

うーん、その当時はオセロゲームの参考書とか見ていなかったもので。(^^;

> 8ビット当時の最強は森田オセロだったはず。
> 私が対戦したのは、もしかしたらそれかもしれない。

有名だったですね、私などパーフェクト負けを食らうほどででしょう。
ところで、VZマクロでもオセロゲームがあったかと見てみました。

VZOTO.DEF v.1.20 ====> 91.9.9 糧 丞 
これは98用とJ31用があり、J31で動かしてみましたが、途中で動かなくなってしまいました。
NP2の98エミュで98版も試しましたが罫線が表示しない? 結局出来ませんでした。
VZ1.57用だからでしょうか、何が悪いのかわかりません。

OTHELLO.def v2.0 ======== by 愛して癒して
これはVz Editor ver 1.6x用ですが、罫線などおかしくて動きませんでした。
過去ログを見ると、としきさんが質問されていて、YASATさんが答えてくれていました。

> 07941/08074 xxxxxxxx  YASAT            RE:OTHELLO ができない
> (14)   03/04/23 21:31  07938へのコメント

> 7行目
>         je[-,mi[=2,ep[+,wt[,jd[-,co[4,#]

> 93行目
>         (wx-1) {' '} (wy) {#m}

>  このゲーム、先攻で中途完勝パターンがあります。

>  なんでこの修正したんだったかなあって思っていたら、過去ログでした。
>  nifty:FGALDC/MES/14/1284


おお、この修正で動きました。\(^^)/ ヤッタ-
1ゲームやって、39対25でなんとか勝ちました。(^^;
私の作ったやつより確実に強いですね。(^^;

とりあえずこのアルゴリズムで組んでみたら良さそうですね。
その先は参考書を頼るしかないのかな。


10952/10933 BQO00549  konno            Re^2: BASIC道への入り口
( 1) 23/11/23 19:54 10948:としきさんへのコメント コメント数:1
> つまり、何が言いたいかというと、もしプログラムをリライトする機会があれば、
> 意味の分かる長い変数名を使いましょうよ、ということ。
> どっかのエディタのマクロじゃないんだから。

(^^; (^^; 耳がいた、いや、汗が。(^^;
私って3文字以上の英語のスペルは中々覚えられないのですよ。(^^;
その点 VZのマクロは記号みたいですが、だいたい2文字なので安心感が。(^^;


10953/10933 CXB00940  としき           Re^3: BASIC道への入り口
( 1) 23/11/24 20:35 10952:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 私って3文字以上の英語のスペルは中々覚えられないのですよ。(^^;

英語はやめて、6文字程度のローマ字にしましょう。



いきなり余談ですが。
昔の経済学って、ケインズだろうがマルクスだろうが、人間は合理的に行動する、
という前提で論理展開されていました。
でも、決してそんなことはないというか、不合理なことは結構多い。
そこで提唱されたのが行動経済学という学問。
ようは、いろいろな判断だとかお金の使い方を心理学の面から分析するものです。

そして、実はプログラム工学だとかソフトウェア工学というものにも、かなり昔から
心理学的な分析は取り入れられていて。そもそも、それらの学問は、どうすれば品質
のよい、すなわち間違えにくいプログラムを書けるか、という学問なのですが、これ
は裏を返すと、人間はどういうときに間違えるか、という、まさに心理学的な分析
から始まっているわけです。
そして、研究の結果、たとえば、長くて意味のわかりやすい変数名を使いましょう、
なんて話になってきたわけです。
ただし、これはあくまでも、一般的なプログラム作成の話。
たとえば、複数人で作る場合、とか。
一人で作る場合でも、そんなに時間をかけず、一気呵成に作り上げる場合とか。
ワンライナーあたりが該当するかな。
つまり、よく言われる「明日の自分は赤の他人」に至らないような状況の場合。
仮に、既存のプログラムを改造するぐらいなら、常に一から新しいプログラムを作る
というのであれば、過去のプログラムを見返すこともないでしょう。
ただし、繰り返しになりますが、これはあくまでも、一般的なプログラム作成の話。
このため、現在では、仮に
「俺は変数名に3文字までしか使わない」
と主張するプログラマがいたとすると、その人は暗に
「俺は一般的ではない、短い変数名でも良いプログラムを書ける天才なんだ」
と豪語しているに他ならない、というのが世間の捉えかた。
もれなく生暖かい目がついてくることでしょう。
とはいえ、中学2年生ぐらい頭が柔軟な人ならそれも可能なのかもしれません。
私はもう無理だなぁ、そんな主張はできない。頭は固いし恥ずかしいし。
この年になってから黒歴史は量産したくないし。


10954/10933 CXB00940  としき           Re^4: オセロ
( 1) 23/11/24 20:35 10950:めざらさんへのコメント
参照先:http://toshiki.la.coocan.jp/
XLISって知らなかったのですが、コラムスのようなゲームですね。
落ち物でいうと、PC-98のDOSでは「ぽろりす」をずいぶんやりました。
http://ozuma.o.oo7.jp/old_game/game/porolith/
こいつには、作者謹製のANSI版があって、モノクロ環境でも実行できたはず。
そういえば、ポケ3では試したことはない。
けど、画面サイズを考えると、絶対に目が死にそう。
試すもんか。


10955/10933 BQO00549  konno            アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/11/24 22:13 10933:konnoさんへのコメント コメント数:1
アナログ時計とカレンダのアクセサリ 11月24日版です。
画像はココログの記事で見てください。
http://tamaneko2.cocolog-nifty.com/vz2/2023/11/post-bf98e3.html

今回の更新内容は

・新祝日法に対応したつもり。
・見栄えも多少直しました。
・カレンダー大の日付の文字を2バイト数字にして見やすく。
・キーによるカレンダーの年月変更機能追加。
・MSDOS Player でもカレンダー表示出来ます(chej jpの時)
・今回からソースも付けます。


新祝日法への対応はEMMETさんとめざらさんのマクロを参考にしました。
先人の知恵に感謝です。m(__)m

カレンダー大の日付の2バイト数字は、TBASICのころは出来ていたのです。
PRINT CDBL$(RIGHT$(STR$(I),2)) 
のように半角文字を2バイト文字に変換するコマンドが使えたのです。
ターボBASICは英語版なのでそんなものは無く、移植時に半角数字にしたのでした。
今回一念発起して対応しましたので、興味ある方はソースを見てください。

キーによるカレンダーの年月変更機能追加は、カレンダマクロで出来ているので
このくらいは出来ないと張り合えないなぁ、と思ったのです。(張り合ってどうする)(^^;

F11: 前月 	前月のカレンダーを表示
F12: 次月 	次月のカレンダーを表示
[Ctrl]+[←]	前年のカレンダーを表示
[Ctrl]+[→]	次年のカレンダーを表示

本当は [Ctrl]+[F11〜F12] で前年と次年のカレンダーを表示したかったのですが、
DOSVAXJ3 ではこのキーが(BIOSレベルで)反応しないのでしかたなくこうしました。

なお、変更前のソースを大量にコメントしているので非常に見づらいです。
TAGLIGHT.EXE をお使いの方は TAGLIGHT.PAT に

#BASIC用
:BA,
A	'	\C\$

これを追加すれば非常に見やすくなります。
TAGLIGHT.PAT についてはバッファ制限があるので近々記事を書くつもりです。


自作、改作アプリの放置部屋  に置いてあります。


10956/10933 BQO00549  konno            Re^4: BASIC道への入り口
( 1) 23/11/25 15:36 10953:としきさんへのコメント
> 英語はやめて、6文字程度のローマ字にしましょう。

ローマ字ならいくらでも長い名前を書けますよ。(^^;
jugemujugemugogounosurikire

お。意外と良いかもしれませんね、でもなんだか恥ずかしいような。(^^;

> そして、研究の結果、たとえば、長くて意味のわかりやすい変数名を使いましょう、
> なんて話になってきたわけです。

その長い名前が覚えられないからこうなってしまったのです。(;_;)
英語は嫌いじゃぁ〜!

> この年になってから黒歴史は量産したくないし。

そんな風に思っていた時期もありました・・・
私の半生は黒(画面)歴史なので。
どうせみんな死ぬんだし、だったら恥ずかしい黒(画面)歴史を晒しちゃえ
ということで今回の企画を出したわけです。(完全後付け)


10957/10933 BQO00549  konno            Re^4: オセロ
( 1) 23/11/25 15:57 10950:めざらさんへのコメント
> わたしがずっと移植したいと思っているのが XLIS のモノクロ版です。
> XLIS とは Zumi氏作成の落ち物で,モノクロ版は色の代わりに形状(●▲■★◆◎)

XLIS は知りませんでしたが、モノクロ版の記号はどこかで見たような気が・・・
ん? これって、Emmettさんのさめがめに似ているような。(^^;
さめがめは何度か遊んでみましたが面白いですね。(^_^)

> (カラー版 → http://ozuma.o.oo7.jp/old_game/game/xlis/

覗いてみたら、98版のゲームなんですね。NP2 で動くかしら。

> もしかして,老人ホームにブチ込まれた後の楽しみになるのでは?とも思うこのごろ。

う、うーん、(^^;

# 俺たちに明日は無い、だから今日のテーマに生きるのだ! なんちて


10958/10958 BQO00549  konno            TAGL + TAGL_F5 マクロ
( 1) 23/11/29 00:00 コメント数:1
 taglight.exe を使用して複数の指定文字列に手軽に色付けできるマクロです。
 環境変数VZDEFと実行ファイルの両フォルダにtaglight.exeとtaglight.patが必要です。
 taglight.patは、tagl.def用に拡張子の後ろにカンマの追加が必要で、専用PATを同梱しています。

 例
 #C,C++コード用
 :C,CP,H,


TAGL_F5.DEF

 [F05] 検索文字列の取得 は私家版[F05]のtaglight.exe対応版です。
 標準の[F05]との違いは,スペース,→で検索文字列範囲拡大出来ます。
 taglight.exe を使用して複数の指定文字列に手軽に色付けできるマクロです。
 環境変数VZDEFと実行ファイルの両フォルダにtaglight.exeとtaglight.patが必要です。
 taglight.patは、tagl.def用に拡張子の後ろにカンマの追加が必要です。
 [F06]はtagl.def で連携します。
 使用変数 a,c,e,k,


TAGL.DEF

・ [F06]で起動すると、taglight.patからTAGL.PATを作成して使用します。
・ ^KT で起動すると、検索窓で検索文字列を繰り返し入力できます。(最大4回まで)
   空Enterで指定終了し、tagl.patとしてセーブし、編集画面に反映させます。
   上記の動作原理により、マクロ実行時は常にtagl.patの設定で動作します。
・ ^\KT でシフト起動すると、taglight.patの設定に切替になります。
・ 使用変数 a,b,c,e,k,

VZマクロの部屋にあります。


10959/10958 BQO00549  konno            TAGLIGHT.EXE の制限
( 1) 23/11/29 00:03 10958:konnoさんへのコメント
TAGLIGHT.EXE 便利に使っていたんですが、最近うまく動かないことがあるようです。
調べてみたら、TAGLIGHT.PAT の容量オーバー、ワードの入れすぎだったようです。(>_<)

パターンが多すぎます
必要なバイト 1469 : 上限バイト 1280

コマンドラインにこのようなメッセージが出ていました。
今まで >NUL でメッセージを消していて気が付かなかったのでした。(>_<)
機能ごとのメモリ消費はこんな感じです。

   機能              メモリ量
--------------------------------------+------
D       TAGLIGHT                        30
B       name="  "                       25
E       (       )                       24
A       \0\0\0\0\0/\0\0\0\0\0   \C\$    23
B       ;       \C\$                    20
A       \^・                            20
A       ●                              20
:DA,                                    5
DA,                                     4

以前世界時計用に追加したパターンが圧迫してしまったようですね。
私のPATは、アセンブラ用やC,C++コード用も追加しているので、少し整理しました。
C,C++コード用をパスカルコード用と合体させるなどして重複分を減らしました。


ついでに、TAGL.DEF や TAGL_F5.DEF に複数文字列色付け機能を改善実装しました。
 [F05]:検索文字列の取得  TAGL_F5.DEF
 [F06]:検索文字列の設定  TAGL.DEF
この2つのマクロに新しい形式の複数文字列色付け機能を実装しました。

そのためにPATファイルも改造しました。(^^;
新しい形式の PATファイルの構造は


1. #デフォルトのコードの下に以下の行を追加

#4#tagl_cfg	#1〜4 検索文字列数 この行は数字以外変更禁止 -----

ここの行頭の "#" の次の数字の数だけ検索文字列を色付けします。
#デフォルト と、該当する拡張子の所に色付けコードが埋め込まれます。
設定数を超えたコードは自動削除されます。
デフォルトを 3 としています。(4 では長い文字列でバッファオーバーする時がある)


2. woldtime 用のコードは通常使用で削除

通常使用では、TAGLIGHT.PATをコピーした TAGL.PAT を使います。
woldtime 用のコードは通常使用では使わないので、削除することにしました。
 
#tagl_end ----  ##k v8 ※これより下は TAGL.PAT にコピーしない(バッファ節約)
#woldtime 用

woldtime 用コードの直前に上の1行を追加しました。この行は変更削除禁止です。
TAGLIGHT.PAT は各自で自由に変更出来ますが、私のマクロを使う場合は、上記のルールを守ってください。


10960/10960 BQO00549  konno            DOSVAXJ3 備忘録  CHEV コマンド
( 1) 23/12/01 00:26
DOS6 付属の QBASIC.COM は、日本語モードでは動かないので、DOSVAXJ3 英語モードでやってみました。

chev us
Change to the US environment.
Current video mode is 03h

QBASIC.COM
日本語モードでは実行できません.


実際の表示は英語モードなので、文字化けした読めないメッセージになっています。
日本語モードにするとこの表示になっていました。
あれれ? もしかして chev us コマンドでは完全な英語モードになっていない?


chev us を実行すると以下の表示になります。chev コマンド自体は表示されません。

Change to the US environment.
Current video mode is 03h

ここで、chej でモード状態の表示をしてみると

D:\NC>CHEJ.EXE <MultiMode CHEV> ver 6.10 by Natrium.
現在 DOS/V(Normal)、日本語環境です。
現在のビデオモードは 03h です。

こう表示されました。
どうやら chev コマンドでは完全な USモードになっていないようです。

chej us を実行すると

D:\NC>CHEJ.EXE <MultiMode CHEV> ver 6.10 by Natrium.

Change to the US environment.
Current video mode is 03h.

ここで、chej でモード状態の表示をしてみると

CHEJ.EXE <MultiMode CHEV> ver 6.10 by Natrium.

This is the US environment.
Current video mode is 03h.

この状態で QBASIC.COM 実行すると、無事に動きました。
QBASIC.COM は、完全な USモードでないと動かないようです。
実行してもカーソルだけが表示されるので、謎のモードで動いているようです。

そういえば、最新の DOSVAXJ3 の更新では
> 拡張 CGA テキストモード 73h, 71h に対応しました。
とあって、試してみた過去記事が

#10927: Re: DOSVAXJ3 230919 更新 投稿者: konno   2023/09/20(水)

> モード切替を試してみると、CHEV 71 とかではモード70 になってしまって切り替え出来ない?
>
> CHEJ 71
>
> これでモード71 に切り替わりました。
> 見た目は 70 と変らないですね。(^^;

これも同じ原因かもしれないdすね。
関係あるかどうかわかりませんが、過去ログで

#6100: Re^2: DOSBOXでVZはFEP制御不可なのか 投稿者: konno   2012/12/02(日)

> > > VZ側ではまったく制御できていないようですね。
> DOSBOXは本当に日本語環境になっているのか、ふと思いついて、調べてみました。
>
> CHEJ /C で、
>
> Current CodePage is 437.
>
> と出ました。そうです。コードページは英語のままだったのです。
> これですべてのつじつまが合います。VZはDBCSのモードをチェックしているので
> 英語モードと判断してFEP制御していなかったわけですね。
> おそらくキーボードも英語のままなので制限が多いのでしょう。

2012年の古い DOSBOX ですが、モード切替に不備があるようです。
DOSVAXJ3 ではコードページはキチンと切り替え出来ているようですが、何かが足りないのでしょうか。


10961/10933 CXB00940  としき           Re: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/01 11:12 10955:konnoさんへのコメント コメント数:2
参照先:http://toshiki.la.coocan.jp/
実家に置きっぱなしだったVistaマシンと、自宅で時々使っているXPマシンが相次いで
壊れまして。それぞれ、それなりに使うということで修復している最中。とはいえ、
Vistaマシンのほうはまだほとんど手付かずですが。

さて、何とか動き出してきたXPマシンのほうで、気になったのでこの時計を動かして
みました。このマシン、一応VTDOSの古いバージョンも入っていたような気もします
が覚えていません。DOSVAXは入れていなかったはず。
とりあえず、command.comで動かしたら、DOS窓状態で起動したにもかかわらず自動
で全画面に遷移して、きちんとアナログ時計が動きました。
ALT+RETで窓状態にすると、グラフィック関係は全滅ですね。時計の針もそうだし、
カレンダーの罫線だとか時計の枠だとか。
「VGAで動く」とうたっているソフトが動かないので、窓状態はやっぱりちょっと
本当のVGAとは違うみたい。

気になったことがいくつか。
まず、公開時の圧縮ファイルの形式。
最近のアンチウィルスソフトはLZH形式を正しくチェックできないということで、
最近では一般向けに公開されるファイルにはあまり使われなくなっています。
ベクターがLZHでの新規の受付を停止したのは何年前だったかなぁ。
さすがに公開済みのものを再パッキングするほどのことはないと思いますが、
次回からはZIP形式の使用がお勧め。
もちろん、赤の他人にはなるべく使ってほしくない、という希望があるならLZHの
ほうがいいかもしれません。

次、ソースリストについて。
ざっくり読んで、こんなものを処理できる処理系があるんだ、と驚きました。
これ、何でコンパイルしたんでしょうか。QBASIC?
いや、昔ながらの行番号つきの大文字の部分と、行番号なしの小文字の部分が混在
しているものを処理できるなんて、本当、びっくりしました。
慣れれば、あとからパッチを当てた部分がわかりやすいのかもしれません。
でも、慣れていないもので、ちょっと違和感が大きい。
行番号なしの部分でもマルチステートメントがある。できるんだ。
冒頭の「$INCLUDE」というおまじないは知らない。
これは処理系固有のおまじないなんだろうなぁ。
一応、環境変数の取得関数はあるようなので、この辺を工夫すればデータファイルの
置き場所も指定できそうですね。
あと、ON ERROR GOTOが頻出しますが、飛び先をきちんと変えている。
すなわち、有効利用している。こんなコードはじめてみた。すごい!
私、エラー処理なんてひとつしかないようなコードしか書いたことがないもので。

最後。
前にも書いたことですが。
このツリーも、返信フォームの上の部分だけ、ツリー表示が乱れている。
何とかしてほしいというか、何とかできないのならコードをさらしてほしい。


10962/10933 CXB00940  としき           Re^2: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/01 11:25 10961:としきさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> このツリーも、返信フォームの上の部分だけ、ツリー表示が乱れている。
> 何とかしてほしいというか、何とかできないのならコードをさらしてほしい。

と、書いたところですが。
#10961を書き込んで、今、読み直してみると、ツリーの乱れ方が変化している。
#10961を書き込む前。(タイトル部はとしきによって省略しています)

- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
▼ 10933.VGAで動くアナログ時計とカレンダのアクセサリ
  ┣10934.Re: VGAで動くアナログ時計とカレンダのアク
  ┗10935.Re^2: VGAで動くアナログ時計とカレンダのア
  ┃ ┗10936.Re^3: VGAで動くアナログ時計とカレンダ
  ┃  ┣10938.Re^4: VGAで動くアナログ時計とカレン
  ┃  ┗10939.Re^5: VGAで動くアナログ時計とカレン
  ┃  ┃ ┗10940.Re^6: VGAで動くアナログ時計とカ
  ┃  ┃  ┣10941.Re^7: VGAで動くアナログ時計と
  ┃  ┃  ┣10942.Re^7: VGAで動くアナログ時計と
  ┃  ┃  ┃┣10944.BASIC道への入り口 - konno 2
  ┃  ┃  ┃┣10948.Re: BASIC道への入り口 - とし
  ┃  ┃  ┃ ┗10952.Re^2: BASIC道への入り口 -
  ┃  ┃    ┗10953.Re^3: BASIC道への入り口 -
  ┃  ┃     ┗10956.Re^4: BASIC道への入り口
  ┃  ┗10943.オセロ - としき 23/11/22-01:14
  ┃   ┗10945.Re: オセロ - konno 23/11/23-00:13
  ┃    ┗10947.Re^2: オセロ - としき 23/11/23-
  ┃     ┣10950.Re^3: オセロ - めざら 23/11/2
  ┃     ┣10954.Re^4: オセロ - としき 23/11/2
  ┃     ┃┗10957.Re^4: オセロ - konno 23/11/
  ┃     ┣10951.Re^3: オセロ - konno 23/11/23
  ┣10937.VGAで動くアナログ時計とカレンダのアクセサ
  ┗10946.新祝日対応のデータ形式 - konno 23/11/23-0
   ┗10949.曜日を算出する ツェラーの式 - konno 23/
  ┣10955.アナログ時計とカレンダのアクセサリ 11月24

ところが、#10961を書き込んだあと。

- 関連一覧ツリー (先頭の番号をクリックするとツリー全体を一括表示します)
▼ 10933.VGAで動くアナログ時計とカレンダのアクセサリ
  ┣10934.Re: VGAで動くアナログ時計とカレンダのアク
  ┃┗10935.Re^2: VGAで動くアナログ時計とカレンダの
  ┃ ┗10936.Re^3: VGAで動くアナログ時計とカレンダ
  ┃  ┣10938.Re^4: VGAで動くアナログ時計とカレン
  ┃  ┃┗10939.Re^5: VGAで動くアナログ時計とカレ
  ┃  ┃ ┗10940.Re^6: VGAで動くアナログ時計とカ
  ┃  ┃  ┣10941.Re^7: VGAで動くアナログ時計と
  ┃  ┃  ┣10942.Re^7: VGAで動くアナログ時計と
  ┃  ┃  ┣10944.BASIC道への入り口 - konno 23/
  ┃  ┃  ┗10948.Re: BASIC道への入り口 - としき
  ┃  ┃   ┗10952.Re^2: BASIC道への入り口 - k
  ┃  ┃    ┗10953.Re^3: BASIC道への入り口 -
  ┃  ┃     ┗10956.Re^4: BASIC道への入り口
  ┃  ┗10943.オセロ - としき 23/11/22-01:14
  ┃   ┗10945.Re: オセロ - konno 23/11/23-00:13
  ┃    ┗10947.Re^2: オセロ - としき 23/11/23-
  ┃     ┣10950.Re^3: オセロ - めざら 23/11/2
  ┃     ┃┣10954.Re^4: オセロ - としき 23/11
  ┃     ┃┗10957.Re^4: オセロ - konno 23/11/
  ┃     ┗10951.Re^3: オセロ - konno 23/11/23
  ┣10937.VGAで動くアナログ時計とカレンダのアクセサ
  ┣10946.新祝日対応のデータ形式 - konno 23/11/23-0
   ┗10949.曜日を算出する ツェラーの式 - konno 23/
  ┗10955.アナログ時計とカレンダのアクセサリ 11月24
   ┗10961.Re: アナログ時計とカレンダのアクセサリ

#10961を書き込むことによって、#10941あたりからの乱れ方が大幅に改善している。
ツリー最後の#10955前後はまだ乱れているけど、乱れ方が変化している。
この辺、コードを追いかける際の手がかりになるかも。


10963/10933 BQO00549  konno            Re^2: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/01 23:24 10961:としきさんへのコメント コメント数:1
> とりあえず、command.comで動かしたら、DOS窓状態で起動したにもかかわらず自動
> で全画面に遷移して、きちんとアナログ時計が動きました。

XPのDOS窓全画面で動きましたか。
元々Win95ノートPCの小さい画面で使うため、全画面にして使っていたのです。

> ALT+RETで窓状態にすると、グラフィック関係は全滅ですね。時計の針もそうだし、
> カレンダーの罫線だとか時計の枠だとか。
> 「VGAで動く」とうたっているソフトが動かないので、窓状態はやっぱりちょっと
> 本当のVGAとは違うみたい。

ターボBASICは古いので、VGA対応してるかどうか。VGAでも何とか動くという感じです。
グラフィックモードは、chej 12 相当です。
DOS窓で chej 12 と打つと、全画面になると思います。

Win98MEのリブレットで確認してみました。
DOS窓で起動すると一瞬全画面になりますが、すぐにDOS窓に戻ります。
小さなデジタル時計が表示されているだけの状態ですね。
ここで、ALT+RET すると全画面になりグラフィックモードで動作しますね。

最新の版はデジタル時計を全角表示して、全画面では毎秒カウントします。
ところがDOS窓では、2秒ごとに表示しますね。
DOS窓では疑似マルチタスクが優先するため描画処理が追い付かないのかも。

> 最近のアンチウィルスソフトはLZH形式を正しくチェックできないということで、
> 最近では一般向けに公開されるファイルにはあまり使われなくなっています。
> 次回からはZIP形式の使用がお勧め。

なるほど、検討してみます。

> もちろん、赤の他人にはなるべく使ってほしくない、という希望があるならLZHの
> ほうがいいかもしれません。

今時DOSを使うもの好きは、LZHに馴染んでいると思ったのですが、やっぱりZIPがいいのかなぁ。(^^;

> ざっくり読んで、こんなものを処理できる処理系があるんだ、と驚きました。
> これ、何でコンパイルしたんでしょうか。QBASIC?

ボーランドのターボBASIC です。すぐに消えたので、幻のコンパイラかも。(^^;

> いや、昔ながらの行番号つきの大文字の部分と、行番号なしの小文字の部分が混在
> しているものを処理できるなんて、本当、びっくりしました。

やってみたらできたので、そういうものかと思っていました。
大文字と小文字を区別する処理系もあるようですね。移植するときには直さなくては。(^^;

> 冒頭の「$INCLUDE」というおまじないは知らない。
> これは処理系固有のおまじないなんだろうなぁ。

これは、ターボBASICのコンパイラ版固有みたいです。

50 $DYNAMIC

これが、東芝BASICのコンパイラ版固有みたいですが、元がMS系なので、MSも同じかも。

> 一応、環境変数の取得関数はあるようなので、この辺を工夫すればデータファイルの
> 置き場所も指定できそうですね。

環境変数を設定すればできそうですが、ちょっと面倒ですよね。
実行ファイルと同じフォルダから自動的に設定ファイルを読めればいいなと思うんですが。
とりあえずは環境変数を設定するようにしてみますか。

> あと、ON ERROR GOTOが頻出しますが、飛び先をきちんと変えている。
> すなわち、有効利用している。こんなコードはじめてみた。すごい!
> 私、エラー処理なんてひとつしかないようなコードしか書いたことがないもので。

これ、3か所に分かれているのは、3つのプログラムを合体させたからです。(^^;
統合化していない超手抜きの悪い例ですね。(^^;

> このツリーも、返信フォームの上の部分だけ、ツリー表示が乱れている。
> 何とかしてほしいというか、何とかできないのならコードをさらしてほしい。

検討します。m(__)m


10964/10933 BQO00549  konno            Re^3: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/02 00:04 10962:としきさんへのコメント
> #10961を書き込むことによって、#10941あたりからの乱れ方が大幅に改善している。
> ツリー最後の#10955前後はまだ乱れているけど、乱れ方が変化している。
> この辺、コードを追いかける際の手がかりになるかも。

なるほど、見てみますね。
でも今まで何度も見ているのにわからなかったので、やっぱりとしきさんにも見てもらおうかなぁ。

# 記事閲覧t #

のルーチンだけ切り出してメールで送ります。

宜しくお願いします。


10965/10933 CXB00940  としき           Re^3: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/03 01:21 10963:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
メールは受け取りました。
が、受け取っただけで、まだ中身はぜんぜん見ていません。

> 今時DOSを使うもの好きは、LZHに馴染んでいると思ったのですが、

その点はまったく同感なのですが

> やっぱりZIPがいいのかなぁ。(^^;

自動でウィルスチェックをしてくれない、という部分をどう捉えるか。
konnoさんを信用できる・信用している人ならLZHでもダウンしてくれると思います。
が、konnoさんをよく知らない赤の他人ならどうするか、という点が疑問。

> ボーランドのターボBASIC です。すぐに消えたので、幻のコンパイラかも。(^^;

ありましたね。
この処理系は、私も触ったことがありません。

> 50 $DYNAMIC
> これが、東芝BASICのコンパイラ版固有みたい

REMがついていたので素通りしていました。
これって、REMがなければ、どういうことをするコマンドなんですか?

> 実行ファイルと同じフォルダから自動的に設定ファイルを読めればいいなと思う

なんかありそうですけどね。
CとかPascalなんかでは、コマンドラインのゼロ番目が実行ファイルのフルパス名、
みたいなことになっていたような気がするので、コマンドラインの取り出し方法を
調べてみるのがいいかも。


10966/10933 BQO00549  konno            Re^4: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/03 21:10 10965:としきさんへのコメント コメント数:1
> メールは受け取りました。
> が、受け取っただけで、まだ中身はぜんぜん見ていません。

私も見れていないのでお手すきの時にでもお願いします。m(__)m

> 自動でウィルスチェックをしてくれない、という部分をどう捉えるか。
> konnoさんを信用できる・信用している人ならLZHでもダウンしてくれると思います。
> が、konnoさんをよく知らない赤の他人ならどうするか、という点が疑問。

そうですね、次からはなるべく ZIP にするようにします。

> > 50 $DYNAMIC
> REMがついていたので素通りしていました。
> これって、REMがなければ、どういうことをするコマンドなんですか?

マニュアルが腐海の底に沈んでしまっているので、NETで検索してみました。
FreeBASIC MetaDynamic
https://makoto-watanabe.main.jp/freebasic/PgMetaDynamic.html#start
このページの解説が近いような気がします。

> 配列を割り当てる方法を変える、メタコマンド
>
> 構文:
> '$Dynamic
> または
> rem $Dynamic
>
> 記述:
> '$Dynamic は、以降に宣言する全ての配列が可変長である、と指定する、メタコマンドです。配列が、添字数が定数指定で宣言されていても、そうでなくてもです。
> この指定は、モジュールで、'$Dynamic を使ったそれ以降の部分に対して有効です。$Static を使って、'$Dynamic 指定を無効にすることができます。

うーむ、REM は必要だったみたいですね。(^^;
多分、エディタで編集領域を拡大するために使ったのだと思いますが、今では覚えていません。(>_<)
なんせ、インタプリタ時代は、3万文字程度が限界で、ガベージコレクションで止まっていたので。(>_<)
コンパイラになっても4万文字程度だったかもですが。(^^;

> CとかPascalなんかでは、コマンドラインのゼロ番目が実行ファイルのフルパス名、
> みたいなことになっていたような気がするので、コマンドラインの取り出し方法を
> 調べてみるのがいいかも。

なるほど、PEEK関数でメモリは読めるかもしれないので、チャレンジしてみます。


10967/10933 CXB00940  としき           Re^5: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/04 12:20 10966:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> FreeBASIC MetaDynamic
> https://makoto-watanabe.main.jp/freebasic/PgMetaDynamic.html#start
> このページの解説が近いような気がします。

なるほど、理解できました。
N-BASICとかN88-BASICでは、DIMで配列宣言をしないで配列を使うと、デフォルトで
配列の添え字は10まで使えたはず。OPTION BASEで添え字の0が使えるかどうかを決定
するという、あまり使われていない機能もありますが。
だけど、これを宣言しておけば、デフォルトで11以降の添え字が使えるということの
ようですね。
ただ、N88-BASICの場合、DIMで配列宣言をしない配列を使うと、例えば要素数が3個
しか必要ない配列でも10個分の要素のメモリが確保されてしまい、メモリが無駄に
なるから必ず配列宣言をしましょう、みたいな事が言われていました。当然、大きな
配列が必要なときは配列宣言は必須でしたし、結論としては、いついかなる場合も
配列宣言をしましょう、みたいな話になっていたように記憶しています。
そういう環境に慣れていたので、AWKやPerlのような、動的に配列がみょ〜んと確保
されるような処理系に始めて触れたときには違和感が強かったものです。もし私が
N88-BASICからいきなりこの$DYNAMIC構文のあるBASICに触れたら、そんな比ではない
ほどの違和感を感じまくったことでしょう。

ところで、この構文が使われているということからの推測すると、元々のコードは
QuickBASICで書かれていたということでしょうか。
そして、REMは必須であったと。

> なるほど、PEEK関数でメモリは読めるかもしれないので、チャレンジしてみます。

FreeBASICのサイトを検索したところ、この処理系だと、COMMAND(0)という関数で
実行ファイル名が取得できるようです。ただ、フルパスが取得できるかは、私には
よくわかりませんでした。
また、このページのQuickBASICとの違いの注記で、QBは引数をとらないとある。
ということは、TIME$で時刻の全体が取得できるように、COMMANDでコマンドライン
の引数全体が取得できるようになっているらしい。
ターボBASICがどうなっているかわかりませんが、QB同様であった場合、例えば空白
の入ったフォルダから起動したようなときに、実行ファイルのパスの取得は難しく
なるかもしれない。


10968/10933 BQO00549  konno            Re^6: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/05 02:04 10967:としきさんへのコメント コメント数:1
書きかけの返信をうっかりセーブし忘れて消してしまいました。(>_<) うう、、


> N88-BASICからいきなりこの$DYNAMIC構文のあるBASICに触れたら、そんな比ではない
> ほどの違和感を感じまくったことでしょう。

私もN88-BASICからTBASICに移植したときは、違いに戸惑いましたね。
当時、「各種BASICの違い」みたいな記事があって、参考に成りました。どこ行ったかなぁ。

> ところで、この構文が使われているということからの推測すると、元々のコードは
> QuickBASICで書かれていたということでしょうか。

元々はTBASIC(7) です。それからTBASIC(16) → コンパイラ版 → TURBO BASIC ですね。
MS系のBASICだから構文がほぼ同じなのでしょう。

> そして、REMは必須であったと。

ですね。メタコマンドみたいなものでしょうか。

> FreeBASICのサイトを検索したところ、この処理系だと、COMMAND(0)という関数で
> 実行ファイル名が取得できるようです。ただ、フルパスが取得できるかは、私には
> よくわかりませんでした。

COMMAND という関数はTURBO BASIC には無いようです。
類似の関数もわからないのでちょっとできなそうですね。


10969/10933 CXB00940  としき           Re^7: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/05 14:03 10968:konnoさんへのコメント コメント数:1
参照先:http://toshiki.la.coocan.jp/
> 当時、「各種BASICの違い」みたいな記事があって、参考に成りました。

うちの、1985年ごろのベーマガに、その手の記事がありました。
ただ、多くの機種を対象としていた関係で、1機種あたりの分量はたいしたことは
ありませんね。だから

> 元々はTBASIC(7) です。

TBASIC(7)に、この構文があるということも載っていないし。

> COMMAND という関数はTURBO BASIC には無いようです。
> 類似の関数もわからないのでちょっとできなそうですね。

Turbo Pascalだと、予約語としてParamStr。
C言語だと、デフォルトでargvとargc。ただしこれは予約語ではなく、ただの慣例。
とはいえ、正当な理由なくこの慣例を破ると、各方面からけちょんけちょん。
最近のVisual BasicというかVB.NETではCmdArgsだけど、これが予約語か慣例かは
わからない。

このあたりのキーワードでドキュメントを検索するくらいかなぁ。
コンパイル可能な処理系でコマンドライン引数を取得できないって、ありえないと
思うのですが、これはちょっと私が固定観念にとらわれすぎているかも。


10970/10933 BQO00549  konno            Re^8: アナログ時計とカレンダのアクセサリ 11月24日版
( 1) 23/12/05 23:11 10969:としきさんへのコメント
> うちの、1985年ごろのベーマガに、その手の記事がありました。
> ただ、多くの機種を対象としていた関係で、1機種あたりの分量はたいしたことは
> ありませんね。

もしかしたら私もその本を読んだのかもしれませんね。

> だから
> > 元々はTBASIC(7) です。
> TBASIC(7)に、この構文があるということも載っていないし。

TBASIC(7)に、この構文はありません。時計アクセサリプログラムのルーツという意味で書いていました。
$DYNAMIC は、TBASICのコンパイラ版の構文だったと思います。Turbo BASIC ではどうだか確認できていません。

> コンパイル可能な処理系でコマンドライン引数を取得できないって、ありえないと
> 思うのですが、これはちょっと私が固定観念にとらわれすぎているかも。

コマンドライン引数を取得する関数はあります。
111 FILE$=COMMAND$

ただ、command(0) のようにコマンドラインのゼロ番目は取得できないようなので。
マニュアルが見つかるまでは色々試してみます。


10971/10933 BQO00549  konno            STIME.EXE 12月28日版
( 1) 23/12/08 02:31 10933:konnoさんへのコメント
STIME.EXE 12月28日版をアップしました。

DOSVAXJ3 の VGAで動くアナログ時計とカレンダのアクセサリです。
NCPATH= でデータファイルの置き場所を指定してください。末尾に "\" が無ければ追加します。

DOSVAXJ3 を起動したら、chev jp でVGAモードにして、STIME.EXE を起動してください。
MS-DOS Player では、chej jp でVGAモードにします。文字のデジタル時計とカレンダのみ表示します。
VTDOS では動作しません。

画像は
http://tamaneko2.cocolog-nifty.com/vz2/


更新履歴

231208	環境変数 NCPATH でデータファイルの置き場所を指定。指定無しならカレント
	春分、秋分の日を自動計算
	デジタル時計とカレンダ大の文字を2バイト文字に。
	[↑↓]キーで前年・次年  [←→]キーで前月・次月のカレンダーを表示

これでカレンダマクロに対抗できるでしょう(笑)

[←→]キーで前月・次月のカレンダーを連続で何年分もやるとエラーになります。
もしかしたらループのつじつまが合っていないのかも。
バグ入りなので、ご使用は自己責任でお願いします。

自作、改作アプリの放置部屋に置いてあります。


春分、秋分の日を自動計算する計算式は ネットから拾いました。

> Excelでこれらの日付を求めるには、以下のようにDATE関数とINT関数を数式に組み合わせます。
 春分の日

=INT(20.8431+0.242194*(年-1980))-INT((年-1980)/4) 

 秋分の日

=INT(23.2488+0.242194*(年-1980))-INT((年-1980)/4)


この式がそのまま使えました。ありがたいです。