■ 質問はここへ ■

830 にジャンプ
No. 829投稿者: Ywei日付: 2003/04/25 16:43:26
題名 : QGrepの検索結果から得られる文字列に色を付けるには

Ywei です。

QGrepより検索した文字列に色を設定したいのですが、どうやってもうまくいきません。QXの導入(2)−付属ツールを読み、自分でやってみたのですが、色設定の方法がわかりません。
どなたか、わかりやすくご説明下さいますようお願いします

OS: Windows ME
QX Editor のVersion 6.7
QGrep は正常に働きます。

No. 830 (829へのコメント)投稿者: かぶねこ HP日付: 2003/04/25 20:28:20
題名 : Re:QGrepの検索結果から得られる文字列に色を付けるには

「QX の導入 (2)」というのは、うちの「まにあわせ主義」解説のことでしょう
か。あそこでは QGrep で検索した文字列に色をつける方法は書いてありません。
それは単純に実現する方法がないからです。

文字列に色をつけるには「キーワード」による強調表示を使います。キーワード
ファイルに検索文字列を追加して、その後、キーワードファイルの「リセット」
を共通設定から実行すると、その文字列が色分けされます。これをマクロで便利
にすることも可能かと思います。

QGrep は「終了すると同時に」自分の INI ファイルに検索文字列の履歴を書込
みますので、そのデータを取ってきて KEYWORD ファイルに追加して……、とや
るといちおう強調できます。でも「終了後」というのがちょっとめんどくさいで
すね。プログラマのかたなら現在実行中の QGrep から取得できるかも。

proc main
dim s$, fnum, file$
'専用キーワードファイルのファイル名指定
const keyfile$ = "grepword.txt"
file$ = @@QXDirectory$ + "\" + keyfile$
s$ = getprofile$("search", "string0", @@QXDirectory$+"\QGREP.INI")
fnum = freefile()
open file$ for output as #fnum
print #fnum, s$
close #fnum
' @@KeywordReset 5 '番号がわかっているなら下の 4 行を消してこちら
dim i
for i = 1 to 5
@@KeywordReset i
next
end proc

こんなマクロを使うわけですが、キーワードファイルが QX 上での設定と連動し
てないといけないわけで、共通設定のキーワードファイルに、上のマクロ内で使
っているファイル名なら grepword.txt というファイルを指定しておき、また、
QGREP 処理後に開くすべてのファイルの書式で、このキーワードファイルがオン
になっている必要があります。

上のマクロですと、常に臨時に追加されるキーワードのランクは1になります。

No. 831 (830へのコメント)投稿者: Ywei日付: 2003/04/26 17:58:38
題名 : Re^2:QGrepの検索結果から得られる文字列に色を付けるには

>「QX の導入 (2)」というのは、うちの「まにあわせ主義」解説のことでしょう
>か。あそこでは QGrep で検索した文字列に色をつける方法は書いてありません。
>それは単純に実現する方法がないからです。
>
>文字列に色をつけるには「キーワード」による強調表示を使います。キーワード
>ファイルに検索文字列を追加して、その後、キーワードファイルの「リセット」
>を共通設定から実行すると、その文字列が色分けされます。これをマクロで便利
>にすることも可能かと思います。
>
>QGrep は「終了すると同時に」自分の INI ファイルに検索文字列の履歴を書込
>みますので、そのデータを取ってきて KEYWORD ファイルに追加して……、とや
>るといちおう強調できます。でも「終了後」というのがちょっとめんどくさいで
>すね。プログラマのかたなら現在実行中の QGrep から取得できるかも。
>
>proc main
> dim s$, fnum, file$
> '専用キーワードファイルのファイル名指定
> const keyfile$ = "grepword.txt"
> file$ = @@QXDirectory$ + "\" + keyfile$
> s$ = getprofile$("search", "string0", @@QXDirectory$+"\QGREP.INI")
> fnum = freefile()
> open file$ for output as #fnum
> print #fnum, s$
> close #fnum
>' @@KeywordReset 5 '番号がわかっているなら下の 4 行を消してこちら
> dim i
> for i = 1 to 5
> @@KeywordReset i
> next
>end proc
>
>こんなマクロを使うわけですが、キーワードファイルが QX 上での設定と連動し
>てないといけないわけで、共通設定のキーワードファイルに、上のマクロ内で使
>っているファイル名なら grepword.txt というファイルを指定しておき、また、
>QGREP 処理後に開くすべてのファイルの書式で、このキーワードファイルがオン
>になっている必要があります。
>
>上のマクロですと、常に臨時に追加されるキーワードのランクは1になります。

かぶねこ 様
マクロと丁寧なご返事、有難うございました。


ヘッダのみ表示
順番に表示(No. 830 から)


メールアドレスを表示するにはURLの後ろに &m=b2258a7e をつけてください。
ユーザー フォーラム一覧

http://www2k.biglobe.ne.jp/~araken/
http://0ban.com/araken/