TextReplace plugin: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(Put the Readme.txt in the Wiki)
m (→‎Unload plugin: formatting)
 
(8 intermediate revisions by 4 users not shown)
Line 23: Line 23:
=== Search in file ===
=== Search in file ===


${textreplace::FindInFile} "[InputFile]" "[FindIt]" "[Options]" $var
'''${textreplace::FindInFile} "[InputFile]" "[FindIt]" "[Options]" $var'''


"[InputFile]"  - Input file
:"[InputFile]"  - Input file


"[FindIt]"      - String to find or pointer to the buffer if used option /PI=1
:"[FindIt]"      - String to find or pointer to the buffer if used option /PI=1


"[Options]"    - Search options
:"[Options]"    - Search options
  /S=[0|1]
::  /S=[0|1]
    /S=0  - Case insensitive (default)
:::    /S=0  - Case insensitive (default)
    /S=1  - Case sensitive (faster)
:::    /S=1  - Case sensitive (faster)
  /PI=[0|1]
::  /PI=[0|1]
    /PI=0  - FindIt is a string (default)
:::    /PI=0  - FindIt is a string (default)
    /PI=1  - FindIt is a pointer to the text buffer
:::    /PI=1  - FindIt is a pointer to the text buffer
 
$var  number of founded strings
      -3  ReplaceIt string is empty
      -4  can't open input file for reading
      -5  can't get file size of the input file
      -6  can't allocate buffer for input file text
      -7  can't read input file
      -8  input file is binary or wide character Unicode file


:$var  number of founded strings
::      -3  ReplaceIt string is empty
::      -4  can't open input file for reading
::      -5  can't get file size of the input file
::      -6  can't allocate buffer for input file text
::      -7  can't read input file
::      -8  input file is binary or wide character Unicode file


=== Replace in file ===
=== Replace in file ===


${textreplace::ReplaceInFile} "[InputFile]" "[OuputFile]" "[ReplaceIt]" "[ReplaceWith]" "[Options]" $var
'''${textreplace::ReplaceInFile} "[InputFile]" "[OuputFile]" "[ReplaceIt]" "[ReplaceWith]" "[Options]" $var'''
 
"[InputFile]"  - Input file


"[OutputFile]" - Output file, can be equal to InputFile
:"[InputFile]"   - Input file


"[ReplaceIt]"   - String to replace or pointer to the buffer if used option /PI=1
:"[OutputFile]" - Output file, can be equal to InputFile


"[ReplaceWith]" - Replace with this string or pointer to the buffer if used option /PO=1
:"[ReplaceIt]"   - String to replace or pointer to the buffer if used option /PI=1


"[Options]"     - Replace options
:"[ReplaceWith]" - Replace with this string or pointer to the buffer if used option /PO=1
  /S=[0|1]
    /S=0  - Case insensitive (default)
    /S=1  - Case sensitive (faster)
  /C=[1|0]
    /C=1  - Copy the file if no changes made (default)
    /C=0  - Don't copy the file if no changes made
  /AI=[1|0]
    /AI=1  - Copy attributes from the InputFile to OutputFile (default)
    /AI=0  - Don't copy attributes
  /AO=[0|1]
    /AO=0  - Don't change OutputFile attributes (error "-9" possible) (default)
    /AO=1  - Change OutputFile attributes to normal before writting
  /PI=[0|1]
    /PI=0  - ReplaceIt is a string (default)
    /PI=1  - ReplaceIt is a pointer to the text buffer
  /PO=[0|1]
    /PO=0  - ReplaceWith is a string (default)
    /PO=1 - ReplaceWith is a pointer to the text buffer


$var   number of replacements
:"[Options]"    - Replace options
      -1  ReplaceIt pointer is incorrect
::  /S=[0|1]
      -2  ReplaceWith pointer is incorrect
:::    /S=0   - Case insensitive (default)
      -3   ReplaceIt string is empty
:::    /S=1  - Case sensitive (faster)
      -4  can't open input file for reading
::  /C=[1|0]
      -5  can't get file size of the input file
:::    /C=1  - Copy the file if no changes made (default)
      -6  can't allocate buffer for input file text
:::    /C=0   - Don't copy the file if no changes made
      -7  can't read input file
::  /AI=[1|0]
      -8  input file is binary or wide character Unicode file
:::    /AI=1  - Copy attributes from the InputFile to OutputFile (default)
      -9  can't open output file for writting
:::    /AI=0  - Don't copy attributes
      -10 can't allocate buffer for output file text
::  /AO=[0|1]
      -11 can't write to the output file
:::    /AO=0  - Don't change OutputFile attributes (error "-9" possible) (default)
:::    /AO=1  - Change OutputFile attributes to normal before writting
::  /PI=[0|1]
:::    /PI=0  - ReplaceIt is a string (default)
:::    /PI=1 - ReplaceIt is a pointer to the text buffer
::  /PO=[0|1]
:::    /PO=0  - ReplaceWith is a string (default)
:::    /PO=1 - ReplaceWith is a pointer to the text buffer


