Morthawt Posted January 6, 2014 Share Posted January 6, 2014 #include <String.au3> #include <Array.au3> Global $test[2] $test[0] = _StringBetween(1231293, 1, 3) $test[1] = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test[0]) _ArrayDisplay($test[1]) ConsoleWrite($test[0][0] & @CRLF) I can access the contents via array display but when I try and manually pull a single entry out of the array I cannot find them. It always crashes. I have tried $test[0][0] $test[0][1] I just do not know how to find the entries manually. What am I doing wrong? Thanks. Free and easy Autoit scripting video tutorials (plus more videos always coming!) General video tutorials, especially correct and safe TeamSpeak permissions tutorials. Link to comment Share on other sites More sharing options...
vkrisz81 Posted January 6, 2014 Share Posted January 6, 2014 (edited) ehm i am not pro ! but if you have a one dimensional array why do you read 2 dimensional? if you have test[2] why do you want reach test[0][0]??? ooops somebody was faster :S Edited January 6, 2014 by vkrisz81 Link to comment Share on other sites More sharing options...
jdelaney Posted January 6, 2014 Share Posted January 6, 2014 (edited) Ooops, deleted my last post, but yes, you are using not using a 2D array, you are using an array of arrays. You need to create a temp array, to access it's elements. #include <String.au3> #include <Array.au3> Global $test[2] $test[0] = _StringBetween(1231293, 1, 3) $test[1] = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test[0]) _ArrayDisplay($test[1]) $aTemp = $test[0] ConsoleWrite($aTemp[0] & @CRLF) example with 2D array (requires a lot of failure handling|redimming, which I didn't include for simplicity): #include <String.au3> #include <Array.au3> Global $test[2][2] $aTemp = _StringBetween(1231293, 1, 3) For $i = 0 To UBound($aTemp)-1 $test[0][$i] = $aTemp[$i] Next $aTemp = _StringBetween('1Hello3', 1, 3) For $i = 0 To UBound($aTemp)-1 $test[1][$i] = $aTemp[$i] Next ConsoleWrite($test[0][0] & @CRLF) Edited January 6, 2014 by jdelaney IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. Link to comment Share on other sites More sharing options...
vkrisz81 Posted January 6, 2014 Share Posted January 6, 2014 i found a q what i could answer.. i have hope ^^ JayHawkfl 1 Link to comment Share on other sites More sharing options...
l3ill Posted January 6, 2014 Share Posted January 6, 2014 An even simpler look at it: Your variables dont need element numbers until you are declaring the element: #include <String.au3> #include <Array.au3> ;Global $test[2] $test_1 = _StringBetween(1231293, 1, 3) $test_2 = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test_1) _ArrayDisplay($test_2) ConsoleWrite("$test_1[0] = " & $test_1[0] & @CRLF) ConsoleWrite("$test_2[0] = " & $test_2[0] & @CRLF) My Contributions... SnippetBrowser NewSciTE PathFinder Text File Manipulation FTP Connection Tester / INI File - Read, Write, Save & Load Example Link to comment Share on other sites More sharing options...
MilesAhead Posted January 6, 2014 Share Posted January 6, 2014 i found a q what i could answer.. i have hope ^^ That's just to give you a false sense of security. My Freeware Page Link to comment Share on other sites More sharing options...
Morthawt Posted January 6, 2014 Author Share Posted January 6, 2014 An even simpler look at it: Your variables dont need element numbers until you are declaring the element: #include <String.au3> #include <Array.au3> ;Global $test[2] $test_1 = _StringBetween(1231293, 1, 3) $test_2 = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test_1) _ArrayDisplay($test_2) ConsoleWrite("$test_1[0] = " & $test_1[0] & @CRLF) ConsoleWrite("$test_2[0] = " & $test_2[0] & @CRLF) Right, but I am trying to do something that is dynamic. I have no idea how many times I will need to cycle through so I am planning on using an array that increments to store the information, that way I hope to process everything and be able to dynamically count how many array entries need processing. Now that I know it is an array that is stored inside an array entry that makes sense. Thanks everyone. If I need any more clarification I will reply again. Thanks! Free and easy Autoit scripting video tutorials (plus more videos always coming!) General video tutorials, especially correct and safe TeamSpeak permissions tutorials. Link to comment Share on other sites More sharing options...
jchd Posted January 6, 2014 Share Posted January 6, 2014 #include <String.au3> #include <Array.au3> Global $test[2] $test[0] = _StringBetween(1231293, 1, 3) $test[1] = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test[0]) _ArrayDisplay($test[1]) ConsoleWrite($test[0][0] & @CRLF) I can access the contents via array display but when I try and manually pull a single entry out of the array I cannot find them. It always crashes. I have tried $test[0][0] $test[0][1] I just do not know how to find the entries manually. What am I doing wrong? Thanks. You can use the newly introduced syntax: #include <String.au3> #include <Array.au3> Global $test[2] $test[0] = _StringBetween(1231293, 1, 3) $test[1] = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test[0]) _ArrayDisplay($test[1]) ConsoleWrite(($test[0])[0] & @CRLF) This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.Another excellent RegExp tutorial. Don't forget downloading your copy of up-to-date pcretest.exe and pcregrep.exe hereRegExp tutorial: enough to get startedPCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta. SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt) Link to comment Share on other sites More sharing options...
jdelaney Posted January 6, 2014 Share Posted January 6, 2014 That's awesome. Might have to upgrade. You can use the newly introduced syntax: #include <String.au3> #include <Array.au3> Global $test[2] $test[0] = _StringBetween(1231293, 1, 3) $test[1] = _StringBetween('1Hello3', 1, 3) _ArrayDisplay($test[0]) _ArrayDisplay($test[1]) ConsoleWrite(($test[0])[0] & @CRLF) IEbyXPATH-Grab IE DOM objects by XPATH IEscriptRecord-Makings of an IE script recorder ExcelFromXML-Create Excel docs without excel installed GetAllWindowControls-Output all control data on a given window. Link to comment Share on other sites More sharing options...
Morthawt Posted January 6, 2014 Author Share Posted January 6, 2014 omg.. will that do what I think it does? No need to assign a temporary variable because ($var[0])[2] will get access to the third entry on the array that was stored inside the first one?? Free and easy Autoit scripting video tutorials (plus more videos always coming!) General video tutorials, especially correct and safe TeamSpeak permissions tutorials. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 6, 2014 Moderators Share Posted January 6, 2014 Morthawt,Exactly. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
vkrisz81 Posted January 6, 2014 Share Posted January 6, 2014 That's just to give you a false sense of security. i wish say u u are so kind, but you are not ^^ Link to comment Share on other sites More sharing options...
Morthawt Posted January 6, 2014 Author Share Posted January 6, 2014 Morthawt, Exactly. M23 Wow.. I would never have realised that from the changelog. That is nice. Free and easy Autoit scripting video tutorials (plus more videos always coming!) General video tutorials, especially correct and safe TeamSpeak permissions tutorials. Link to comment Share on other sites More sharing options...
wraithdu Posted January 6, 2014 Share Posted January 6, 2014 Word of warning, you cannot use that syntax to assign values to the inner arrays. Global $a[1] = [1] Global $b[1] = [$a] ConsoleWrite(($b[0])[0] & @CRLF) ($b[0])[0] = 2 ConsoleWrite(($b[0])[0] & @CRLF) Link to comment Share on other sites More sharing options...
Morthawt Posted January 7, 2014 Author Share Posted January 7, 2014 Word of warning, you cannot use that syntax to assign values to the inner arrays. Global $a[1] = [1] Global $b[1] = [$a] ConsoleWrite(($b[0])[0] & @CRLF) ($b[0])[0] = 2 ConsoleWrite(($b[0])[0] & @CRLF) Thats fine, as long as you can retrieve the values that's perfect. Free and easy Autoit scripting video tutorials (plus more videos always coming!) General video tutorials, especially correct and safe TeamSpeak permissions tutorials. 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