回复 4楼 瓜瓜1990
如果停止使用FUNCTION listfiles(tcFolder)代码,我不知道后面的listfiles(tcFolder)怎么处理?下面是源代码:
listfiles=GETDIR([])
CREATE TABLE files0 (文件名 C(100), 文件大小 N(13), 修改日期 T, 类型 C(3), 路径 C(80))
&& 创建表
listfiles([&listfiles])
&& 建立listfiles函数
BROWSE
*FUNCTION listfiles(tcFolder)
&& 自定义路径函数
LOCAL ARRAY laFiles[1]
&& 创建的数组laFiles,[1]表示一组。
LOCAL lcFileName, ii
m.tcFolder = ADDBS(m.tcFolder)
&& 向路径表达式添加一个反斜杠。
IF ADIR(m.laFiles, m.tcFolder + '*.*', 'AHRSD', 1) < 3
&& 若是文件长度小于3个字节,则不计算。
RETURN .F.
ENDIF
ASORT(m.laFiles, 3, -1, 1)
&& 按第3列排序数组,最后一位数大于0为降序排序。
FOR m.ii = 1 TO ALEN(m.laFiles, 1)
&& 返回数组中元素、行或列的数目。
m.lcFileName = m.laFiles[m.ii, 1]
DO CASE
CASE '.' == m.lcFileName Or '..' == m.lcFileName
CASE AT('D', m.laFiles[m.ii, 5]) > 0
&& 在一个字符表达式中查找另一个字符表达式出现的位置。
listfiles(m.tcFolder + m.lcFileName)
OTHERWISE
lafilesdt1=DTOC(m.lafiles[m.ii, 3])
lafilesdt2=m.lafiles[m.ii, 4]
m.lafiles[m.ii, 3]=CTOT([&lafilesdt1 &lafilesdt2])
INSERT INTO files0 VALUES (m.lafiles[m.ii, 1], m.lafiles[m.ii, 2], m.lafiles[m.ii, 3], JUSTEXT(m.lafiles[m.ii, 1]), m.tcFolder)
&& 将数据录入到表中。
ENDCASE
ENDFOR
*ENDFUNC
&& 标识 FUNCTION 结构的结束。