將文件信息存放到數組中,然後返回文件個數。
語法
ADIR(ArrayName [, cFileSkeleton [, cAttribute ]])
參數
ArrayName
指定數組名。如果數組不存在,Visual FoxPro 將自動創建此數組。如果數組存在,但其大小不足以包含所有信息,則 Visual FoxPro 自動增加數組大小,使得數組能容納所有信息。如果數組超過了所需大小,Visual FoxPro 將截掉多余部分。如果數組存在,並且 ADIR( )
函數由於沒找到匹配文件而返回 0,則數組保持不變。如果數組不存在,並且 ADIR( ) 函數返回零,則不創建數組。
下表說明了數組中每列的內容及其數據類型:
列 數組內容 數值類型
1 文件名 字符型
2 文件大小 數值型
3 文件日期 日期型
4 文件時間 字符型
5 文件屬性 字符型
數組的最後壹列包含匹配文件的文件屬性。每個文件屬性值由壹個字母表示,壹個文件可有多個屬性。下表說明每個字母表示的文件屬性含義:
字母 屬性
A 檔案文件 壹 可讀寫(在 FoxPro for Macintosh 中,此屬性無效)
H 隱藏文件
R 只讀文件
S 系統文件
D 目錄或文件夾
cFileSkeleton
指定文件梗概,以便存儲滿足搜索條件的文件名或擴展名的文件信息。例如,條件可以是所有表、所有文本文件、所有文件名第壹個字母為“A”的文件,等等。這些通配查詢在 cFileSkeleton 中可以包含通配符 * 和 ?。其中問號代表單個字符,星號代表任意字符串。在文件梗概中,可在任意位置使用任意個數的通配符。
在 Visual FoxPro、FoxPro for Windows 和 FoxPro for MS-DOS 中,可以指定驅動器和目錄名,程序將在此驅動器和目錄下搜索匹配文件。如果不指定驅動器和目錄名,將把當前目錄下的文件信息存入數組中。
在 FoxPro for Macintosh 中,可以搜索匹配文件名的卷和文件夾。如果不指定卷和文件夾,FoxPro for Macintosh 將當前文件夾中的文件信息存入數組中。
cAttribute
指定在返回內容中包含子目錄或嵌套文件夾、隱藏或系統文件、或者卷名。
cAttribute 可以是 D、H 和 S 的任意組合。如果包含 D,除了返回匹配 cFileSkeleton 的文件名外,還將返回當前目錄的子目錄或當前文件夾的嵌套文件夾。如果包含 H,將返回與 cFileSkeleton 指定相匹配的隱藏文件信息。如果包含 S,將返回與 cFileSkeleton 指定通配文件名相匹配的系統文件信息。
如果 cFileSkeleton 為空字符串,僅返回子目錄或嵌套文件夾名、隱藏或系統文件。
cAttribute 參數中包含字符 V,將返回當前驅動器的卷名。如果 V 和 D、H 或 S 壹起包含在數組中,則只返回卷名。卷名存入數組的第壹個元素中,並截去數組的其余部分。
返回值類型
數值型
說明
對於每壹個文件,ADIR( ) 將文件名、大小、日期、時間和屬性信息存入數組。
例子:
=adir(abc,"d:\123\*.jpg")
把d:\123文件夾下jpg照片文件的名字、大小、日期、時間和屬性信息存入數組abc