国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

PB使用WININET的FTP方式自動(dòng)更新(三、獲得要更新的文件數(shù))

2024-07-21 02:09:55
字體:
供稿:網(wǎng)友

三、獲得要更新的文件數(shù)
(只是處理二級(jí)目錄)
global type f_connect_ftpcount from function_object
end type

forward prototypes
global function integer f_connect_ftpcount ()
end prototypes

global function integer f_connect_ftpcount ();
do while yield()
loop

string ls_directorya1,ls_directorya2

ls_directorya2 = gs_application_path

string ls_directoryb1,ls_directoryb2
string ls_filename1,ls_filename2

long ll_hret
long ll_hftp1
long ll_hftp2
long ll_fftp1
long ll_fftp2
integer li_ret
long ll_filehandle1,ll_filehandle2
long ll_k

boolean lb_success

s_win32_find_data ss_file1,ss_file2

li_ret = f_connect_ftpserver()
if li_ret = -1 then return -1

ll_hret = internetopena(gs_application_name,0,'','',0)
choose case li_ret
 case 1
  ls_directorya1 = gs_ftpdir1
  ll_hftp1 = internetconnecta(ll_hret,gs_ftpserver1,gl_ftploginport1,gs_ftploginuser1,gs_ftploginpass1,1,0,0)
 case 2
  ls_directorya1 = gs_ftpdir2
  ll_hftp1 = internetconnecta(ll_hret,gs_ftpserver2,gl_ftploginport2,gs_ftploginuser2,gs_ftploginpass2,1,0,0)
 case 3
  ls_directorya1 = gs_ftpdir3
  ll_hftp1 = internetconnecta(ll_hret,gs_ftpserver3,gl_ftploginport3,gs_ftploginuser3,gs_ftploginpass3,1,0,0)
 case else
  internetclosehandle(ll_hret);
  return -1
end choose
lb_success = ftpsetcurrentdirectorya(ll_hftp1,ls_directorya1)
if not lb_success then
 internetclosehandle(ll_hret);
 internetclosehandle(ll_hftp1);
 return -1
end if
ll_fftp1 = ftpfindfirstfilea(ll_hftp1,'',ss_file1,0,0)
if ll_fftp1 = 0 then
 internetclosehandle(ll_hret);
 internetclosehandle(ll_hftp1);
 internetclosehandle(ll_fftp1);
 return 0
end if
ll_k = 0
if ss_file1.dwfileattributes = 16 then
 ls_directoryb1 = ls_directorya1 + '/' + ss_file1.cfilename
 ls_directoryb2 = ls_directorya2 + '/' + ss_file1.cfilename
 if directoryexists(ls_directoryb2) = false then
  ll_k++
 end if
 choose case li_ret
  case 1
   ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver1,gl_ftploginport1,gs_ftploginuser1,gs_ftploginpass1,1,0,0)
  case 2
   ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver2,gl_ftploginport2,gs_ftploginuser2,gs_ftploginpass2,1,0,0)
  case 3
   ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver3,gl_ftploginport3,gs_ftploginuser3,gs_ftploginpass3,1,0,0)
 end choose
 lb_success = ftpsetcurrentdirectorya(ll_hftp2,ls_directoryb1)
 if lb_success  then
  ll_fftp2 = ftpfindfirstfilea(ll_hftp2,'',ss_file1,0,0)
  ls_filename2 = ls_directoryb2 + '/' + ss_file1.cfilename
  if fileexists(ls_filename2) = false then
   ll_k++
  else
   ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
   findclose(ll_filehandle2)
   choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
    case 0
     //兩個(gè)時(shí)間相等,就返回零
    case 1
     //如lpfiletime2小于lpfiletime1,返回1
     //下載
     ll_k++
    case -1
     //如lpfiletime1小于lpfiletime2,返回-1
   end choose
  end if
  do while internetfindnextfilea(ll_fftp2, ss_file1)
   yield()
   ls_filename2 = ls_directoryb2 + '/' + ss_file1.cfilename
   if fileexists(ls_filename2) = false then
    ll_k++
   else
    ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
    findclose(ll_filehandle2)
    choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
     case 0
      //兩個(gè)時(shí)間相等,就返回零
     case 1
      //如lpfiletime2小于lpfiletime1,返回1
      //下載
      ll_k++
     case -1
      //如lpfiletime1小于lpfiletime2,返回-1
    end choose
   end if
  loop
  internetclosehandle(ll_hftp2);
  internetclosehandle(ll_fftp2);
 end if
