How to modify files question

It seems you're using an AdBlocker or JavaScript is disabled!

This sites offers only FREE software and it's supported by a few advertisement boxes (no intrusive popups).

This 10 seconds wait is to let you update your AdBlocker whitelist...

Got it, show me the content...
Please enable JavaScript!
Posts: 10
Joined: June 9, 2014 - 21:07
How to modify files question

Hey guys,

I created a Dialog with NSIS Dialog Designer that has a DirRequest control in it.

I'm calling FileOpen like this in the NSIS Script file:

FileOpen $4 "$hCtl_MyDialog_MyCtrl\file.txt" w
FileWrite $4 "Blah, Blah..."

I also tried

FileOpen $4 "$hCtl_MyDialog_MyCtrl_Text\file.txt" w

But I get no text added to the text file.

What am I doing wrong? and how can I get the file to open so I can write to it?

Thanks,

Posts: 10
Joined: June 9, 2014 - 21:07
Re: How to modify files question

Also, I just created a Dialog with a ListBox on it, the listbox contains a list of lines commented in an INI file, can somebody tell me how can I uncomment the lines selected in the ListBox?

Thanks.

Posts: 1519
Joined: March 25, 2012 - 01:19
Re: How to modify files question
jfha73 wrote:

FileOpen $4 "$hCtl_MyDialog_MyCtrl_Text\file.txt" w

DirRequest control is a composite control: a TextBox and a Button.
Variable $hCtl_dialog1_DirRequest1_Txt is not the selected path but the handle of the textbox control.

Take a look at the NSISDesigner generated script.
There should be function, executed by the button when pressed, called fnc_hCtl_MyDialog_MyCtrl_Click (on your side).

This function calls reads current textbox content and stores it into $R0

${NSD_GetText} $hCtl_dialog1_DirRequest1_Txt $R0

shows the browser selection dialog, then reads the selected folder and set it back to the textbox with

${NSD_SetText} $hCtl_dialog1_DirRequest1_Txt "$R0"

so your code should first read the content of textbox into a variable, then concatenate it with your filename (the MessageBox is just for debugging):

${NSD_GetText} $hCtl_dialog1_DirRequest1_Txt $R0
StrCpy $R0 "$R0\file.txt"
MessageBox MB_OK "$R0"
FileOpen $4 "$R0" w
...

Hope this helps...

Posts: 10
Joined: June 9, 2014 - 21:07
Re: How to modify files question

I tried that but all I saw in the MessageBox was "\myfile.txt" no path from the DirRequest control.

Any idea why?

Thanks.

Posts: 1519
Joined: March 25, 2012 - 01:19
Re: How to modify files question

Here's a sample script.
Compile, run the installer, choose a directory then press Close: you'll receive a MessageBox with the path you choosed + "\file.txt".

Attachments (Only registered users)
test.zip
Posts: 10
Joined: June 9, 2014 - 21:07
Re: How to modify files question

I had it in a section and it didn't work, I changed it to a function, put it after the show (like in your sample) and it did, thanks for the sample man.