Archive: the use of strReplace


the use of strReplace
if i use


${StrReplaceV4} $Var "replace" "with" "in string"

i get the following error

Invalid command: ${StrReplaceV4}


and if i use

!insertmacro StrReplaceV4
${StrReplaceV4} $Var "replace" "with" "in string"

i get this error

macro named "StrReplaceV4" not found!

so how i can use this?

on this link
http://nsis.sourceforge.net/StrReplace_v4
i read nothing about what i need to use this function

Better use the included StrFunc header. e.g.

!include "StrFunc.nsh"

${StrRep}

etc.

Read the included doc strfunc.txt


i used it


${StrRep} $cfg_patched "$template" "$ServerDB" "$Hostname"


i get the following Error

!insertmacro: macro "FUNCTION_STRING_StrRep" requires 0 parameter(s), passed 4!
Error in script

in strFunc.txt
is the following example

Example:

${StrRep} $0 "This is just an example" "an" "one"
[____________()_______]

$0 = "This is just one example"

what is wrong ?

Did you add the single line ${StrRep} below the line !include "StrFunc.nsh"??


no, but now

!include StrFunc.nsh ${StrRep}

but i have an error again

i dont understand how i must define it


!insertmacro StrRep after you !include StrFunc.nsh most probably.

Stu



!include StrFunc.nsh
!insertmacro StrRep


!insertmacro: StrRep
!insertmacro: macro named "StrRep" not found!

Certainly it's a complicated documentation, however if I can figure it,
everybody can do it too. ;)

!include StrFunc.nsh
${StrRep}
......
......
Function or Section
${StrRep} $0 "This is just an example" "an" "one"
$0 = "This is just one example"

ah now its clear

false
!include StrFunc.nsh ${StrRep}

right
!include StrFunc.nsh
${StrRep}


now i have another question

in the Files, i have placeholder for the Strings i want to replace.
These placeholder are declared as variables like $Server.

if i use StrRep


${StrRep} $ac.jnlp_patched "$ac.jnlp_template" "$Server" "$Server" #Ersetzen des Platzhalters $Server mit dem Inhalt der Variablen $Server


i get these warnigs

unknown variable/constant "ServerDB" detected, ignoring (macro:FUNCTION_STRING_StrRep_Call:7)
unknown variable/constant "DB" detected, ignoring (macro:FUNCTION_STRING_StrRep_Call:7)
unknown variable/constant "User" detected, ignoring (macro:FUNCTION_STRING_StrRep_Call:7)
unknown variable/constant "Server" detected, ignoring

the installer replace the strings correctly, but

is this critical? or can i fix this?

Assuming that the variables are declared properly, I guess you should add them above from the !include StrFunc.nsh.


ok thats correkt, thanks