VFP 愛用者社區 首頁 VFP 愛用者社區
本討論區為 Visual Foxpro 愛用者經驗交流的地方, 請多多利用"搜尋"的功能, 先查看看有無前例可循, 如果還有不懂的再發問. 部份主題有附加檔案, 須先註冊成為社區居民才可以下載.
 
 常見問題常見問題   搜尋搜尋   會員列表會員列表   會員群組會員群組   會員註冊會員註冊 
 個人資料個人資料   登入檢查您的私人訊息登入檢查您的私人訊息   登入登入

請問在VFP9 中,可有方法快速查詢所有專案內的FORM,的某些字元

 
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區
上一篇主題 :: 下一篇主題  
發表人 內容
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



Twisted Evil Twisted Evil Twisted Evil Twisted Evil Twisted Evil

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 5 樓

發表發表於: 星期一 九月 03, 2018 10:37 am    文章主題: 引言回覆

我通常用 EmEditor 的多檔案搜尋
_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
ezpos



註冊時間: 2011-04-20
文章: 323


第 6 樓

發表發表於: 星期一 九月 03, 2018 10:59 am    文章主題: 引言回覆

ULTRAEDIT/EmEditor 可用在foxpro??
form內容搜尋???

_________________
ezPos收銀機 簡單好用低成本 http://www.ezpos.info
全新美觀的POS收銀機.POS軟硬體耗材.
軟體客制化.網站規劃....能賺錢的都可以找我

http://www.twelife.com 台灣生活網
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
朱育興



註冊時間: 2003-08-25
文章: 661
來自: 台中市大里區

第 7 樓

發表發表於: 星期一 九月 03, 2018 3:51 pm    文章主題: 引言回覆

管你 FORM、REPORT ...,不都是檔案嗎?用記事本開啟也可以啊,因為只是要找特定字串,又不是要編輯它們,記事本太簡陋了,所以都會用自己慣用的文字編輯器做事:可以搜尋子資料夾下的檔案,查詢字串也可用正規正則式搜尋特定格式的字串等等,都看個人使用習慣
_________________
希望有更多人來參與
VFP wiki - 需要大家一起完成的VFP電子書與FAQ
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 MSN Messenger
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 做文件搜尋才是最奇怪的.
Sad

_________________
如果公司有下列困擾:
1. 找不到便宜,快速,簡易的 生產排程軟體
2. 不知道如何快速排定 採購計劃
3. 成本抓不準,自己算比軟體算有用
4. 想學習系統規劃,想找系統架構的顧問

請聯絡我們,也許我們幫得上忙
回頂端
檢視會員個人資料 發送私人訊息 發送電子郵件 AIM Address
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的男人
回頂端
檢視會員個人資料 發送私人訊息 參觀發表人的個人網站
從之前的文章開始顯示:   
發表新主題   回覆主題    VFP 愛用者社區 首頁 -> VFP 討論區 所有的時間均為 台北時間 (GMT + 8 小時)
1頁(共1頁)

 
前往:  
無法 在這個版面發表文章
無法 在這個版面回覆文章
無法 在這個版面編輯文章
無法 在這個版面刪除文章
無法 在這個版面進行投票
無法 在這個版面附加檔案
無法 在這個版面下載檔案


Powered by phpBB © 2001, 2005 phpBB Group
正體中文語系由 phpbb-tw 維護製作