リッチエディットの話(5)(2000/03/19)
アンドゥネタのフォローです。いやー、アンドゥのことを考えないで作ってしまってた俺と違って、アンドゥを重視してちゃんと書くとちゃんと動作しますねぇ
不勉強を思い知ります。
まぁ良いんだけどね、コーディングそのものが趣味なんだから苦労が楽しい……のよ。ホント。
と言うわけで届いたメールのご紹介。すみませんねぇ、一ヶ月ちかくも放置していて……結局はメールの返事自体が書けなかったし……気になってたんですけど時間が取れなくて
またメールしてくださいね〜。
>…今回のメールはSubjectを書きましたよ。
ぎく(汗) いあ〜、勝手にタイトルつけたもんか悩みますしねェ、やっぱ。あはは。助かります。
公開して良いと言う事なんで、さしあたってユニットだけ最後のほうに乗せてありますが……このリッチエディット……凄いなァ。アンドゥとかちゃんと完璧に動作してる……むうう。
俺の場合、どうやって処理を一つにまとめようか、という所で設計しようとする癖があるんですが、やはりガタガタ言わずにありとあらゆる部分に割り込んでいくのもてなんですねぇ。
じっと眺めてるとあれもこれも実装してあって、自作のが途上にも満たない事を思い知らされたりなんかして。Find 関連は頭ン中で考えててますけど。
やっぱ最初にちゃんと構造図くらい書くべきだったかな
頂いたソースコードには大きく影響されました。まぁ好みに走って違う実装にはなってますが、HotMilk の アンドゥバッファは TMemoryStream を直接に継承して表示位置とかの保存とか追加したりなんかして。
一応、多階層アンドゥへの布石でもあるんですが……いつになるんだか
KeyDown のオーバーライドでのアンドゥの記録は……どうしようかな……あちこちに分散すると読みに悔いてのが癖になってまして、このままかなぁ。でも、多分 KeyDown にキーボードマクロを仕組むだろうし、ややこしくなりすぎるかな?
てな事を想いながら今、ある程度デバッグの終わってるメインフォームのエディタ関連部分を読むと案外、あちこちでアンドゥバッファを更新してる……うーむ。やっぱり各処理毎にメソッドを作って……かな。
一度、ユニットを破棄して作りなおすか。HotMilk の正式版 1.00 が完成した後に(笑) じゃないと際限が無くなるしな〜 1年以上やってるモンな〜 実質的な製作時間って 6ヶ月くらいだけど……
改めて必要としているエディタの概要って言うと、
・着色
・検索
・キーボードマクロ → これはアプリ側で実装するか……
・HTML構文に準じた高度な印刷(意味不明)
・ダブルクリックでの選択 → 標準のは不充分。仮設的に単語選択/一行選択は実装した。
・その他色んな機能
・文字の相互変換
平仮名 ←→ カタカナ変換
全角 ←→ 半角
大文字 ←→ 小文字
・多階層アンドゥ
・マルチファイル編集(Like VZ Editor)
・書式補完機能 → Delphi 統合環境の型宣言表示みたいな、タグのオプションの羅列
…完成、いつになんねんな
……
…………
旅に出ます、探さないでください(ぉ
でもって、これが OverQ さんから頂いた拡張リッチエディットのユニット。このままでちゃんと使えます、多階層アンドゥします。リドゥもします……すげーや。
コメント多数、読むだけで拾える経験もあります。ええ感じだ。人のソースコードは読んどくもんだ。