ledigeine Posted May 25, 2012 Share Posted May 25, 2012 Sorry I searched these forums and google but couldnt find this, im sure its been brought up too. So maybe a link would help me or something. I have a function that can return various strings, but I need to break the string up into 3 parts so i can use the text to pull from an xml file. here are some examples of what could be returned: Test Assigned/11.1/US Test Assigned/7.1.1/UK Testing Approved/9.0/CA Shipped/11.0/US I mean me not knowing what im doing, I was going to make the first 5 characters my first selection. Then based on that selection do if's to find how i should get the version number. I hope theres a better way to do this. Link to comment Share on other sites More sharing options...
water Posted May 25, 2012 Share Posted May 25, 2012 (edited) How about$aResult = StringSplit($sString, "/")In $aResult[2] you will find the version number. Edited May 25, 2012 by water ledigeine 1 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
ledigeine Posted May 25, 2012 Author Share Posted May 25, 2012 How about$aResult = StringSplit($sString, "/")In $aResult[2] you will find the version number. grr you, how do you guys know so much!? haha thank you sir/madam your awesome. Link to comment Share on other sites More sharing options...
water Posted May 25, 2012 Share Posted May 25, 2012 Have used AutoIt for many, many year now. If in doubt I always ask a very good friend: The help file Mechaflash and somdcomputerguy 2 My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
ledigeine Posted May 25, 2012 Author Share Posted May 25, 2012 ha yeah i try the help file but its hard to phrase some of my questions. Like if i knew how to phrase them id kinda know the answer to my question already ha. Link to comment Share on other sites More sharing options...
ledigeine Posted May 25, 2012 Author Share Posted May 25, 2012 Hmm its not working for me, the first array object pulls correctly but if i pull [2] it is just blank. 3 is the same way. $func = _TreePath($treeview, $item) $path = StringSplit($func, "") $folder = $path[1] $vers = $path[2] ;~ $country = $path[3] $mapB = GUICtrlCreateButton("&Map", 20, 350, 120, 40) While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit Case $mapB MsgBox(0, "node selected", "Node: " & $path[2]) EndSwitch WEnd EndFunc The _TreePath($treeview, $item) = Test Assigned12.0US in this case. I click the button to display a msgbox of what im trying to see. $path[2] and $vers are blank. $folder and $path[1] is returning Test Assigned as expected. If i do not call $vers in the msgbox part the script will error saying: Array variable has incorrect number of subscripts or subscript dimension range exceeded Not sure why it errors if its not called in the msgbox but will not error if its called. Link to comment Share on other sites More sharing options...
water Posted May 25, 2012 Share Posted May 25, 2012 In your first exampl you had "/" as a seprator, now you use "". Please check the help file for StringSplit. If the separator is not found in the string then @error is set and the whole string is passed in $array[1]. So before you access the array please check @error. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
BrewManNH Posted May 25, 2012 Share Posted May 25, 2012 If your strings have both "/" and "" you can use StringSplit to split on either of those characters by doing this: $path = StringSplit($func, "/") This will split on either character, 0 is the default flag, so I didn't set it in the function call. If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
ledigeine Posted May 25, 2012 Author Share Posted May 25, 2012 My issue isnt with the splitting its with the variable that should be split. This treepath function i got is supposed to grab each section of the tree and put it all together in a string. It seems if i make a msgbox that displays _TreePath($treeview, $item) it will display something like Test Assigned12.0US. Then if i set a variable like $func = _TreePath($treeview, $item) it will only say $func is = Test Assigned. Could this be because when i open the screen it may default to the root of Test Assigned, so thats what its set to. The button processing part of code is done before the _treepath function is declared. Link to comment Share on other sites More sharing options...
water Posted May 25, 2012 Share Posted May 25, 2012 Sending the result of _TreePath to a variable or a function (MsgBox) doesn't make a difference. The result has to be the same. Different results can only be caused by different input to the function or different processing. Just my 2 cents. My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki Link to comment Share on other sites More sharing options...
ledigeine Posted May 31, 2012 Author Share Posted May 31, 2012 (edited) Yeah its in the processing, If i set the msgbox to display _TreePath($treeview, $item) it will display the full path. example: Shipped/11.1/US $func = _TreePath($treeview, $item) Then if i set the msgbox to display $func it will always give me the first item in the tree view. So $func is set to that right when script is run but after selecting an item in the tree it does not get set to the real selection. Maybe I should set $func to the tree function in the tree function... if thats possible ha. EDIT: OMG i got it! I had to set what $func is equal too in my while loop that checks for when the button is clicked. So when the button is clicked it sets $func to what ever the tree view is selected on! Sorry guys im new but im happy i figured it out. Thnx for leading me to the water Edited May 31, 2012 by ledigeine 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