函數先把項目字串中的項目以遞增排序,然後傳回整個字串或最前的若干個項目,假如項目串裡包含了子項目串 (sub-item) ,你可以指定用以排序的子項目。
語法
ListSort(cValueExpr,nItemsReturned,cSeparator,nSortSubItem,cSubItemSeparator)
或
ListSort(cValueExpr,nItemsReturned,cSeparator,cSortExpr,cSubItemSeparator)
參數 |
註釋 |
例子 |
cValueExpr |
項目串(或傳回項目串的算式) |
'12:45/6:00/9:40' |
nItemsReturned |
傳回最前多少個項目(依排序後的次序),預設為所有項目 |
3 |
cSeparator |
項目串的項目分隔字串(可多於一字元),預設為 ',' |
'/' |
nSortSubItem |
指定以第幾個子項目串排序(假如有子項目串的話),假如省略了,系統會用整個項目排序。 |
2 |
cSortExpr |
以 ListCol( ) 及ListColVal( ) 組成的算式用以決定排序的值,ListCol( ) 用以指定子項目字串,ListColVal( ) 則把指定的子項目字串化成數字,請參閱下面的例子以了解 ListCol( ) 和 ListColVal( ) 的使用方法。假如cSortExpr參數省略了,系統會用整個項目排序。 |
'ListColVal(1)+ListColVal(2) |
cSubItemSeparator |
子項目串中的項目分隔字串(可多於一字元),預設為 '-' |
':' |
回傳值
Character
例子
ListSort('Orange,Apple,Grape,Pear')
傳回 'Apple,Grape,Orange,Pear'。
ListSort('12:45/6:00/9:40',3,'/',2,':')
傳回 '6:00/9:40/12:45'。在項目串中第二子項目分別為 '45','00' 和 '40',依第二子項目排序以後項目串變成了 '6:00/9:40/12:45'。
ListSort('5-4,23-15,3-26',1,,2)
傳回 '23-15,5-4,3-26'。在項目串中第二子項目分別為 '4','15' 和 '26',請留意當比較字串時 '4' > '15' (因 '4' > '1',和數字的比較 4 < 15不同),所以排序後字串變為 '23-15,5-4,3-26' 。
ListSort('5-4,6-1,2-6',1,,'ListColVal(1)+ListColVal(2)')
傳回 '6-1,2-6,5-4'。參數 'ListColVal(1)+ListColVal(2)' 表示用第1子項目的數值和第2 子項目的數值之和排序:
項目 |
ListColVal(1)+ListColVal(2) |
'5-4' |
5 + 4 = 9 |
'6-1' |
6 + 1 = 7 |
'2-6' |
2 + 6 = 8 |
由於 7<8<9,故此函數傳回 '6-1,2-6,5-4'。
ListSort('5-4,6-12,2-6',1,,'ListCol(1)+ListCol(2)')
傳回 '6-12,5-4,2-6'。參數 'ListCol(1)+ListCol(2)' 表示用第1子項目的文字和第2 子項目的文字合併成的字串排序:
項目 |
ListCol(2)+ListCol(1) |
'5-4' |
'4' + '5' = '44' |
'6-12' |
'12' + '6' = '126' |
'2-6' |
'6' + '2' = '62' |
由於 '126'<'44'<'62' (注意:由於 '1'<'4',所以 '126'<'44'),故此在排序傳回 '6-12,5-4,2-6'。
Page url: http://www.racematenet.com/help/index.html?listsort.htm