2011-02-10 64 views
1

我需要連接NSIS中的一個字符串,它與自身建立一個新的字符串。如何在NSIS中使用相同的字符串連接字符串?

在C++中,我會做這樣的事情:

if (h == 0) 
     cout << "No errors\n\n"; 
    if (e > 0) 
     err += e1; 
    if (f > 0) 
     err += e2; 
    if (g > 0) 
     err+= e3; 

但在NSIS:

strcpy $1 "$1$2" 
strcpy $1 "$1$3" 
strcpy $1 "$1$4" 

不起作用。

這裏的任何建議將不勝感激。

+0

你是什麼意思不起作用?我知道它會編譯,並且它將與lstrcat(s1,s2)相同 – Anders 2011-02-10 19:56:34

回答

0
outfile test.exe 
requestexecutionlevel user 
page instfiles 
section 
;init strings 
strcpy $1 "Hello: " 
strcpy $2 foo 
strcpy $3 bar 
strcpy $4 baz 

strcpy $1 "$1$2" 
strcpy $1 "$1$3" 
strcpy $1 "$1$4" 
DetailPrint $1 ;prints "Hello: foobarbaz" 
sectionend 
+0

好吧,我認爲這不是我的字符串連接失敗,但我的if語句中的邏輯不會構建字符串發生...... 我正在使用FindProcDLL :: FindProc,並在返回的1s中執行intcmp以生成錯誤消息,指出需要關閉哪些程序才能讓安裝程序繼續。 – 2011-02-10 21:07:40