Go Back   Winamp Forums > Developer Center > NSIS Discussion

Reply
Thread Tools Search this Thread Display Modes
Old 5th January 2006, 20:05   #1
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
TextReplace plugin

Features:
- Fast 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 before replacement, if input file is a binary file

Rough estimate perfomance info:
50 Mb text file with 4.000.000 strings to replace processed
with option "/S=1" 4 sec, with option "/S=0" 37 sec


"TextReplace" plugin v1.0

Removed attachment 18 July 2006 - Afrow UK. See last post for latest version.
Instructor is offline   Reply With Quote
Old 6th January 2006, 09:29   #2
zeeh3
Senior Member
 
Join Date: Aug 2005
Location: Brazil
Posts: 108
Great and useful plugin, thanks a lot Instructor
zeeh3 is offline   Reply With Quote
Old 6th January 2006, 10:00   #3
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
You are welcome
Instructor is offline   Reply With Quote
Old 14th January 2006, 08:45   #4
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
New: "FindInFile" only search in file without replacements
New: "ReplaceInFile" options:
    /AI=[1|0] -Copy attributes from the InputFile to OutputFile or not
    /AO=[0|1] -Change OutputFile attributes to normal before writting or not


"TextReplace" plugin v1.1
Attached Files
File Type: zip textreplace.zip (17.4 KB, 1169 views)
Instructor is offline   Reply With Quote
Old 26th January 2006, 09:55   #5
whaccybanany
Junior Member
 
Join Date: Jan 2006
Posts: 9
Thanks for the great plugin Instructor!

I'm a bit confused to what the options are.

If AI is true, does that mean read/write/execute/other attributes of the InputFile will be kept the same when written out?

If AO is true, does it mean change attributes to some standard?

Not taking any risks in life, is taking the biggest risk.
whaccybanany is offline   Reply With Quote
Old 26th January 2006, 10:24   #6
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Quote:
If AI is true, does that mean read/write/execute/other attributes of the InputFile will be kept the same when written out?
Yes

Quote:
If AO is true, does it mean change attributes to some standard?
/AO=0 - Don't change OutputFile attributes (error "-9" possible)
-9 can't open output file for writting

For example:
If "/AO=0" and OutputFile has read-only attribute, then error -9 will be returned.
If "/AO=1" and OutputFile has read-only attribute, then no error will be returned.
Instructor is offline   Reply With Quote
Old 26th January 2006, 10:56   #7
whaccybanany
Junior Member
 
Join Date: Jan 2006
Posts: 9
Thanks for the quick reply.

That clears things up!

Not taking any risks in life, is taking the biggest risk.
whaccybanany is offline   Reply With Quote
Old 28th January 2006, 15:14   #8
NHOCSUNG
Guest
 
Posts: n/a
Hi Instructor can i get the source code please

I'm taking C++ now. Actually this is first course, so i need something to practice, you know.
  Reply With Quote
Old 28th January 2006, 16:09   #9
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Quote:
Hi Instructor can i get the source code please
Archive contains binary and source code.
Instructor is offline   Reply With Quote
Old 28th January 2006, 19:20   #10
NHOCSUNG
Guest
 
Posts: n/a
Talking

I didn't see it before....
  Reply With Quote
Old 27th May 2006, 10:53   #11
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Fixed: Now plugin doesn't read all file if it is binary.
Updated: "StrFunc.h" to v1.7
Updated: "ConvFunc.h" to v1.7

Update from previous versions:
         - Insert line in script:
            !incl ude "TextReplace.nsh"
         - Replace:
            textrepl ace::FindInFile -> ${textreplace::FindInFile} ...
         - Replace:
            .r0 -> $0, .r1 -> $1 ... .R0 -> $R0, .R1 -> $R1 ...

"TextReplace" plugin v1.2
Attached Files
File Type: zip textreplace.zip (29.3 KB, 781 views)
Instructor is offline   Reply With Quote
Old 30th June 2006, 19:32   #12
zeeh3
Senior Member
 
