ViVi SPR System build 0025 project:
Mail: Pass:
[ 新規アカウント作成 | パスワード忘れ ]
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:2.10.106 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]
[ 前のSPR | 次のSPR ]
SPR#0315 0 point voted
状態:Close結果:対処優先度:C重要度:E
報告日:09/08/19build:2.10.019OS:WinXPby:suga
概要:Grep実行結果をスクリプトから利用できない
詳細:現時点、スクリプトからGrep実行結果を利用できないので、利用できるようにしてほしい。

以前、Grep実行結果がConsoleに出ていた頃は、console 組み込みオブジェクトで Grep実行結果を利用できていたが、Grep実行結果の出力先が変わってからは利用する方法がなくなった。
添付画像:
point:10対処日:09/08/20build:2.10.024close日:09/09/03
#1 つだ (09/08/19 13:06:06)
登録ありがとうございます。
んで、どのようなインタフェースを追加するとよいでしょうか?
案としては openDcument(path) を拡張し、path に "Grep" + 数字 を指定した場合は、grep 結果ビューを開く、
というのを考えています。
そうすれば、返ってきたドキュメントオブジェクトを使って、各行の内容を参照できます。
ただ最新の grep 結果ビュー番号がいくつか分からないと困るので、lastGrepTitle() が最新 Grep結果ビュータイトルを返す
というのでどうでしょうか?

使用例:
var grepDoc = openDocument(lastGrepTitle());
for(var ln = 1; ln <= grepDoc.getLineCount(); ++ln) {
    var text = grepDoc.getLineString(ln);
    ....
}
#2 suga (09/08/19 16:30:46)
この案、良いと思います。
見つからないときはnullが返るか、あるいは新規にDocumentを作るか、どちらでしょうか。
現状は新規に作る機能がないはずで、存在しない場合の判定は欲しいので前者で良いかとは思いますが、この点特に希望はありません。

ちなみにconsoleはOutput1とかになりましたけど、これも2,3と変わっていくのでしょうか。
#3 つだ (09/08/19 22:26:59)
本件は要望ではなく問題報告という位置づけですので、概要を修正しておきました。
#4 つだ (09/08/20 09:04:23)
2.10.024 (既にリリース済みです)で対処してみました。
どうでしょうか?
ご確認のほど、よろしくおねがいします。
#5 suga (09/08/20 17:52:57)
Grep結果ビューは参照できました。ありがとうございます。

ただ、console.getLineString(i) では改行文字まで含まれるのに対し、grepDoc.getLineString(i) では改行文字が含まれません。これはどちらかに統一した方がわかりやすいと思います。
なおどちらもタイトルバー上の表示では (SJIS CRLF) となっています。
末尾の文字を取り除くための substring で改行文字を数えて length() -3 としていたところで動作が変わって気づきました。
#6 つだ (09/08/20 18:22:13)
>>5
早速のご確認ありがとうございます。
これまでにあわせて改行も含むように修正します。
(管理の都合上別SPR登録します)
#できましたら、このような場合は別SPRを登録していただけると助かります。
#7 suga (09/08/21 09:14:53)
リリース済みになっているので別SPR、ということですね。了解しました。
[ 新規SPR | SPR一覧 | コメント一覧 | statistics | 最新ビルド:2.10.106 | crash履歴 | SPR DB 一覧 | ユーザ一覧 | 使い方 | レポートの書き方 ] [ ViVi Home ]
一覧表示: [ New | Pend | Open | Reopen | Fixed | NPTF | 問題優先順 | 問題vote順 | 優先順 | vote順 | 重要度順 | Ref,ToDo | Help不備 | 対処順 ]


優先度:重要度(Severity):
 A:最優先で対処  A:通常操作でのクラッシュ・無限ループ
 B:必ず対処  B:特殊な条件、環境でのクラッシュ・無限ループ、非常に重要な動作不良
 C:原則対処  C:機能が動作しないなどの普通の動作不良
 D:簡単であれば対処 D:些細な動作不良で、簡単な代替手段があるもの
 E:NPTF候補 E:ミススペルや誤った文章など、機能そのものの動作に影響を与えない、さほど重要ではないもの
  H:ヘルプの不備
  M:メモリリーク
  P:パフォーマンス問題
  R:リファクタリング
  T:機能強化要望(Enhancement)、ToDo
  X:XT(eXtreme Toolkit)に由来する問題