|
PB使用WININET的FTP方式自动更新(四、下载)(1)
四、下载 (只是处理二级目录) global type f_connect_ftpcopyfile from function_object end type forward prototypes global function integer f_connect_ftpcopyfile (hprogressbar hpb_1, long al_copycount) end prototypes global function integer f_connect_ftpcopyfile (hprogressbar hpb_1, long al_copycount); do while yield() loop string ls_directorya1 //远程目录 string ls_directorya2 //本地目录 string ls_filename,ls_file //本地目录 ls_directorya2 = gs_application_path string ls_directoryb1 //远程目录 string ls_directoryb2 //本地目录 string ls_filename1 //远程文件 string ls_filename2 //本地文件 long ll_hret long ll_hftp1 long ll_hftp2 long ll_fftp1 long ll_fftp2 long ll_m long ll_filehandle1,ll_filehandle2 integer li_ret boolean lb_sUCcess boolean lb_find s_WIN32_FIND_DATA ss_file1,ss_file2 w_autodown_test.st_ts.text = '正在检查需要更新软件的数量...' li_ret = f_connect_ftpserver() if li_ret = -1 then return -1 w_autodown_test.st_ts.text = '正在更新软件版本...' //建立连接 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
|