Jump to content

Recommended Posts

Posted (edited)

I have done some experimenting with _ArraySort() on a 2D array containing only string elements. The array is generated with:

Local $ar[200][5]
For $i = 0 to 199
    for $j = 0 to 4
        Local $n = Chr(Random(97,122,1))
        $ar[$i][$j] = $n&StringFormat('%03u',$i)&'_'&$j
    Next
Next

My observations:

  • _ArraySort($ar,0,0,0,0) sorts the array on all columns
  • _ArraySort($ar,0,0,0,$n) for $n from 1 to 3 sorts on column $n

So there seems to be no way of sorting only on the first column, column 0.

The help for the latest beta says $isubItem  Sub-index to sort on in 2D arrays (default 0 = first column)

Is this a bug or does the help page need to be changed? Many people (including me) have probably coded _ArraySort($ar,0,0,0,0) to sort a whole array.

Edited by Melba23
Amended title
Spoiler

CDebug Dumps values of variables including arrays and DLL structs, to a GUI, to the Console, and to the Clipboard

 

Posted

So there seems to be no way of sorting only on the first column, column 0.

 _ArraySort($ar) will do that, just like _ArraySort($ar, 0, 0, 0, 0). I don't see columns 1...4 sorted anyway (release or beta). Sort applies to column 0 only.

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 here
RegExp tutorial: enough to get started
PCRE 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)

  • Moderators
Posted

c.haslam,

_ArraySort works on all columns (including column 0) for me:

#include <Array.au3>

Local $ar[10][5]
For $i = 0 To 9
    For $j = 0 To 4
        Local $n = Chr(Random(97, 122, 1))
        $ar[$i][$j] = $n & StringFormat('%03u', $i) & '_' & $j
    Next
Next

_ArrayDisplay($ar, "Unsorted", Default, 8)

For $i = 0 To 4
    _ArraySort($ar, 0, 0, 0, $i)
    _ArrayDisplay($ar, "Sorted on col: " & $i, Default, 8)
Next

M23

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png 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 columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...