初めて投稿させていただきます。
DelphiのBBSに投稿していいかどうか迷いましたが、Delphiで作成しているのでここにしました。
今、仕事で使う自作のエディタを作成しているのですが、
コード補完機能?(”.”の後に現在の入力候補をリストアップする機能)
をどうやって実現していいか迷っています(といいますかわかりません)。
特別なアルゴリズム等ありましたら、
ご教授ください。
プログラミング初心者で詳しいことがあまりわからないので、
何か足がかりになればと思います。
よろしくお願いします。
<環境>
Windows2000
Delphi6 Personal版
アルゴリズムに、特別と普通の区別はないと思います。
アルゴリズム(=算法)というのは、ある処理を行う定石のようなものですから。
定石に特別はありません。
実現するには、まずエディタの編集機能と、エディタ本文からキーワードを抜き取る機能に分けます。
キーワードを抜き取る機能は、別スレッドで検索するようにし、編集がされたらまた最初から検索するようにします。
編集機能で、たとえばCtrl+Spaceが押されると、キャレット位置に検索したキーワード一覧を表示します。表示してからは、一覧が消えるまで、検索機能ではなく、キーワード入力機能として動作させます。
大まかに説明するとこんな感じです。
ひとまず、スレッドはおいておいて、キーが押されたら一覧が表示され、キーワードを特定して入力する、というのを作ってみてはどうですか?
mwEdit(現在のSynEdit)が、そういう機能を実現しています。
http://synedit.sourceforge.net/
参考にしてください。
# 日本語ではありません。
回答ありがとうございます。
いろいろと開発のキーワードを発見することができました。
糸口が見つかりましたので、試行錯誤してみようと思います。
(自分のレベルアップにも繋がると思うので)
また、行き詰まったら質問させていただこうと思います。
その時はよろしくお願いします。
ツイート | ![]() |