gcue Posted December 5, 2008 Share Posted December 5, 2008 ultimate script goal - save notes on a specific PC to an ini and read/edit them later user enters some notes in a Guicreateedit window i save what they type to an INI file [NOTES] computer_name="blah blah" when they open the script again, it will read their previous entry from the INI file... they can edit and overwrite the value saved in the ini file problem: if they have multiple lines in what they enter then the INI looks like this: [NOTES] computer_name1=carsdfdf dfdf computer_name2=trux 3498342323 eg dfdfd dfdf any ideas? here's what i have: Func PC_Notes($asset, $asset_label) $pc_notes_child = GUICreate("PC Notes:", 300, 260, -1, -1, $WS_EX_MDICHILD) GUISwitch($pc_notes_child) $notes = IniRead($ini, "NOTES", $asset, "") If $notes <> "" Then $myedit = GUICtrlCreateEdit($notes & @CRLF, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) Else $myedit = GUICtrlCreateEdit($notes, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) EndIf $SAVE_btn = GUICtrlCreateButton("SAVE", 100, 200, 43, 25) SetOnEvent($SAVE_btn, "SAVE_PC_NOTES", 2, $ParamByVal, $asset, $ParamByVal, $asset_label) $CANCEL_btn = GUICtrlCreateButton("CANCEL", 150, 200, 58, 25) GUICtrlSetOnEvent(-1, "DEL_pc_notes_child") GUICtrlSetData(GUICtrlRead($myedit), 1) GUISetState() Send("{END}") EndFunc ;==>PC_Notes Func SAVE_PC_NOTES($asset, $asset_label) IniWrite($ini, "NOTES", $asset, GUICtrlRead($myedit)) GUIDelete($pc_notes_child) EndFunc ;==>SAVE_PC_NOTES Func DEL_pc_notes_child() GUIDelete($pc_notes_child) EndFunc ;==>DEL_pc_notes_child Link to comment Share on other sites More sharing options...
MrCreatoR Posted December 5, 2008 Share Posted December 5, 2008 You can replace the CRLFs with some seperater... Func PC_Notes($asset, $asset_label) $pc_notes_child = GUICreate("PC Notes:", 300, 260, -1, -1, $WS_EX_MDICHILD) GUISwitch($pc_notes_child) $notes = StringReplace(IniRead($ini, "NOTES", $asset, ""), "$\n$", @CRLF) If $notes <> "" Then $myedit = GUICtrlCreateEdit($notes & @CRLF, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) Else $myedit = GUICtrlCreateEdit($notes, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) EndIf $SAVE_btn = GUICtrlCreateButton("SAVE", 100, 200, 43, 25) SetOnEvent($SAVE_btn, "SAVE_PC_NOTES", 2, $ParamByVal, $asset, $ParamByVal, $asset_label) $CANCEL_btn = GUICtrlCreateButton("CANCEL", 150, 200, 58, 25) GUICtrlSetOnEvent(-1, "DEL_pc_notes_child") GUICtrlSetData(GUICtrlRead($myedit), 1) GUISetState() Send("{END}") EndFunc ;==>PC_Notes Func SAVE_PC_NOTES($asset, $asset_label) IniWrite($ini, "NOTES", $asset, StringReplace(GUICtrlRead($myedit), @CRLF, "$\n$")) GUIDelete($pc_notes_child) EndFunc ;==>SAVE_PC_NOTES Func DEL_pc_notes_child() GUIDelete($pc_notes_child) EndFunc ;==>DEL_pc_notes_child Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
Valuater Posted December 5, 2008 Share Posted December 5, 2008 (edited) If I could run the code, I can help... too many errors for me EDIT: I did have the same idea as MrCreator, so at least he was able to help and hopefully test his advise 8) Edited December 5, 2008 by Valuater Link to comment Share on other sites More sharing options...
MrCreatoR Posted December 5, 2008 Share Posted December 5, 2008 If I could run the code, I can help... too many errors for meEDIT: I did have the same idea as MrCreator, so at least he was able to help and hopefully test his advise8)I was able to help only because i also had the same problem once - The code posted above even not tested, but i pretty sure it's what gcue needs. Spoiler Using OS: Win 7 Professional, Using AutoIt Ver(s): 3.3.6.1 / 3.3.8.1 AutoIt Russian Community My Work... Spoiler Projects: ATT - Application Translate Tool {new}| BlockIt - Block files & folders {new}| SIP - Selected Image Preview {new}| SISCABMAN - SciTE Abbreviations Manager {new}| AutoIt Path Switcher | AutoIt Menu for Opera! | YouTube Download Center! | Desktop Icons Restorator | Math Tasks | KeyBoard & Mouse Cleaner | CaptureIt - Capture Images Utility | CheckFileSize ProgramUDFs: OnAutoItErrorRegister - Handle AutoIt critical errors {new}| AutoIt Syntax Highlight {new}| Opera Library! | Winamp Library | GetFolderToMenu | Custom_InputBox()! | _FileRun UDF | _CheckInput() UDF | _GUIInputSetOnlyNumbers() UDF | _FileGetValidName() UDF | _GUICtrlCreateRadioCBox UDF | _GuiCreateGrid() | _PathSplitByRegExp() | _GUICtrlListView_MoveItems - UDF | GUICtrlSetOnHover_UDF! | _ControlTab UDF! | _MouseSetOnEvent() UDF! | _ProcessListEx - UDF | GUICtrl_SetResizing - UDF! | Mod. for _IniString UDFs | _StringStripChars UDF | _ColorIsDarkShade UDF | _ColorConvertValue UDF | _GUICtrlTab_CoverBackground | CUI_App_UDF | _IncludeScripts UDF | _AutoIt3ExecuteCode | _DragList UDF | Mod. for _ListView_Progress | _ListView_SysLink | _GenerateRandomNumbers | _BlockInputEx | _IsPressedEx | OnAutoItExit Handler | _GUICtrlCreateTFLabel UDF | WinControlSetEvent UDF | Mod. for _DirGetSizeEx UDF Examples: ScreenSaver Demo - Matrix included | Gui Drag Without pause the script | _WinAttach()! | Turn Off/On Monitor | ComboBox Handler Example | Mod. for "Thinking Box" | Cool "About" Box | TasksBar Imitation Demo Like the Projects/UDFs/Examples? Please rate the topic (up-right corner of the post header: Rating ) * === My topics === * ================================================== ================================================== AutoIt is simple, subtle, elegant. © AutoIt Team Link to comment Share on other sites More sharing options...
Richard Robertson Posted December 5, 2008 Share Posted December 5, 2008 (edited) $edittext = "some\ text with" & @CRLF & "in it and\ some \s" $initext = StringReplace(StringReplace(StringReplace($edittext, "\", "\\"), @LF, "\n"), @CR, "\r") ;... $initext = "some\\ text with\r\nin it and\\ some \\s" $edittext = StringReplace(StringRegExpReplace(StringRegExpReplace($initext, "(?<!\\)\\n", @LF), "(?<!\\)\\r", @CR), "\\", "\") Delicious. It prevents the user input from colliding with the identifier by escaping the user input. Well, as long as AutoIt supports negative zero width look behind assertions... I don't know if it does for sure. Edited December 5, 2008 by Richard Robertson Link to comment Share on other sites More sharing options...
gcue Posted December 5, 2008 Author Share Posted December 5, 2008 brilliant! works great!! many many thanks =) You can replace the CRLFs with some seperater... Func PC_Notes($asset, $asset_label) $pc_notes_child = GUICreate("PC Notes:", 300, 260, -1, -1, $WS_EX_MDICHILD) GUISwitch($pc_notes_child) $notes = StringReplace(IniRead($ini, "NOTES", $asset, ""), "$\n$", @CRLF) If $notes <> "" Then $myedit = GUICtrlCreateEdit($notes & @CRLF, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) Else $myedit = GUICtrlCreateEdit($notes, 5, 5, 290, 190, $ES_AUTOVSCROLL + $WS_VSCROLL) EndIf $SAVE_btn = GUICtrlCreateButton("SAVE", 100, 200, 43, 25) SetOnEvent($SAVE_btn, "SAVE_PC_NOTES", 2, $ParamByVal, $asset, $ParamByVal, $asset_label) $CANCEL_btn = GUICtrlCreateButton("CANCEL", 150, 200, 58, 25) GUICtrlSetOnEvent(-1, "DEL_pc_notes_child") GUICtrlSetData(GUICtrlRead($myedit), 1) GUISetState() Send("{END}") EndFunc ;==>PC_Notes Func SAVE_PC_NOTES($asset, $asset_label) IniWrite($ini, "NOTES", $asset, StringReplace(GUICtrlRead($myedit), @CRLF, "$\n$")) GUIDelete($pc_notes_child) EndFunc ;==>SAVE_PC_NOTES Func DEL_pc_notes_child() GUIDelete($pc_notes_child) EndFunc ;==>DEL_pc_notes_child Link to comment Share on other sites More sharing options...
gcue Posted December 5, 2008 Author Share Posted December 5, 2008 hmm seperate issue - i cant hit enter while in a GuiCtrlCreateEdit??? (the enter in the previous issue was accounting for multiple entry submissions, i hadn't tried hitting <ENTER> in one submission) Link to comment Share on other sites More sharing options...
Richard Robertson Posted December 5, 2008 Share Posted December 5, 2008 You have to make sure that it is set to accept return. 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