對上一層:  模型程式語言參考手冊 > 項目串函數 >

ListSort( )

Print this Topic Previous pageReturn to chapter overviewNext page

函數先把項目字串中的項目以遞增排序,然後傳回整個字串或最前的若干個項目,假如項目串裡包含了子項目串 (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