FTP Class 2.0.1 - question and answers

How to change mode from passive to active

LOCAL loFTP,lii
LOCAL ARRAY laFolders(1)
#INCLUDE "x:\ftp\ftp.h"
SET PROCEDURE TO x:\ftp\ftp.prg ADDITIVE 
loFTP=CREATEOBJECT('ftp_service') 
loFTP.nFlags=BITXOR(loFTP.nFlags,INTERNET_FLAG_PASSIVE) && Reset passive mode

IF loFTP.OpenInternet("ABONNE", "PWD", "10.10.10.10", "21")

   =loFTP.ChangeFTPDirectory("download")
   IF !loFTP.GetFTPDirectoryArray(@laFolders,"*.zip")
      ?loFTP.GetExtendedErrorCode(),loFTP.GetExtendedErrorMsg()
   ELSE
      FOR lii=1 TO 1 && ALEN(laFolders,1)
          ?laFolders(lii, 1)         && File name
          ?CHR(9)+"Alternate File name: "+laFolders(lii, 2)
          ?CHR(9)+"File Size: "+STR(laFolders(lii, 3),11)
          ?CHR(9)+"File Create Date: "+TTOC(laFolders(lii, 4))
          ?CHR(9)+"File Last Access Time: "+TTOC(laFolders(lii, 5))
          ?CHR(9)+"File Last Write Time: "+TTOC(laFolders(lii, 6))
          ?CHR(9)+"File Attributes: "+laFolders(lii, 7)
          IF !loFTP.GetFTPFile(laFolders(lii, 1),"c:\temp\"+laFolders(lii, 1))
             ?loFTP.GetExtendedErrorCode(),loFTP.GetExtendedErrorMsg()
          ENDIF
      NEXT
   ENDIF
   =loFTP.CloseInternet() 
ELSE
   ?loFTP.GetExtendedErrorCode(),loFTP.GetExtendedErrorMsg()
ENDIF
RELEASE PROCEDURE x:\ftp\ftp.prg