How to modify files question

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: 1125
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: 1125
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.

warning

Warning, JavaScript is disabled!

JavaScript is not available, maybe because you disabled it globally into your browser settings or you are using an addon like NoScript.

We do not have any dangerous JavaScript running here.
Please enable JavaScript; if you're using NoScript this image will help you adding CoolSoft to your whitelist.

Thanks for your comprehension and enjoy CoolSoft.