Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/07/2020 in all areas

  1. After AutoIt 3.3.12.0 the handling of COM errors has been "fixed". Now nested COM operations crash the script in case of an error even when there is a COM error handler. Edit: All 3 problems have been fixed in AutoIt 3.3.14.3. Here you find a fixed version of function _Excel_RangeFind. I simply removed all nestings and added the missing COM error hander: Another function that needed some modification is _Excel_BookOpen. It crashed when a workbook was opened using _Excel_BookOpen with parameter $bVisible = True, saved and then reopened. The following modification solves the problem: 2017/06/19: Another function that needed some modification is _Word_DocSaveAs. It doesn't work with Word 2013 or later as MS felt the urge to change the name of the save method from SaveAs to SaveAs2. The following modification solves the problem: Please tell me if you still have problems with this or any other function from the Excel or Word UDF!
    1 point
  2. The columns conform to an order: Column 1 Column 2 Column 3 Column 4 I just re-read your question. If you want to sort in a different order then just prefix the column headers with the requried sort order. Example: if you need "g h d a" sorted as "d h a g" then prefix the columns with an index number like "04g 02h 01d 03a", sort them and then remove the first 2 numbers from the column headers.
    1 point
  3. Look in my signature for it...
    1 point
  4. I found in the web new version of my edge browser and its working fine.
    1 point
  5. Of course my example is not ideal. (It could be better)☹️ I finally found what I needed. And it was in front of your nose, so to speak, the whole time The _GUICtrlListView_FindParam () function from the same library returns the index of the point from the control-ID (GUI-Autoit). It also works fine with the sorting.
    1 point
  6. All I want is unsigned 64bit bitwise operations
    1 point
  7. Hey, If you read the function page it would help a lot. Random ( [Min = 0 [, Max = 1 [, Flag = 0]]] ) Parameters Min [optional] The smallest number to be generated. The default is 0. Max [optional] The largest number to be generated. The default is 1. Flag [optional] If this is set to 1 then an integer result will be returned. Default is a floating point number. so in order to get a random integer, in range 1-5 you would need to use random(1,5,1)
    1 point
  8. Well... maybe one you'll need your listview sorted, who knows... If it happens, please have a look at the 3 pics below : The pic above could represent a 2D array of your listview items just after it has been created (with only one data column on the right, to make these explanations simpler) 11 rows, 1 column in LV, content of the column (unsorted) => "CC" , "MM" ... "HH" Gui ID's for your items start at 7 because : * Gui ID's always start at 3 and... * ...you already created 4 controls before ($sLb, $nImp, $idButton, $idListview) which were assigned to GUI ID's 3, 4, 5, 6 LV ID and LV Index got the same value just after the LV is created (from 0 to 10) The pic above shows what happens when you sort using the _GUICtrlListView_SimpleSort() function : Content of cells is now sorted "AA" , "CC" ... "ZZ" LV ID = LV index because Windows didn't make the sort, all the sorting part is included in the UDF's (it would be same if you ever use one day ArrayMultiColSort() from Melba23 : LV ID = LV Index after the MultiColSort) The pic above shows what happens when you sort using _GUICtrlListView_SortItems() Content of cells is sorted "AA" , "CC" ... "ZZ" but all LV indexes have changed (they're no more equals to LV ID's) because Windows did the sort when LVM_SORTITEMSEX message was called (MSDN's explanations in my precedent post) So if you ever use this way of sorting, then you'll need _GUICtrlListView_MapIndexToID() and _GUICtrlListView_MapIDToIndex() to update your array accordingly. I think the quickest way to access a value directly in an Array is to use ArrayBinarySearch() but if you do this, the search column must be sorted in ascending order before the search is done (help file, topic ArrayBinarySearch) As you're saying that you won't sort the LV, why don't you just use ArrayBinarySearch() in the 1st pic, where both GUI ID column and LV Index column are already sorted ? Checking quickly a value in the GUI ID column will indicate you its corresponding LV index value... and vice-versa Hope it helps and good luck
    1 point
  9. @JockoDundee Ah I see. You are right that the struct isn't recursively defined (that's impossible in C), what I do is have a pointer for the same struct Technically it is not an array, it is just a pointer to an operand structure, but thanks to pointer arithmetic in C, we can treat it like an array if we allocate enough space to contain multiple structures. The number of elements is supposed to derived from the operation, so for example with OP_ADD (which is binary addition: 1 + 2) the code would assume 2 elements. There can be any number of operands (or arguments) for an operation, but we only use a maximum of 3 (the conditional `?:` operator takes 3 arguments, which is also why it is called the ternary operator). A "Token" represents an individual unit/value in the code, while an "Expression" represents a set of operations that are done on these tokens. In simple English, tokens are the numbers and symbols while the expression is the whole equation
    1 point
  10. AutoIt only supports 32bits bitwise operations (see remark in BitAND)
    0 points
×
×
  • Create New...