| 网站镜像:电信 网通 | 加入收藏 | 设为首页

PB使用WININET的FTP方式自动更新(二、判断是否可以连接)


  • global type f_connect_ftpserver from function_object
    end type

    forward prototypes
    global function integer f_connect_ftpserver ()
    end prototypes

    global function integer f_connect_ftpserver ();
    long ll_hret
    long ll_hftp
    integer li_ret = -1

    do while yield()
    loop

    ll_hret = InternetOpenA(gs_application_name,0,'','',0)
    if ll_hret = 0 or isnull(ll_hret) then
      //messagebox('错误!','缺少动态连接库WinInet.Dll!',stopsign!)
     return li_ret
    end if
    ll_hftp = InternetConnectA(ll_hret,GS_FTPSERVER1,GL_FTPLOGINPORT1,GS_FTPLOGINUSER1,GS_FTPLOGINPASS1,1,0,0)
    if ll_hftp = 0 then
      ll_hftp = InternetConnectA(ll_hret,GS_FTPSERVER2,GL_FTPLOGINPORT2,GS_FTPLOGINUSER2,GS_FTPLOGINPASS2,1,0,0)
     if ll_hftp = 0 then
      ll_hftp = InternetConnectA(ll_hret,GS_FTPSERVER3,GL_FTPLOGINPORT3,GS_FTPLOGINUSER3,GS_FTPLOGINPASS3,1,0,0)
      if ll_hftp = 0 then
       InternetCloseHandle(ll_hret)
       return li_ret
      ELSE
       li_ret = 3
      END IF
     ELSE
      li_ret = 2
     END IF
    else
     li_ret = 1
    end if
    InternetCloseHandle(ll_hret)
    InternetCloseHandle(ll_hftp)
    return li_ret

    end function