|
VFP 愛用者社區 本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
|
上一篇主題 :: 下一篇主題 |
發表人 |
內容 |
CPS0204
註冊時間: 2014-08-24 文章: 455
第 1 樓
|
發表於: 星期五 八月 31, 2018 11:22 am 文章主題: 請問在VFP9 中,可有方法快速查詢所有專案內的FORM,的某些字元 |
|
|
例: 有用到涵數 my_chk()
我想有無方法可快速查所有的 form當中的所有字元 MY_CHK 的就列出 (不分大小寫)
此form名稱
THANKS |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 2 樓
|
發表於: 星期五 八月 31, 2018 4:43 pm 文章主題: |
|
|
代碼: |
USE 專案.PJX ALIAS MYPROJECT IN 0
SELECT MYPROJECT
SCAN FROM TYPE = 'K'
USE &MYPROJECT.KEY ALIAS MYFORM IN 0
SELECT OBJNAME FROM MYFORM INTO CURSOR MYCURSOR ;
WHERE UPPER(PROPERTIES+METHOD) LIKE '%MY_CHK%'
SELECT MYCURSOR
IF !EOF()
? MYPROJECT.KEY+'有字串'
ENDIF
USE IN MYCURSOR
USE IN MYFORM
ENDSCAN
USE IN MYPROJECT
|
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 3 樓
|
發表於: 星期五 八月 31, 2018 10:19 pm 文章主題: |
|
|
謝謝! 方便多了 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 4 樓
|
發表於: 星期六 九月 01, 2018 5:25 pm 文章主題: |
|
|
我通常用 ULTRAEDIT 的多檔案搜尋 _________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 5 樓
|
|
回頂端 |
|
|
ezpos
註冊時間: 2011-04-20 文章: 323
第 6 樓
|
|
回頂端 |
|
|
朱育興
註冊時間: 2003-08-25 文章: 661 來自: 台中市大里區
第 7 樓
|
發表於: 星期一 九月 03, 2018 3:51 pm 文章主題: |
|
|
管你 FORM、REPORT ...,不都是檔案嗎?用記事本開啟也可以啊,因為只是要找特定字串,又不是要編輯它們,記事本太簡陋了,所以都會用自己慣用的文字編輯器做事:可以搜尋子資料夾下的檔案,查詢字串也可用正規正則式搜尋特定格式的字串等等,都看個人使用習慣 _________________ 希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ |
|
回頂端 |
|
|
garfield Site Admin
註冊時間: 2003-01-30 文章: 2158
第 8 樓
|
發表於: 星期一 九月 03, 2018 5:16 pm 文章主題: |
|
|
LKK 都用dos 指令, 還可以結果轉到文字檔 findlist.txt
find "你要找的字串" * >findlist.txt _________________ 利用>>搜尋<<的功能會比問的還要快得到答案. |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 9 樓
|
發表於: 星期一 九月 03, 2018 6:09 pm 文章主題: |
|
|
garfield 寫到: | LKK 都用dos 指令, 還可以結果轉到文字檔 findlist.txt
find "你要找的字串" * >findlist.txt |
dos 的 find 也很好用,又快,謝謝 |
|
回頂端 |
|
|
syntech
註冊時間: 2003-05-16 文章: 4227 來自: Taipei,Taiwan
第 10 樓
|
發表於: 星期一 九月 03, 2018 10:06 pm 文章主題: |
|
|
ezpos 寫到: | ULTRAEDIT/EmEditor 可用在foxpro??
form內容搜尋??? |
偏要用 FOXPRO 做文件搜尋才是最奇怪的.
_________________ 如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問
請聯絡我們,也許我們幫得上忙 |
|
回頂端 |
|
|
CPS0204
註冊時間: 2014-08-24 文章: 455
第 11 樓
|
發表於: 星期四 十一月 29, 2018 11:40 am 文章主題: |
|
|
vfoxpro9 在tools->code refrence ->look up refrence
即可查詢所有的字元 |
|
回頂端 |
|
|
chilin
註冊時間: 2003-10-01 文章: 79 來自: Taipei,Taiwan
第 12 樓
|
發表於: 星期二 十二月 04, 2018 1:30 pm 文章主題: |
|
|
方法一:
1.將路徑切換到 FORM 與 REPORT 的資料夾下(通常是專案的目錄)
2.MODI COMM SEARCH_STR.PRG
3.將底下程式碼複製到 SEARCH_STR.PRG
4.修改程式碼中 =SEARCH_STR([*],[MY_CHK])
5.存檔
6.DO SEARCH_STR.PRG
代碼: |
CLEAR
CLEAR ALL
CLOSE DATABASES ALL
CLEAR PROGRAM
SET EXCLUSIVE OFF
DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, ;
STRING cAction, ;
STRING cFileName, ;
STRING cParams, ;
STRING cDir, ;
INTEGER nShowWin
=SEARCH_STR([*],[想搜尋的字串])
CLEAR ALL
CLOSE DATABASES ALL
********************************
*從所有的FORM及REPORT搜尋字串
FUNCTION SEARCH_STR(F_SOURCE,F_STR)
********************************
PRIVATE CRLF,LOGFILE
CRLF=CHR(13)+CHR(10)
LOGFILE=SYS(5)+SYS(2003)+[\_SEARCH.TXT]
ERASE(LOGFILE)
=PROC_MS(F_SOURCE+[.SCX],F_STR)
=PROC_MS1(F_SOURCE+[.FRX],F_STR) &&1000822C
WAIT WINDOW [*** 搜尋完成 ***]
IF FILE(LOGFILE)
ShellExecute(0,"open",LOGFILE,"","",1)
ENDIF
RETURN
ENDFUNC
********************
FUNCTION PROC_MS
********************
PARAMETERS P_STRING,P_KEY
PRIVATE I,A
WAIT WINDOW [表單搜尋中...] NOWAIT NOCLEAR
CREATE CURSOR T1 (FNAME C(20))
INDEX ON FNAME TAG FNAME
A=ADIR(AA,P_STRING)
FOR I=1 TO A
APPEND BLANK
REPLACE FNAME WITH ALLTRIM(AA[I,1])
ENDFOR
SCAN
SELECT 0
USE (ALLTRIM(T1.FNAME)) ALIAS T2
SCAN
IF UPPER(P_KEY)$UPPER(METHODS) OR UPPER(P_KEY)$UPPER(PROPERTIES) &&971225C
?' '+T1.FNAME
IF NOT FILE(LOGFILE)
STRTOFILE("查詢條件 ["+P_STRING+"] ["+P_KEY+"]"+CRLF,LOGFILE,1)
STRTOFILE([***FORM***]+CRLF,LOGFILE,1)
ENDIF
STRTOFILE(ALLTRIM(T1.FNAME)+CRLF,LOGFILE,1)
EXIT
ENDIF
ENDSCAN
USE IN T2
ENDSCAN
WAIT CLEAR
CLOSE DATABASE
RETURN
ENDFUNC
********************
FUNCTION PROC_MS1
********************
PARAMETERS P_STRING,P_KEY
PRIVATE I,A
WAIT WINDOW [報表搜尋中...] NOWAIT NOCLEAR
CREATE CURSOR T1 (FNAME C(20))
INDEX ON FNAME TAG FNAME
A=ADIR(AA,P_STRING)
FOR I=1 TO A
APPEND BLANK
REPLACE FNAME WITH ALLTRIM(AA[I,1])
ENDFOR
SCAN
SELECT 0
USE (ALLTRIM(T1.FNAME)) ALIAS T2
SCAN
IF UPPER(P_KEY)$UPPER(EXPR) OR UPPER(P_KEY)$UPPER(SUPEXPR) &&971225C
?' '+T1.FNAME
IF NOT FILE(LOGFILE)
STRTOFILE("查詢條件 ["+P_STRING+"] ["+P_KEY+"]"+CRLF,LOGFILE,1)
STRTOFILE([***REPORT***]+CRLF,LOGFILE,1)
ELSE
IF NOT [***REPORT***]$FILETOSTR(LOGFILE)
STRTOFILE([***REPORT***]+CRLF,LOGFILE,1)
ENDIF
ENDIF
STRTOFILE(ALLTRIM(T1.FNAME)+CRLF,LOGFILE,1)
EXIT
ENDIF
ENDSCAN
USE IN T2
ENDSCAN
CLOSE DATABASE
WAIT CLEAR
RETURN
ENDFUNC
|
方法二:
安裝 grep for windows
grep -i "my_chk" .\* > _search.txt
PS: grep 與 find 最大差別是 grep 可以使用正規表示式! _________________ 一個喜愛Latte的男人 |
|
回頂端 |
|
|
|
|
您 無法 在這個版面發表文章 您 無法 在這個版面回覆文章 您 無法 在這個版面編輯文章 您 無法 在這個版面刪除文章 您 無法 在這個版面進行投票 您 無法 在這個版面附加檔案 您 無法 在這個版面下載檔案
|
|