:$var  number of replacements
::      -1  ReplaceIt pointer is incorrect
::      -2  ReplaceWith pointer is incorrect
::      -3  ReplaceIt string is empty
::      -4  can't open input file for reading
::      -5  can't get file size of the input file
::      -6  can't allocate buffer for input file text
::      -7  can't read input file
::      -8  input file is binary or wide character Unicode file
::      -9  can't open output file for writting
::      -10  can't allocate buffer for output file text
::      -11  can't write to the output file


=== Put text file contents to the buffer ===
=== Put text file contents to the buffer ===


${textreplace::FillReadBuffer} "[File]" $var
'''${textreplace::FillReadBuffer} "[File]" $var'''
 
"[File]"  - Input file


$var   pointer to the buffer
:"[File]"   - Input file
      -4  can't open input file for reading
      -5  can't get file size of the input file
      -6  can't allocate buffer for input file text
      -7  can't read input file
      -8  input file is binary or wide character Unicode file  


:$var  pointer to the buffer
::      -4  can't open input file for reading
::      -5  can't get file size of the input file
::      -6  can't allocate buffer for input file text
::      -7  can't read input file
::      -8  input file is binary or wide character Unicode file


=== Free buffer ===
=== Free buffer ===


${textreplace::FreeReadBuffer} "[Pointer]"
'''${textreplace::FreeReadBuffer} "[Pointer]"'''
 
"[Pointer]"  - Pointer to the buffer


:"[Pointer]"  - Pointer to the buffer


=== Unload plugin ===
=== Unload plugin ===


${textreplace::Unload}
'''${textreplace::Unload}'''




[[Category:Plugins]]
[[Category:Plugins]]

Latest revision as of 15:59, 8 January 2016

Author: Instructor (talk, contrib)


Links

Download v1.5:
Textreplace.zip (33 KB)

Discussion:
Forum thread

Description

Features:

  • Fast search/replacement in text file
  • Case sensitive/insensitive replacement
  • Supports strings and pointers to the buffer
  • If no changes possible, output file will be untouched
  • Checks if input file is a binary file

Docs

Taken from the Readme.txt (TextReplace NSIS plugin v1.5)

Search in file

${textreplace::FindInFile} "[InputFile]" "[FindIt]" "[Options]" $var

"[InputFile]" - Input file
"[FindIt]" - String to find or pointer to the buffer if used option /PI=1
"[Options]" - Search options
/S=[0|1]
/S=0 - Case insensitive (default)
/S=1 - Case sensitive (faster)
/PI=[0|1]
/PI=0 - FindIt is a string (default)
/PI=1 - FindIt is a pointer to the text buffer
$var number of founded strings
-3 ReplaceIt string is empty
-4 can't open input file for reading
-5 can't get file size of the input file
-6 can't allocate buffer for input file text
-7 can't read input file
-8 input file is binary or wide character Unicode file

Replace in file

${textreplace::ReplaceInFile} "[InputFile]" "[OuputFile]" "[ReplaceIt]" "[ReplaceWith]" "[Options]" $var

"[InputFile]" - Input file
"[OutputFile]" - Output file, can be equal to InputFile
"[ReplaceIt]" - String to replace or pointer to the buffer if used option /PI=1
"[ReplaceWith]" - Replace with this string or pointer to the buffer if used option /PO=1
"[Options]" - Replace options
/S=[0|1]
/S=0 - Case insensitive (default)
/S=1 - Case sensitive (faster)
/C=[1|0]
/C=1 - Copy the file if no changes made (default)
/C=0 - Don't copy the file if no changes made
/AI=[1|0]
/AI=1 - Copy attributes from the InputFile to OutputFile (default)
/AI=0 - Don't copy attributes
/AO=[0|1]
/AO=0 - Don't change OutputFile attributes (error "-9" possible) (default)
/AO=1 - Change OutputFile attributes to normal before writting
/PI=[0|1]
/PI=0 - ReplaceIt is a string (default)
/PI=1 - ReplaceIt is a pointer to the text buffer
/PO=[0|1]
/PO=0 - ReplaceWith is a string (default)
/PO=1 - ReplaceWith is a pointer to the text buffer
$var number of replacements
-1 ReplaceIt pointer is incorrect
-2 ReplaceWith pointer is incorrect
-3 ReplaceIt string is empty
-4 can't open input file for reading
-5 can't get file size of the input file
-6 can't allocate buffer for input file text
-7 can't read input file
-8 input file is binary or wide character Unicode file
-9 can't open output file for writting
-10 can't allocate buffer for output file text
-11 can't write to the output file

Put text file contents to the buffer

${textreplace::FillReadBuffer} "[File]" $var

"[File]" - Input file
$var pointer to the buffer
-4 can't open input file for reading
-5 can't get file size of the input file
-6 can't allocate buffer for input file text
-7 can't read input file
-8 input file is binary or wide character Unicode file

Free buffer

${textreplace::FreeReadBuffer} "[Pointer]"

"[Pointer]" - Pointer to the buffer

Unload plugin

${textreplace::Unload}