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