Join Date: Aug 2005
Location: Brazil
Posts: 108
Instructor, there is a bug in the plugin that makes files bigger than 128 bytes readonly|hidden|system|archive|temporary|offline|not_content_indexed.
zeeh3 is offline   Reply With Quote
Old 1st July 2006, 04:13   #13
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Don't understand. If file size equal to 128 then after processing it attributes changed to readonly|hidden|system|archive|temporary|offline|not_content_indexed? And what plugin parameters you use?
Instructor is offline   Reply With Quote
Old 1st July 2006, 09:55   #14
zeeh3
Senior Member
 
Join Date: Aug 2005
Location: Brazil
Posts: 108
Yes, I am just using TextReplaceTest.nsi that comes with the plugin. Attached are the input.txt and output.txt files and the exe.
Attached Files
File Type: zip textreplace.zip (25.2 KB, 547 views)
zeeh3 is offline   Reply With Quote
Old 1st July 2006, 11:53   #15
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Fixed: Buffer overflow (thanks zeeh3)


"TextReplace" plugin v1.3
Attached Files
File Type: zip textreplace.zip (31.7 KB, 614 views)
Instructor is offline   Reply With Quote
Old 14th July 2006, 04:57   #16
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Fixed: crash when using long string (> 1024) with 8192 special build (thanks zeeh3)


"TextReplace" plugin v1.4
Attached Files
File Type: zip textreplace.zip (31.8 KB, 557 views)
Instructor is offline   Reply With Quote
Old 14th July 2006, 15:56   #17
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Forgot to remove debug MessageBox in release.


"TextReplace" plugin v1.4
Attached Files
File Type: zip textreplace.zip (31.7 KB, 588 views)
Instructor is offline   Reply With Quote
Old 17th October 2006, 18:10   #18
tinjaw
Junior Member
 
Join Date: Oct 2006
Posts: 1
Thank you very much. You plugin just saved me much valuable time.
tinjaw is offline   Reply With Quote
Old 28th October 2006, 23:12   #19
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
Changed: algorithm optimized - replacement speed increased.


"TextReplace" plugin v1.5
Attached Files
File Type: zip textreplace.zip (33.4 KB, 712 views)
Instructor is offline   Reply With Quote
Old 8th April 2008, 16:59   #20
Chunkster
Junior Member
 
Join Date: Apr 2008
Posts: 1
Replace one line with two lines

I am trying to replace one line of a text file with two lines, using TextReplace. The arrangement of info in the file looks something like this -


Line 1
Line 2
Line 3
Line 4

I am searching for "Line 3" and want to replace it with

Line 3a
Line 3b

for a final file arrangement that looks like -

Line 1
Line 2
Line 3a
Line 3b
Line 4

Here is the actual TextReplace line

${textreplace::ReplaceInFile} "$PROGRAMFILES\OpenOffice.org 2.4\share\dict\ooo\dictionary.lst" "$PROGRAMFILES\OpenOffice.org 2.4\share\dict\ooo\dictionary.lst" "THES en US th_en_US_v2" "THES en US th_en_US_v2 \r DICT en US en_US_OpenMedSpel \r" "/S=1" $0

This of course, does not produce the desired output. It looks like this

Line 1
Line 2
Line 3a \r Line 3b \r
Line 4

Any help with this problem would be appreciated. Thanks.
Chunkster is offline   Reply With Quote
Old 9th April 2008, 06:44   #21
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
\r -> $\r$\n
Instructor is offline   Reply With Quote
Old 12th May 2009, 14:17   #22
nduboc
Junior Member
 
Join Date: Jun 2004
Posts: 6
Hi,

What license the TextReplace v1.5 plugin is distributed under ? I can't find any license notice in the zip file or
the home page (http://nsis.sourceforge.net/TextReplace_plugin).

Thanks.
nduboc is offline   Reply With Quote
Old 12th May 2009, 15:59   #23
Instructor
Major Dude
 
Join Date: Jul 2004
Posts: 655
nduboc
NSIS license.
Instructor is offline   Reply With Quote
Old 13th May 2009, 14:11   #24
nduboc
Junior Member
 
Join Date: Jun 2004
Posts: 6
Quote:
Originally posted by Instructor
nduboc
NSIS license.
You mean the zlib/libpng license as stated on the License
page of the NSIS web site, right ?
nduboc is offline   Reply With Quote
Reply
Go Back   Winamp Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:19.