フォーラムの返信を作成しました。

101 件の投稿を表示中 (合計 146 個)
  • 作成者
    投稿
  • Delフサ
    参加者

    お返事ありがとうございます。
    ボタンプルダウンポップアップでのマイマクロ実行の検討、うれしいです。

    あと、プラグインもその手のプルダウンでの動作の機能が作れたらうれしいです。

    私のプラグインでは、同種の機能をメニュー表示して選択実行するようなものばかりです。
    多数の機能を同じ一つのプラグインでもてるところ、
    処理の共通化の面でも開発は楽だし、設定不要で多数の機能を追加できるメリットがあって気に入っているのですが

    1つのプラグインの各機能ごとにショートカットキーを割り当てることができません。
    その理由で、プラグインの実行含めたキーマクロの記録再生動作に対応できないのが以前からずっと難点に思っています。

    このあたりも
    1つのプラグイン内に、OnCommandの呼出口が複数追加できるような、つまり OnCommand(Index) で指定できるような仕組みがあったらいいのになと、思っております。

    ※プラグイン作る人は数名だと思いますのでユーザーニーズはないかもしれませんが、より高い拡張性があったらうれしいです。

    また、
    v11(32bit ポータブル版)に更新しましたが
    ユーザーメニュー内に登録しているマイマクロがグレーアウトする症状は同じです。

    選択範囲の状態とは関係のないマクロなのでそこは影響ないと思います。
    ユーザーメニュー内に、マイマクロ以外のコマンドを入れるとグレーではなく黒表示で実行できますが、マイマクロはだめですね。

    ユーザーメニュー1のデフォルトにある『コメントを挿入』も
    選択範囲ありなしに関係なく、グレー文字表示されます。

    よろしくおねがいします。

    返信先: $9以上のプレイスホルダー #10805
    Delフサ
    参加者

    了解しました。

    返信先: VB.NETのアウトライン設定の正規表現 #10787
    Delフサ
    参加者

    自己レスです。

    試行錯誤して次のように作りました。
    これで結構うまくいきそうです。

    タイプ カスタム
    カスタムバー最大レベル 2
    一致した文字列置換 ON
    1: #Region
    正規表現OFF
    2:
    (^|.*s+)([Ff]unction|[Ss]ub|[Cc]lass|[Ee]num)s+((.*)(.*$|(.*$))
    正規表現ON $4$5

    コメントを縮小可能にする ON

    Delフサ
    参加者

    私も同じように思います。

    リッチテキストはいらないのですが、画像はメモと一緒に取り込みたいところです。

    今はBeckyのメールを自分あてにしてメモとして活用しています。

    一太郎とかが、外部エディタ対応してくれたりしないかなと思いますが、難しいでしょうね。

    Delフサ
    参加者

    次のプラグインを作っています。
    目的にあったら使ってください。

    EmEditor Plugin WordWrap.dll Readme
    http://delfusa.main.jp/delfusafloor/download/wordwrap/readme.html

    EmEditor Plugin QuoteControl.dll Readme
    http://delfusa.main.jp/delfusafloor/download/quotecontrol/readme.html

    EmEditor Plugin InsertQuote.dll Readme
    http://delfusa.main.jp/delfusafloor/download/insertquote/readme.html

    Delフサ
    参加者

    そうですか。

    複数行コメントと行コメントとは仕組みが違う感じなのですね。

    行コメントも「開始」と「終了」で成り立っていて
    終了が改行コードになる、という扱いなら

    複数行も単一行も同じ処理でコメントフラグに対応できると思いますが、既存のデータ構造と違うということでしたら大変そうですね。

    検討していただき、実装していただけたらうれしいです。
    よろしくおねがいします。

    返信先: 置換ダイアログの履歴を任意で残す #10496
    Delフサ
    参加者

    動いてよかったです。

    諸事情で
    DLLのサイズが800KBとプラグインにしては大きくなりすぎてしまったので、もう少しサイズ減らしてから自分のページで正式リリースしてみます。

    私はDelphiって言語を使っています。
    EmEditor本体や他のプラグインはC++言語で作られることが多いですね。
    C++だと、if(){} else {} こんな感じでしょうね。

    一度、プラグインの動作する開発環境を作ってしまえば
    私にはマクロより作りやすいので機能拡張は全部プラグインでやっています。

    使っていただいて何よりです。

    もう少ししたらDelphiXE2という64bit版がリリースされるらしいので、64bit対応のプラグインも用意していけそうですが、開発環境のバージョンアップ費用がちょっと気が重いところです。

    誰かのウチでコンパイルだけさせてもらったりとか、そういうのじゃいけないもんなのですかね。

    返信先: 置換ダイアログの履歴を任意で残す #10490
    Delフサ
    参加者

    暫定的においてみました。
    http://delfusa.main.jp/temp/ReplaceText.zip

    たぶん、これで大丈夫だと思うのですが、どうでしょうか。
    試してみてください。

    行頭文字指定は動きました。

    単語単位指定や、大文字小文字対応も動くと思うんですが…

    以下、
    開発者にしか分からないですが、ソースはこんな感じ。
    コンパイラをD2007からDelphiXEに変更したのですが、ちゃんと動いているみたい。

    メイン抜粋
       EmReplaceFlag :=
        FLAG_FIND_REG_EXP or

        FLAG_REPLACE_SEL_ONLY or
        FLAG_REPLACE_ALL or
        FLAG_FIND_NO_PROMPT or
        FLAG_FIND_CLOSE;

       if ReplaceFlagWord then {←単語単位指定}
       begin
        EmReplaceFlag := EmReplaceFlag or FLAG_FIND_ONLY_WORD;
       end;
       if ReplaceFlagCaseCompare = ccCaseSensitive then {←大小文字区別指定}
       begin
        EmReplaceFlag := EmReplaceFlag or FLAG_FIND_CASE;
       end;

       for i := 0 to Length(OldPatterns)-1 do
       begin
        Editor_ReplaceW_Delphi(hwnd,
         OldPatterns, NewPatterns, EmReplaceFlag);
       end;
       Editor_ExecCommand(hwnd, EEID_ERASE_FIND_HILITE);

    関数部分
    procedure Editor_ReplaceW_Delphi(hwnd: HWND;
    const OldPattern, NewPattern: WideString;
    nFlags: Longword = FLAG_REPLACE_ALL+FLAG_REPLACE_SEL_ONLY);
    var
     WideStr: WideString;
    begin
     WideStr := OldPattern + #0 + NewPattern + #0;

     Editor_ReplaceW(hwnd, nFlags,
             PWideChar(WideStr));
     {↓検索強調文字の解除}
    // Editor_ExecCommand(hwnd,EEID_ERASE_FIND_HILITE);
    end;

    返信先: 置換ダイアログの履歴を任意で残す #10488
    Delフサ
    参加者

    こんにちは。

    私がプラグインの作者なので、よく使用しているのですが
    正規表現オプションはあまり使ってないです。

    どういう用途で正規表現を使うのでしょうか…
    使用例を教えて欲しいです。

    正規表現にはTRegExpというライブラリを使っていましたが、その部品の作者が行方不明になってしまっているようです。
    調べたところ、日本語ヘルプによると次のように書かれていました。

    http://delwiki.info/?%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%2FTRegExpr%2F%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%83%98%E3%83%AB%E3%83%97%2FSyntax%20of%20Regular%20Expressions

    >デフォルトでは “^” は入力文字列 / テキスト中の先頭に、”$” は終端にマッチすることのみ保証されます。間にあるラインセパレータ (改行) は “^”, “$” にマッチしません。
    >しかし入力した文字列を複数行のバッファとして扱いたい場合、つまり “^” をあらゆる改行の直後にマッチさせ、 “$” を改行の直前にマッチさせたいことがあります。モディファイヤ /m をオンにするとそのように動作します。

    ということのようで
    プラグイン側でモディファイヤ/mというのをONにする必要があるようです
    可能なら、近いうちにプラグインを改造してみます。

    改造前の対策として、
    正規表現行頭置き換え[TAB]^⇒//[TAB]rn⇒rn//[TAB]/r

    このように設定していただくのはいかがでしょうか?
    動作としては、お望みのものになります。

    もしくは、行頭挿入でしたら
    http://delfusa.main.jp/delfusafloor2/download/download_f.html
    の、InsertQuoteプラグインを使っていただくほうが使い勝手がよいと思います。

    また、改造する場合
    他の部品に乗せ変えたり
    EmEditor標準の正規表現文字列置き換え機能を利用した機能になるかもしれません。

    よろしくです。

    返信先: 置換ダイアログの履歴を任意で残す #10480
    Delフサ
    参加者

    EmEditor Plugin ReplaceText.dll Readme
    http://delfusa.main.jp/delfusafloor/download/replacetext/readme.html

    私自身は重宝しています。
    正規表現も使えます。

    Delフサ
    参加者

    うちのプラグインを使っていただくのも
    ひとつの解決策に思えます。
    よろしくです。

    EmEditor Plugin OpenFavoriteFile.dll Readme
    http://delfusa.main.jp/delfusafloor2/download/openfavoritefile/readme.html

    Delフサ
    参加者

    気が付きませんでした。

    「タイトル」を選択するとすごく使いやすいです。

    ありがとうございます。

    Delフサ
    参加者

    私のところでもtokさんと同じ動きをします。

    Win XP
    EmEditor10.0.5です

    Delフサ
    参加者

    HKEY_CLASSES_ROOTTypeLib の下で、EEMacro を含む値は
    regeditで検索しましたがみつかりませんでした。

    Delフサ
    参加者

    あ。
    バグの原因がわかりました。

    「新しいマクロを保存または選択時、マイマクロに追加する」
    のチェックボックスをONにしていると
    勝手に相対アドレス指定になり誤動作するようです。

    OFFにして使います。

    Delフサ
    参加者

    やはり発生しています。
    環境はWindows Vista Home Basic SP2 32bitです。

    Portable版でマクロが動かなかったので
    他の場所にインストール版をインストールして
    Portable版でマクロが動くことを確認していました。

    その後、インストール版をアンインストールすると
    やはりPortable版でマクロが動きません。

    documentオブジェクトでもeditorオブジェクトでも発生します。

    jseeでも次のエラーが発生します。
    少しメッセージが違いますね。

    ‘document’ は宣言されていません。
    ファイル:・・・test.vbs
    行:1
        編集/キャンセル

    よろしくです。

    Delフサ
    参加者

    お返事ありがとうございます。
    なるほど、リソースを小さくですか。

    機能がほしい人には、インストーラひとつで、この3ボタンを追加できたりすると便利だと思いました。

    #iconには、exeとdllとicoファイルも指定できるのですね。
    HELPにはアイコンファイルとだけ記述されていました
    拡張子、exe,dll,icoなども書いておくとよいのではないでしょうか。

    では、失礼します。

    返信先: Window Blinds #10191
    Delフサ
    参加者

    こんにちは。

    間違っていたので訂正します。
    上記設定も関連するようですがもう少しよい設定は

    WindowBlindsの
    [基本設定][透明度&ぼかし]
    [メニューを変更する][透明度0%]に設定する

    こうすると、問題が解決しました。

    いろいろすいません。

    返信先: Window Blinds #10167
    Delフサ
    参加者

    今更なのですが、解決しました。

    WindowBlindsの
    [詳細設定][拡張ユーザ設定]
    [メニューにスキンを適用する時、VistaUIガイドラインにWindowBlindsを使用する]

    のチェックボックスをOFFにすると改善されました。

    チェック項目が多すぎて気がつけませんでした。
    いま、やっと気がつきました。

    ご報告です。

    返信先: ラインで作図 #10051
    Delフサ
    参加者

    http://www.geocities.co.jp/SiliconValley-PaloAlto/9141/soft/index.html
    こちらの、
    MnzkLineDrawを使用するとよいのではないでしょうか。

    返信先: 行単位の並べ替え #9941
    Delフサ
    参加者

    激しく遅くなりましたが、実装しました。

    http://delfusa.main.jp/delfusafloor/download/download_f.html
    SortLineControlプラグインです。

    よろしくお願いします。

    Delフサ
    参加者

    江村さん、geccaさん

    こんばんは、

    AAAとBBBの行を検索する場合に

    ^QAAAE$|^QBBBE$|

    このような正規表現を指定することでうまくいっています。
    ありがとうございました。

    OpenFavoriteFileは、自分でも特によく使い便利です。
    複数ファイルの同時起動なんかにも対応していきたいですね。

    プラグインを作れるプラットホームが存在していて
    とても助かっています。

    自分のプラグインへの要望が書かれているのに、気がつかず2年か3年後に気がつくという事になってしまいましたが、プラグイン開発、がんばってみます。

    ではでは失礼します。

    Delフサ
    参加者

    いや、質問は、geccaさんというより、私ですよ。

    今回の件では
    QAAAE|QBBBE
    という文字列を正規表現として検索に与えると
    複数文字の検索ができそうですね。

    行に正規表現が含まれていてもこれで大丈夫のようですね。

    とても助かりました。

    ヘルプの「リテラル」という単語の意味がいまいち自然な感じではなさそうなきがしましたが、動作は理解できました。

    これでプラグインを作れます。

    もうすぐここで公開しておきます。
    http://delfusa.main.jp/delfusafloor/download/download_f.html

    ありがとうございました。

    Delフサ
    参加者

    江村さん、了解しました。
    ありがとうございます。

    geccaさん、するどいご指摘ありがとうございます。

    私もそう考えていたのですが
    正規表現自体をほとんど使わないので、
    やりかたがよくわかりません。

    正規表現フォーラムで聞くべきかもしれませんが話の続きと言うことで聞いてみます。

    メタキャラクタをエスケープすればいいんですよね。

    処理としては
    文字A→エスケープ文字A
    「エスケープ文字A|エスケープ文字B」を正規表現検索する
    とすればよいと思っています。

    これは江村さんにお聞きしたいところなのですが
    下記のページに紹介されている文字を、単純にエスケープするために置換してからパイプで連結すればいいのかな?

    正規表現のサンプル集を検索と置換に分けて説明つきで詳しく紹介します。~ お勉強編 ~
    http://hodade.adam.ne.jp/seiki/page.php?study_escape
    正規表現サンプル(エスケープが必要な文字)

    このページで紹介されている記号の中で
    「-」ハイフン、だけは、エスケープする必要がなさそうです。

    正規表現のメタキャラクタはたくさんありすぎる気がしているので、どれをエスケープすればいいのか、いまいちよくわからないところです。

    ご存じでしたら教えてください。

    Rubyという言語でしたら、正規表現ライブラリにescapeという機能があるそうですが、仕様は調べ切れていません。

    Delphiの正規表現ライブラリでescepe機能があるものなのどはわからないので、自作しようと思っています。

    Delフサ
    参加者

    ありがとうございます。

    お待ちしておきます。

101 件の投稿を表示中 (合計 146 個)