|
PB使用WININET的FTP方式自动更新(三、获得要更新的文件数)(1)
三、获得要更新的文件数 (只是处理二级目录) 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);
|