WinAPIに文字の数字を数値とみなして比較する StrCmpLogicalW関数 があるので、
それを使うとエクスプローラーのような並びでソートできます。
#include "hsp3util.as"
#uselib "shlwapi"
#cfunc StrCmpLogicalW "StrCmpLogicalW" wstr, wstr
list = {"005.png
1.png
10.png
2.png
a1.png"}
note2array list_arr, list //複数行文字列を配列へ
//バブルソート(あまり速くない)
len = length(list_arr)
repeat len
cnt_ = cnt
fin = 1
repeat len - cnt_ - 1
if (StrCmpLogicalW(list_arr(cnt), list_arr(cnt + 1)) > 0){
s = list_arr(cnt)
list_arr(cnt) = list_arr(cnt + 1)
list_arr(cnt + 1) = s
fin = 0
}
loop
if (fin){
break
}
loop
array2note list, list_arr //配列を複数行文字列へ
mes list