网站运营seo文章大全提供全面的站长运营经验及seo技术!
四、统计复制文件数量函数f_connect_copycount
需要控件:listbox(3个)
返回值:需要下载的文件个数。
global type f_connect_copycount from function_object
end type
forward prototypes
global function integer f_connect_copycount (string as_path, listbox lb_filecopy1, listbox lb_filecopy2, listbox lb_filecopy3)
end prototypes
global function integer f_connect_copycount (string as_path, listbox lb_filecopy1, listbox lb_filecopy2, listbox lb_filecopy3);
string ls_directorya1,ls_directorya2
string ls_filename,ls_file
ls_directorya1 = as_path
ls_directorya2 = gs_application_path
string ls_directoryb1,ls_directoryb2
string ls_directoryc1,ls_directoryc2
string ls_filename1,ls_filename2
long ll_filecounta1,ll_filecounta2
long ll_filecountb1,ll_filecountb2
long ll_filecountc1,ll_filecountc2
long ll_cnt1
long ll_cnt2
long ll_cnt3
s_filetime sf_createtime1,sf_createtime2
s_filetime sf_accesstime1,sf_accesstime2
s_filetime sf_writetime1,sf_writetime2
s_win32_find_data ss_file1,ss_file2
long ll_filehandle1,ll_filehandle2
long ll_k
ls_file = ls_directorya1 + '/*.*'
if not lb_filecopy1.dirlist(ls_file, 0+1+2+16+32) then
return -1
end if
ll_filecounta1 = lb_filecopy1.totalitems()
ll_k = 0
for ll_cnt1 = 1 to ll_filecounta1
ls_file = lb_filecopy1.text(ll_cnt1)
if left(ls_file,1) = '[' then
ls_filename = right(ls_file,len(ls_file) - 1)
ls_filename = left(ls_filename,len(ls_filename) - 1)
if ls_filename = '..' then continue
ls_directoryb1 = ls_directorya1 + '/' + ls_filename
ls_directoryb2 = ls_directorya2 + '/' + ls_filename
if directoryexists(ls_directoryb2) = false then
ll_k++
end if
ls_file = ls_directoryb1 + '/*.*'
lb_filecopy2.dirlist(ls_file, 0+1+2+16)
ll_filecountb1 = lb_filecopy2.totalitems()
for ll_cnt2 = 1 to ll_filecountb1
ls_file = lb_filecopy2.text(ll_cnt2)
if left(ls_file,1) = '[' then
ls_filename = right(ls_file,len(ls_file) - 1)
ls_filename = left(ls_filename,len(ls_filename) - 1)
if ls_filename = '..' then continue
ls_directoryc1 = ls_directoryb1 + '/' + ls_filename
ls_directoryc2 = ls_directoryb2 + '/' + ls_filename
if directoryexists(ls_directoryc2) = false then
ll_k++
end if
ls_file = ls_directoryc1 + '/*.*'
lb_filecopy3.dirlist(ls_file, 0+1+2+16)
ll_filecountc1 = lb_filecopy3.totalitems()
for ll_cnt3 = 1 to ll_filecountc1
ls_file = lb_filecopy3.text(ll_cnt3)
if ls_file = '[..]' then continue
//判断文件,比较和下载
ls_filename1 = ls_directoryc1 + '/' + ls_file
ls_filename2 = ls_directoryc2 + '/' + ls_file
if fileexists(ls_filename2) = false then
ll_k++
else
ll_filehandle1 = findfirstfilea(ls_filename1,ss_file1)
findclose(ll_filehandle1)
ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
findclose(ll_filehandle2)
choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
case 0
//两个时间相等,就返回零
case 1
//如lpfiletime2小于lpfiletime1,返回1
//下载
ll_k++
case -1
//如lpfiletime1小于lpfiletime2,返回-1
end choose
end if
next
else
//判断文件,比较和下载
ls_filename1 = ls_directoryb1 + '/' + ls_file
ls_filename2 = ls_directoryb2 + '/' + ls_file
if fileexists(ls_filename2) = false then
ll_k++
else
ll_filehandle1 = findfirstfilea(ls_filename1,ss_file1)
findclose(ll_filehandle1)
ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
findclose(ll_filehandle2)
choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
case 0
//两个时间相等,就返回零
case 1
//如lpfiletime2小于lpfiletime1,返回1
//下载
ll_k++
case -1
//如lpfiletime1小于lpfiletime2,返回-1
end choose
end if
end if
next
else
//判断文件,比较和下载
ls_filename1 = ls_directorya1 + '/' + ls_file
ls_filename2 = ls_directorya2 + '/' + ls_file
if fileexists(ls_filename2) = false then
ll_k++
else
ll_filehandle1 = findfirstfilea(ls_filename1,ss_file1)
findclose(ll_filehandle1)
ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
findclose(ll_filehandle2)
choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
case 0
//两个时间相等,就返回零
case 1
//如lpfiletime2小于lpfiletime1,返回1
//下载
choose case lower(ls_file)
case 'hbky_autodown.exe' //下载程序
case 'hbky_autodown.pbd'
//case 'autodown.ini'
case else
ll_k++
end choose
case -1
//如lpfiletime1小于lpfiletime2,返回-1
end choose
end if
end if
next
return ll_k
end function