How to modify files question

Please let our ADS show!

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

  • disable your AdBlocker by adding CoolSoft website to whitelist
  • give the proper cookie consent
  • enable JavaScript for this website

This seconds wait is to let you update your browser configuration...

Ok, I've done the required changes... now show me your 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: 1972
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: 1972
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.