多檔搜尋指令問題

HyperEditor Q&A/技術交流
主題已鎖定
wrh7215
一般會員
文章: 19
註冊時間: 1日 1月 1970年, 08:33

多檔搜尋指令問題

文章 wrh7215 »

大家好,我使用漢書2000 V7.084版,已經執行過更新程式。
我常需要使用多檔搜尋字串的功能,之前都用ctrl-F叫出對話框,後來嫌勾選那些選項麻煩,於是寫了巨集,把要搜尋的字串Block Mark起來,然後執行指令,主要內容如下:
判斷有%Mark時,
l/%MarkText/*ARE "<*.m" ;;從頭開始搜尋,分辨大小寫,結果放入.SEARCH,搜尋所有.m檔案。

結果沒用,都只能做單檔搜尋(Block所在的那個檔案),我試過*ARE之間和雙引號"之間不要空格,或是在<後面加一個空格,結果都一樣。但是Ctrl-F明明可以執行,不解。

煩請各位指點迷津,感謝。
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

只要用 l/%MarkText/<*.m 就好了。
因為這裡面已經等於下了 *RE 的選項。
wrh7215
一般會員
文章: 19
註冊時間: 1日 1月 1970年, 08:33

多檔搜尋指令問題,修正結果

文章 wrh7215 »

呵呵,可以用了,真幸福,謝謝。
不過測試發現多檔搜尋無法區分大小寫,是指令不對還是漢書的限制?

完整指令如下:
===========================================
;;搜尋快速鍵,自動搜尋區塊內容,c-i搜尋block所在檔案,c-j搜尋該資料夾下*.m*檔案
;;相當於c-f的簡潔版
def c-i=[exist .SEARCH][if %InMemory][quit .SEARCH][end] ;;先檢查.SEARCH是否已被載入,若在,移除。若不移除,搜尋結果會有點問題。
[if %Mark && %MarkType == "BLOCKMARK"] ;;若存在區塊類型,則開始搜尋區塊內容。
[begin mark][cursor command][l/%MarkText/*ARE] ;;游標先移到mark開頭(保證搜尋該檔),從頭(A),分辨大小寫(E),搜尋結果放到.SEARCH
[else] [message 無區塊內容可供搜尋]
[end]
[if %Found][e .SEARCH][end] ;;有找到,開啟.SEARCH

def c-j=[exist .SEARCH][if %InMemory][quit .SEARCH][end] ;;先檢查.SEARCH是否已被載入,若在,移除。若不移除,搜尋結果會有點問題。
[if %Mark && %MarkType == "BLOCKMARK"]
[cursor command][l/%MarkText/<*.m*] ;;多檔搜尋,不需給*ARE,搜尋副檔名為m開頭的檔案
[else] [message 無區塊內容可供搜尋] ;;若存在區塊類型,則開始搜尋區塊內容,
[end]
[if %Found][e .SEARCH][end] ;;有找到,開啟.SEARCH
===========================================


我從DOS時代就開始用PE2,很難想像如果沒有漢書這種[活的]文字編輯程式,我得花多少時間去適應那些[死的]文書編輯軟體。謝謝漢書。
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

感謝您這麼長期的支持漢書!
日後要是有新版本,還需要像您這樣的資深使用者提供建議呢!
(過一段時間,我們會有新版本,正開發中)

目前的 < *.m 的確不能再接 E 參數,所以會大小寫不分,有時的確不方便,我會在小改版時改進這點。
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

感謝您這麼長期的支持漢書!
日後要是有新版本,還需要像您這樣的資深使用者提供建議呢!
(過一段時間,我們會有新版本,正開發中)

目前的 < *.m 的確不能再接 E 參數,所以會大小寫不分,有時的確不方便,我會在小改版時改進這點。
symis
一般會員
文章: 17
註冊時間: 1日 1月 1970年, 08:33

文章 symis »

Visual Foxpro的表單檔: .scx, sct均非文字檔
漢書竟能從中找字串,不知是何原理?
另:建議漢書能記憶:多檔搜尋的路徑,不必每次進漢書要找檔案的文字時,都要打一長串的搜尋路徑
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

謝謝建議!
下次修改我會放進去。

另,多檔搜尋時,我是整個檔喀起來放記憶體中尋找。
只要字串是完整的,就會找到。
chc
進階會員
文章: 35
註冊時間: 1日 1月 1970年, 08:33

文章 chc »

我有遇到過的問題
就是使用多檔搜尋
不管有沒有找到
用if %Found卻都是成立
搞不懂為什麼不過也沒關係
反正還是有辦法達到目標就是了
不知道有沒有人也遇過呢?
mason
Site Admin
文章: 373
註冊時間: 29日 4月 2003年, 09:57

文章 mason »

我倒是沒遇到,但是你可以用 [if %Count==0] 來表示沒找到。
主題已鎖定