HankHell Posted November 4, 2018 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
HankHell Posted November 4, 2018 Author 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
Subz Posted November 4, 2018 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
HankHell Posted November 4, 2018 Author 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
Subz Posted November 4, 2018 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
HankHell Posted November 4, 2018 Author 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
JoHanatCent Posted November 4, 2018 Posted November 4, 2018 The #include can also be text file like: #include "C:\location\testread.txt"
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