2012-07-19 19 views
0

我正在使用NSIS函數LineFindFindLine函數不看所有行

我的問題:函數LineFind只搜索文件的第一行然後停止。它不會到文件的下一行直到結束。是不是意味着搜索我的TargetLine文件的每一行?

我怎樣才能讓LineFind搜索每一行而不僅僅是第一行?

Function FindLineCallback 
    # Only ever prints out the first line and never runs this function again 
    DetailPrint "LINE: $R9" 

    ...Unrelated code to check line 
FunctionEnd 

Function FindLine 
    # TOP = Top of stack 
    # T-2 = mDir 
    # T-1 = mFile 
    # TOP = targetStr 

    Pop $R8 # targetStr 
    Pop $R7 # mFile 
    Pop $R6 # mDir 

    ${LineFind} "$R6\$R7" "" "1:-1" "FindLineCallback" 

FunctionEnd 

回答

1

找到了答案:我只需要在回調函數的最後推數值爲「信號」,我想繼續尋找

Function FindLineCallback 
    DetailPrint "LINE: $R9" 

    Push 2 
FunctionEnd