Ich möchte ein wListCtrl nach Inhalt (nicht Index) sortieren.
proc sortItems(self: wListCtrl; callback: wListCtrl_Compare; data: int = 0)
und die Beschreibung der Callback-Funktion:
wListCtrl_Compare = proc (item1: int; item2: int; data: int): int
Aber wie soll ich Werte mit dieser Vorgabe vergleichen? Die Callback-Funktion verlangt Integer als Parameter und das Ergebnis ist auch Integer. Ich habe aber Textdaten in der Liste, die ich vergleichen möchte.
In Lua würde ich das z.B. so lösen in einem table: table.sort(myTable, function(a, b) return myTable[a] > myTable[b] end) . Das Ergebnis von einem Compare ist in jedem Fall Bool - nie Integer. In Lua wäre das egal, da wie in AutoIt auch nummerische Werte als bool interpretiert werden. Aber Nim ist da absolut typgetreu.
EDIT:
Ich habe momentan die Anzeige so umgestaltet, dass die zu sortierende Spalte immer die erste ist. Somit reicht erst mal der Style wLcSortAscending. Aber interessieren würde mich schon, wie es geht.