ascan( ) 函式

StartElemen StartElemen StartElemen

ascan( ) 函式
在數組中搜尋與一個表達式具有相同數據和數據類型的元素。

語法

ASCAN(ArrayName, eExpression [, nStartElement [,
nElementsSearched]])

參數

ArrayName

指定要在其中進行搜尋的數組。

eExpression

指定要搜尋的常規表達式。

nStartElement

指定開始搜尋的元素號(含此元素)。如果忽略參數 nStartElement,則默認搜尋整個數組。

nElementsSearched

指定要搜尋的元素數目。如果忽略參數 nStartElement 和 nElementSearched,將從第一個元素開始搜尋到最後一個元素。

附註

有兩種方式可以引用二維記憶體變數數組中的某個元素。第一種方法為引用確定元素在數組的第幾行和第幾列的兩個下標值,另一種方法為使用元素編號。此函式和其他操作二維數組的函式需要元素的編號值 ( nStartElement 和 nElementsSearched )。使用 AELEMENT( ) 函式可將二維數組中元素的行列下標值轉換成編號。

返回值類型

數值型

說明

如果找到了匹配元素,ASCAN( )函式將返回找到的元素編號。如果沒有找到匹配元素,
ASCAN( ) 的返回值為零。
字元數據成功匹配的條件由 SET EXACT 命令決定。如果 SET EXACT 為 ON,數組元素與查找表達式必須逐字元匹配並且長度相等;如果 SET EXACT 為 OFF,只要元素與到表達式末尾為止的字元相匹配,匹配即成功。有關字元串匹配條件的詳細內容,請參閱 SET EXACT 主題中的“字元串比較表”。

ascan( ) 函式示例

下面的示例創建一個數組,並用公司名給每個元素賦值。然後使用 ascan( ) 函式搜尋特定的公司名。如果在數組中找到這個公司名,將其從數組中刪除。

close databases
open database (home( ) + 'samples\data\testdata')
use customer && 打開表 customer
select company from customer ;
where country = 'uk' ;
into array gacompanies
gncount = _tally
gcname = 'seven seas imports'
clear
display memory like gacompanies*
gnpos = ascan(gacompanies, gcname) && 搜尋公司名
if gnpos != 0
*** 如果找到此公司名,將其從數組刪除 ***
= ADEL(gacompanies, gnpos)
gncount = gncount - 1
endif
display memory like gacompanies

相關詞條

相關搜尋

熱門詞條

聯絡我們