エンドレス作業
やる気がないときは一切やらないのに、いったんハマると抜けられないな。
折り返しやEUC関連の修正と変更は、手作業でばかりやっていたわけではない。
数万の文字についてそれが何語だとか記号だとか、変換先がどこだとか、
人間様が手作業で分類してたら気が遠くなるわけで、
既に他人によって分類されたデータを利用しやすいように編集するという作業は、
それ専用にプログラムを書いてやらせたりとかしているわけだ。
プログラムをプログラムに書かせるみたいな感じだ。
書かせるって言ってもデータ部分のみだけどね。
で、自動的に書かせたデータをコピペして利用するわけだが、
Delphi IDEのテキストエディタがスクロール遅くて、
巨大データを選択するのに時間がかかるし、こういう作業ではIDEが良く落ちるので、
真魚でこの作業をやっていたわけだ。
DelphiのコードをDelphiで書くのは、補完やリファクタリングが出来るからであって、
それを必要としない作業では、Delphi以外で作業した方が効率が良くなる。
んで、真魚で編集した後すぐDelphiで再構築しようとすると、
Delphi側はプロジェクトファイルが外部から変更されたことを検知し、
読み直すかどうか見たいな確認をして来たわけね。
真魚にはこの監視機能がないせいで、古い内容での上書きを何度かやってしまった。
これは必須機能っぽいと実感したので、実装する予定だ。
例によって、監視しないって言うオプションは用意しないよ。無駄だ。
内部でFColKeepingと呼ばれている機能について。
方向キーでの上下移動するときの動作なんだが説明が難しい。
1行目は80文字、2行目は0文字、3行目は80文字、っていうテキストで、
キャレットが1行目の80文字にあるとき、↓↓って入力した場合、
メモ帳だと3行目の左端、偽パッドは3行目の80文字目に移動するのね。
真魚はなんの疑いもなく偽パッド型の動作を採用していた。
これを標準ではメモ帳型にし、オプションで偽パッド型に変更出来るようにした。
折り返しの動作確認のためにメモ帳を使っていたら気がついた。
横スクロールバーについて。
メモ帳は、右端で折り返すと横スクロールバーが消え、
折り返さなければスクロールできなくてもスクロールバーが出現する。
右端以外でも折り返せる真魚ではこれと同じ仕様にすることは出来ないので、
スクロールできなくても常に縦横両方のスクロ-ルバーを出してきたわけだが、
縦は常に表示、横は必要なときだけ表示、っていう仕様に変えた。
TEditorだと、スクロールバーを出すか消すか見たいなオプションがあるのだが、
それって、TEditorをテキストエディタ以外に使う際に開発者がいじる物であって、
テキストエディタのダイアログに選択肢を用意するのは変じゃない?
EmEditorにもそういう選択肢があるが存在意義は疑問。
今日はこんな感じで。まだおわんないのかって。