アーカイブ

2026年 11月 10日 のアーカイブ

Delphiで書いたテキストエディタをC#に移植する作業を楽しんでいる。
99%くらいGeminiに翻訳させている。
だんだんクセを掴み、上手く指令を出せるようになってきた。
当初は、同じ目的を果たせたら別のやり方でも良いんじゃないかと、あたしも思ってた。
ところが、真魚の原本を確認せずにGeminiが書いたコードは全部失敗する。
真魚は長年の様々な失敗に対する対策を盛り込んで複雑化している。
結果だけをシンプルに書いたら失敗だらけに決まっている。
だからとにかく原本を確認しろと徹底した。
カスタム指示で、Geminiの仕事は創作じゃなくて翻訳だと書いておいた。
ここからだいぶ調子がいい。
なるべく真魚のそのままを移植している。
が、真魚のダメなところは移植したくないわけだ。
古い真魚より新しいGeminiの提案に乗る方が良い場合もあったりはする。
また「迷ったらメモ帳に倣う」も重要で、メモ帳ならどうしてるかで決めたりもする。
まぁとにかく今は、真魚から魚廻への一方通行で、真魚を修正してはいない。
魚廻への機能移植中に真魚のおかしいところを見つけても、とりあえず棚上げにしている。
真魚の完全代替がなされれば、もう真魚を更新しないと思うし。

とは言えちょっとメモっておいた。
まず印刷を真魚からダイアログボックスごと移植したが、動いてない部分があった。
何ページから何ページまで印刷ってところがおかしい。
1ページから2ページまでなら良いんだけど、2ページから1ページまでって逆転出来ちゃう。
開始が終了を超えないよう、終了が開始を超えないよう、そういう手順が真魚では抜けてた。
なおかつ、たぶん印刷にはページ指定出来てもプレビューでは印刷指定できてないっぽい。
あと、魚廻ではカラー印刷で背景の壁紙まで印刷出来るので、そこは真魚を超えてる。
この辺の修正を真魚に反映させるかどうかはわからん。
やるとしても魚廻の後、しかもやるのは手作業じゃなくGeminiに任せる。

それから「同じ文字コードで開き直す」が出来ていない。
文字コード自動判別で開き直すになっている。
これはどちらも必要だと判断し、魚廻はどちらも実装した。
これも真魚にフィードバックすべきだし、そもそも書いてある動作をしてないからバグだ。
でも今のところ直そうとしてなくて、魚廻が優先だ。

細かいところだが「貼り付け」がグレーアウトする条件が間違ってた。
真魚はクリップボードに何かあれば貼り付けは黒字で書かれる。
けど実際はクリップボードにテキストが入ってる場合しか、貼り付けは出来ない。
だから魚廻では、クリップボードにテキストが入ってなければグレーアウトにした。
メチャクチャ細かいが。

これらは直すべき所だから書いてるが、他にも魚廻で真魚と異なる動作にしたところはいっぱい。
そうそう、「ファイルの場所を開く」でファイルを選択した状態で開くようになった。
Visual Studioがそうやってたから、そうやりたいって言ったらGeminiがすぐ答えを出した。
あちこち真魚より良くしつつ移植している。
けど基本は翻訳で、創作はダメだよってカスタム指示に書いたからな。
そしたらどんどんソースを求められ、ソースを出してから翻訳してもらってる。
でももちろん一括翻訳は出来ないので、各機能ごとの翻訳になってしまって時間がかかってる。

まだこの文章も真魚で書いている。
翻訳させるためのGrepも真魚で行ってて、すげー便利。
真魚のソースは真魚で探し、魚廻のソースはIDEで探してってやってる。
まだそれらを魚廻にやらせるには早い。
っていうくらい、なかなか移植は進んでない。