ADIR( ) 函數(shù)的作用是把文件信息存放到數(shù)組中,然后返回文件個(gè)數(shù)。
ADIR(ArrayName [, cFileSkeleton [, cAttribute [, nFlag]]])返回值數(shù)值型參數(shù)ArrayName 指定數(shù)組名。如果數(shù)組不存在,Visual FoxPro 將自動(dòng)創(chuàng)建此數(shù)組。如果數(shù)組存在,但其大小不足以包含所有信息,則 Visual FoxPro 自動(dòng)增加數(shù)組大小,使得數(shù)組能容納所有信息。
如果數(shù)組超過(guò)了所需大小,Visual FoxPro 將截掉多余部分。如果數(shù)組存在,并且 ADIR( ) 函數(shù)由于沒(méi)找到匹配文件而返回 0,則數(shù)組保持不變。如果數(shù)組不存在,并且 ADIR( ) 函數(shù)返回零,則不創(chuàng)建數(shù)組。 下表說(shuō)明了數(shù)組中每列的內(nèi)容及其數(shù)據(jù)類(lèi)型:
列 數(shù)組內(nèi)容 數(shù)據(jù)類(lèi)型
1 文件名 字符型
2 文件大小 數(shù)值型
3 文件最后修改日期 日期型
4 文件最后修改時(shí)間 字符型
5 文件屬性 字符型
數(shù)組的最后一列包含匹配文件的文件屬性。每個(gè)文件屬性值由一個(gè)字母表示,一個(gè)文件可有多個(gè)屬性。下表說(shuō)明每個(gè)字母表示的文件屬性含義:
字母 屬性
A 檔案文件 一 可讀寫(xiě)
H 隱藏文件
R 只讀文件
S 系統(tǒng)文件
D 目錄或文件夾
cFileSkeleton 指定文件梗概,以便存儲(chǔ)滿足搜索條件的文件名或擴(kuò)展名的文件信息。例如,條件可以是所有表、所有文本文件、所有文件名第一個(gè)字母為“A”的文件,等等。
這些通配查詢?cè)?cFileSkeleton 中可以包含通配符 * 和 ?。其中問(wèn)號(hào)代表單個(gè)字符,星號(hào)代表任意字符串。在文件梗概中,可在任意位置使用任意個(gè)數(shù)的通配符。 可以指定驅(qū)動(dòng)器和目錄名,程序?qū)⒃诖蓑?qū)動(dòng)器和目錄下搜索匹配文件。如果不指定驅(qū)動(dòng)器和目錄名,將把當(dāng)前目錄下的文件信息存入數(shù)組中。
cAttribute 指定在返回內(nèi)容中包含子目錄或嵌套文件夾、隱藏或系統(tǒng)文件、或者卷名。
cAttribute 可以是 D、H 和 S 的任意組合。如果包含 D,除了返回匹配 cFileSkeleton 的文件名外,還將返回當(dāng)前目錄的子目錄或當(dāng)前文件夾的嵌套文件夾。如果包含H,將返回與 cFileSkeleton 指定相匹配的隱藏文件信息。如果包含 S,將返回與 cFileSkeleton 指定通配文件名相匹配的系統(tǒng)文件信息。
如果 cFileSkeleton 為空字符串,僅返回子目錄或嵌套文件夾名、隱藏或系統(tǒng)文件。
cAttribute 參數(shù)中包含字符 V,將返回當(dāng)前驅(qū)動(dòng)器的卷名。如果 V 和 D、H 或 S 一起包含在數(shù)組中,則只返回卷名。卷名存入數(shù)組的第一個(gè)元素中,并截去數(shù)組的其余部分。
nFlag 指定是否顯示規(guī)定的 DOS 文件名或?qū)嶋H區(qū)分大小寫(xiě)。
nFlag 描述
0 (默認(rèn)) 以大寫(xiě)方式顯示完整的路徑名
1 以原始的大小寫(xiě)方式
2 按 DOS 8+3 命名約定 備注對(duì)于每一個(gè)文件,ADIR() 將文件名、大小、日期、時(shí)間和屬性信息存入數(shù)組。
下面的示例使用 ADIR( ) 函數(shù)創(chuàng)建一個(gè)包含數(shù)據(jù)庫(kù)信息的數(shù)組,然后顯示這些數(shù)據(jù)庫(kù)名。
CLOSEDATABASES
SETDEFAULT TO (HOME(2) + 'Data')
gnDbcnumber = ADIR(gaDatabase, '*.DBC') && 創(chuàng)建一個(gè)數(shù)組
CLEAR FOR nCount = 1 TO gnDbcnumber && 遍歷數(shù)據(jù)庫(kù)
? gaDatabase(nCount,1) && 顯示數(shù)據(jù)庫(kù)名
END FOR SET PATH TO HOME() && 設(shè)置路徑到 Visual FoxPro 目錄
新聞熱點(diǎn)
疑難解答