HankHell Posted November 4, 2018 Share Posted November 4, 2018 I was just trying to figure out ways to save data to text documents so they can later be loaded back into the input boxes of my programs and I got curious....is it possible to somehow write a function inside of a text document, then call the function from the text file? anywho, for those of you trying to save/load info to and from txt docs, here's some code: expandcollapse popup#include <String.au3> Global $userinput = "C:\location\location"&"\";save location for text doc Global $fileofchoice Global $NEW1val = "1234" Global $NEW2val = "4565" Global $NEW3val = "7896" HotKeySet("{F1}", "writedata") HotKeySet("{F2}", "readdata") HotKeySet("{ESC}", "End") While 1 Sleep(10) WEnd Func writedata() $randomness = Random(0, 999999) $randomnumber = Round($randomness) $fileofchoice = $userinput&"test "&$randomnumber&".txt" $WRITE1val = "<1>"&"test1 = "&$NEW1val&"</1>" $WRITE2val = "<2>"&"test2 = "&$NEW2val&"</2>" $WRITE3val = "<3>"&"test3 = "&$NEW3val&"</3>" FileWrite($fileofchoice,$WRITE1val&$WRITE2val&$WRITE3val) MsgBox(0, "Notice", "Data written to:"&@CRLF&$userinput&$fileofchoice) EndFunc Func readdata() $READsource = FileRead($fileofchoice) $READ1val = FindBetweenString($READsource, "<1>", "</1>") $READ2val = FindBetweenString($READsource, "<2>", "</2>") $READ3val = FindBetweenString($READsource, "<3>", "</3>") MsgBox(0, "Notice", $READ1val&@CRLF&$READ2val&@CRLF&$READ3val) EndFunc Func FindBetweenString($sString, $sStart, $sEnd) Local $sBetween = _StringBetween($sString, $sStart, $sEnd) If @error Then Return SetError(1,0,0) Return SetError(0,0,$sBetween[0]) EndFunc Func End() Exit EndFunc Link to comment Share on other sites More sharing options...
Subz Posted November 4, 2018 Share Posted November 4, 2018 Why not just use an Ini file and Ini functions? Link to comment Share on other sites More sharing options...
HankHell Posted November 4, 2018 Author Share Posted November 4, 2018 9 minutes ago, Subz said: Why not just use an Ini file and Ini functions? well, I'm not exactly sure how to go about doing such a thing...however this is a kind of crude way of putting it.... $fileofchoice = "C:\location\testread.txt" Local $READsource = FileRead($fileofchoice) test() Func test() Call($READsource) EndFunc ;CONTENTS OF testread.txt ;------------------------- Func testing() MsgBox(0, "Notice", "Success") EndFunc Link to comment Share on other sites More sharing options...
Subz Posted November 4, 2018 Share Posted November 4, 2018 Well in that case why don't you just save it as a .au3 file and then use #include for example: #include "C:\location\testread.au3" testing() ;CONTENTS OF testread.au3 ;------------------------- Func testing() MsgBox(0, "Notice", "Success") EndFunc Link to comment Share on other sites More sharing options...
HankHell Posted November 4, 2018 Author Share Posted November 4, 2018 Just now, Subz said: Well in that case why don't you just save it as a .au3 file and then use #include for example: #include "C:\location\testread.au3" testing() ;CONTENTS OF testread.au3 ;------------------------- Func testing() MsgBox(0, "Notice", "Success") EndFunc ohhh, tyty... now I see how that works, never used include for my own purposes Link to comment Share on other sites More sharing options...
Subz Posted November 4, 2018 Share Posted November 4, 2018 With regards to your OP around saving input, this is what I meant about ini files ; Create Gui - Read Data to Input Controls .... $idInput1 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input1", ""), 10, 10, 200, 20) $idInput2 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input2", ""), 10, 35, 200, 20) $idInput3 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input3", ""), 10, 60, 200, 20) .... ; Save Input back to Ini IniWrite("filename.ini", "Inputs", "Input1", GUICtrlRead($idInput1)) IniWrite("filename.ini", "Inputs", "Input2", GUICtrlRead($idInput2)) IniWrite("filename.ini", "Inputs", "Input3", GUICtrlRead($idInput3)) ;~ Contents of Filename.ini [Inputs] Input1 = Input1 Text Input2 = Input2 Text Input3 = Input3 Text Link to comment Share on other sites More sharing options...
HankHell Posted November 4, 2018 Author Share Posted November 4, 2018 (edited) 5 minutes ago, Subz said: With regards to your OP around saving input, this is what I meant about ini files ; Create Gui - Read Data to Input Controls .... $idInput1 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input1", ""), 10, 10, 200, 20) $idInput2 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input2", ""), 10, 35, 200, 20) $idInput3 = GUICtrlCreateInput(IniRead("Filename.ini", "Inputs", "Input3", ""), 10, 60, 200, 20) .... ; Save Input back to Ini IniWrite("filename.ini", "Inputs", "Input1", GUICtrlRead($idInput1)) IniWrite("filename.ini", "Inputs", "Input2", GUICtrlRead($idInput2)) IniWrite("filename.ini", "Inputs", "Input3", GUICtrlRead($idInput3)) ;~ Contents of Filename.ini [Inputs] Input1 = Input1 Text Input2 = Input2 Text Input3 = Input3 Text ohhh, gotchya, tyvm Edited November 4, 2018 by HankHell Link to comment Share on other sites More sharing options...
JoHanatCent Posted November 4, 2018 Share Posted November 4, 2018 The #include can also be text file like: #include "C:\location\testread.txt" Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now