2011-02-10 4 views
1

J'ai besoin de concaténer une chaîne dans NSIS qui construit une nouvelle chaîne avec elle-même.Comment concaténer une chaîne avec la même chaîne dans NSIS?

En C++ je ferais quelque chose comme ceci:

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

Mais NSIS:

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

ne fonctionne pas.

Toutes les suggestions ici seraient grandement appréciées.

+0

Que voulez-vous dire par ne fonctionne pas? Je sais qu'il va compiler, et ce serait le même que lstrcat (s1, s2) – Anders

Répondre

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

Bon, je pense que ce n'est pas ma concaténation de chaînes qui échoue mais ma logique dans mes instructions if qui va dans la construction des chaînes n'est pas passe ... J'utilise FindProcDLL :: FindProc et fait l'intcmp dans le 1s retourné pour construire un message d'erreur indiquant quels programmes doivent être fermés pour que le programme d'installation continue. –

Questions connexes