Page 1 of 1

Numerische Sortierung von Variablen

Posted: 30 Apr 2024, 05:28
by gero
Simple numerische Sortierfunktion (nur für ahk V1 ?) für Variablen aller Art mit einem sinnvollen INDEX im Namen.
Einzige Bedingung ist, dass ausser dem Index keine weiteren Zahlen im Namen vorkommen.
AHK sortiert da von Haus imho nicht wirklich sinnvoll.

gruss
gero

Code: Select all

#SingleInstance force
Var = 
(
c:\xxx\yyy\a_5.abc
c:\xxx\yyy\a_3.abc
c:\xxx\yyy\a_7.abc
c:\xxx\yyy\a_9.abc
c:\xxx\yyy\a_1.abc
c:\xxx\yyy\a_32.abc
c:\xxx\yyy\a_2.abc
c:\xxx\yyy\a_21.abc
c:\xxx\yyy\a_777.abc
c:\xxx\yyy\a_79.abc
c:\xxx\yyy\a_4.abc
)

Sort,VAR, ; 		hier macht AHK Unsinn beim sortieren der Zahlen
MsgBox,4096,original ahk,% VAR

Sort Var,F sort_num_1
MsgBox,4096,aufsteigend, % Var

Sort Var,F sort_num_2
MsgBox,4096,absteigend, % Var
exitapp

sort_num_1(f, g) {
	A:=RegExReplace(f, "\D")
	B:=RegExReplace(g, "\D")
return A - B  ; 		aufsteigend
}

sort_num_2(f, g) {
	A:=RegExReplace(f, "\D")
	B:=RegExReplace(g, "\D")
return B - A  ; 		absteigend
}