else
 ls_filename2 = ls_directorya2 + '/' + ss_file1.cfilename
 if fileexists(ls_filename2) = false then
  ll_k++
 else
  ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
  findclose(ll_filehandle2)
  choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
   case 0
    //兩個(gè)時(shí)間相等,就返回零
   case 1
    //如lpfiletime2小于lpfiletime1,返回1
    //下載
    ll_k++
   case -1
    //如lpfiletime1小于lpfiletime2,返回-1
  end choose
 end if
end if
do while internetfindnextfilea(ll_fftp1, ss_file1)
 yield()
 if ss_file1.dwfileattributes = 16 then
  ls_directoryb1 = ls_directorya1 + '/' + ss_file1.cfilename
  ls_directoryb2 = ls_directorya2 + '/' + ss_file1.cfilename
  if directoryexists(ls_directoryb2) = false then
   ll_k++
  end if
  choose case li_ret
   case 1
    ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver1,gl_ftploginport1,gs_ftploginuser1,gs_ftploginpass1,1,0,0)
   case 2
    ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver2,gl_ftploginport2,gs_ftploginuser2,gs_ftploginpass2,1,0,0)
   case 3
    ll_hftp2 = internetconnecta(ll_hret,gs_ftpserver3,gl_ftploginport3,gs_ftploginuser3,gs_ftploginpass3,1,0,0)
  end choose
  lb_success = ftpsetcurrentdirectorya(ll_hftp2,ls_directoryb1)
  if lb_success then
   ll_fftp2 = ftpfindfirstfilea(ll_hftp2,'',ss_file1,0,0)
   ls_filename2 = ls_directoryb2 + '/' + ss_file1.cfilename
   if fileexists(ls_filename2) = false then
    ll_k++
   else
    ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
    findclose(ll_filehandle2)
    choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
     case 0
      //兩個(gè)時(shí)間相等,就返回零
     case 1
      //如lpfiletime2小于lpfiletime1,返回1
      //下載
      ll_k++
     case -1
      //如lpfiletime1小于lpfiletime2,返回-1
    end choose
   end if
   do while internetfindnextfilea(ll_fftp2, ss_file1)
    yield()
    ls_filename2 = ls_directoryb2 + '/' + ss_file1.cfilename
    if fileexists(ls_filename2) = false then
     ll_k++
    else
     ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
     findclose(ll_filehandle2)
     choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
      case 0
       //兩個(gè)時(shí)間相等,就返回零
      case 1
       //如lpfiletime2小于lpfiletime1,返回1
       //下載
       ll_k++
      case -1
       //如lpfiletime1小于lpfiletime2,返回-1
     end choose
    end if
   loop
   internetclosehandle(ll_hftp2);
   internetclosehandle(ll_fftp2);
  end if
 else
  ls_filename2 = ls_directorya2 + '/' + ss_file1.cfilename
  if fileexists(ls_filename2) = false then
   ll_k++
  else
   ll_filehandle2 = findfirstfilea(ls_filename2,ss_file2)
   findclose(ll_filehandle2)
   choose case comparefiletime(ss_file1.ftlastwritetime,ss_file2.ftlastwritetime)
    case 0
     //兩個(gè)時(shí)間相等,就返回零
    case 1
     //如lpfiletime2小于lpfiletime1,返回1
     //下載
     ll_k++
    case -1
     //如lpfiletime1小于lpfiletime2,返回-1
   end choose
  end if
 end if
loop
internetclosehandle(ll_hret);
internetclosehandle(ll_hftp1);
internetclosehandle(ll_fftp1);
return ll_k

end function

 


收集最實(shí)用的網(wǎng)頁特效代碼!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 绥阳县| 博兴县| 诏安县| 鄄城县| 长武县| 嘉黎县| 黔西县| 汤阴县| 和平区| 汝南县| 合水县| 霞浦县| 安图县| 灌阳县| 汶川县| 察哈| 赤城县| 舒兰市| 泰顺县| 虹口区| 望都县| 河南省| 玛曲县| 横峰县| 青河县| 衡东县| 岗巴县| 临猗县| 江安县| 库尔勒市| 镇江市| 茶陵县| 财经| 海城市| 尚志市| 习水县| 陵川县| 广宁县| 固安县| 阜康市| 五大连池市|