Jump to content

Recommended Posts

Posted (edited)

In my program I have a "notes section" which is an input box that has multiple lines.

I want it so the user can store these notes to a .ini file.

At the momment when they click the "store" button, all of the input boxes content is being stored but like so:

CODE

[Notes]

Notes=entryline1

entryline2

entryline3

This means that when I read the .ini with:

$note_input = GUICtrlCreateInput(IniRead("C:\WINDOWS\Temp\stored.ini","Notes","Notes",""),10, 230, 475,60, $style)

I hope that helps.

Edit: also:

$style = $ES_MULTILINE++$WS_VSCROLL++$ES_WANTRETURN

^^ I think thats the cause, the "return" key is forcing it to store them on seperate lines in the .ini.

Edited by KillerSam
Posted

This is the command I have to store my text in the .ini file.

IniWrite("C:\WINDOWS\Temp\stored.ini", "Notes", "Notes", GUICtrlRead($note_input))oÝ÷ Ûú®¢×«Þmµë-yØ­nëfº[b)Þu«Z~Ú½©nzf²mêkzÇ«½çb*.¦ëjº^±ªèºwbµ«­¢+Ø%¹¥]É¥Ñ ÅÕ½ÐíèÀäÈí]%9=]LÀäÈíQµÀÀäÈíÍѽɹ¥¹¤ÅÕ½Ðì°ÅÕ½Ðí9½ÑÌÅÕ½Ðì°ÅÕ½Ðí9½ÑÌÅÕ½Ðì°ÌäìÅÕ½ÐìÌäìµÀìU%
ÑɱI ÀÌØí¹½Ñ}¥¹ÁÕФµÀìÌäìÅÕ½ÐìÌäì¤

Maybe... :shocked:

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
Posted

Nope, this does not work :shocked:.

The other option I guess is to have the script recognise each line individualy?

So then it can store in the ini as:

note1=ahaha

note2=gaegaega

note3=gagaga

depending on the line that is on, is this possible?

Posted (edited)

You could try substituting a special char sequence for each carriage return when you write each value and then substitute the carriage return for the special sequence when the value is read back.

$value = "This"&@CRLF&"is"&@CRLF&"MulitLine"
IniWrite ( "Test.ini", "Multi-Line","Multiline", StringReplace($value,@CRLF,"[\r\n]" ))
$value = StringReplace(IniRead("Test.ini", "Multi-Line","Multiline",""),"[\r\n]",@CRLF)
MsgBox(0,"test",$value)
Exit

Edit: Typed vhen instead of when.

Edited by eltorro
Posted

Good tip. I hadn't come across the situation and didn't realize there was an issue with it. Might want to pick something less likely to occur in the normal data than a backslash that might be in every file path in the ini file:

$IniFile = @ScriptDir & "\Test.ini"
$String = "This is" & @CRLF & "a multiline" & @CRLF & "value."
IniWrite($IniFile, "Test", "Multiline", StringReplace($String, @CRLF, "<br>"))
$Result = StringReplace(IniRead($IniFile, "Test", "Multiline", ""), "<br>", @CRLF)
ConsoleWrite("$Result = " & $Result & @LF)

:shocked:

Valuater's AutoIt 1-2-3, Class... Is now in Session!For those who want somebody to write the script for them: RentACoder"Any technology distinguishable from magic is insufficiently advanced." -- Geek's corollary to Clarke's law
  • 4 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...