Hit-Parade .VB Research Center . Compteur
Accueil ~  Code ~  Programmes ~  Api ~  Forum ~  Cours ~  Livres ~  Quiz ~  Annuaire
~ Edito ~
12/03/2006 @ 13:39
Depuis la dernière mise à jour (qui remonte à... oulala plusieurs mois), un petit ménage de printemps s'impose. Ca tombe bien, c'est presque la période.
Au menu, et progressivement sur les jours à venir, rafraîchissement de plusieurs fonctions et procédures, nouvelles APIs et nouveaux programmes.

~ Rechercher ~

  

~ Annuaire VB ~
 Rechercher un site :
  

~ Partenaires ~

Fonction FtpSetCurrentDirectory

Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" ( _
                 
ByVal hFtpSession As Long, _
                 ByVal lpszDirectory As String) As Boolean
Versions :
. Windows 95/98 : Oui
. Windows NT : A partir de 4.0
. Windows 2000/XP : Oui

Description :
Change le répertoire courant d'une session FTP.
hFtpSession est un pointeur vers un session FTP (retourné par InternetConnect).
lpszDirectory est une chaîne contenant le nom du répertoire (le chemin peut être absolu ou relatif).

La fonction retourne Faux en cas d'échec, sinon Vrai.

Exemple d'utilisation :

Public Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
                   
ByVal sAgent As String, ByVal lAccessType As Long, _
                   
ByVal sProxyName As String, _
                   
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Public Declare Function
InternetConnect Lib "wininet.dll" _
                   
Alias "InternetConnectA" ( _
                   
ByVal hInternetSession As Long, ByVal sServerName As String, _
                   
ByVal nServerPort As Integer, ByVal sUsername As String, _
                   
ByVal sPassword As String, ByVal lService As Long, _
                   
ByVal lFlags As Long, ByVal lContext As Long) As Long

Public Declare Function
FtpSetCurrentDirectory Lib "wininet.dll" Alias _
                    "FtpSetCurrentDirectoryA" (
ByVal hFtpSession As Long, _
                   
ByVal lpszDirectory As String) As Boolean

Public Declare Function
FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" ( _
                   
ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _
                   
ByVal lpszRemoteFile As String, _
                   
ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Public Declare Function
InternetCloseHandle Lib "wininet.dll" ( _
                   
ByVal hInet As Long) As Integer

Public Const
INTERNET_DEFAULT_FTP_PORT = 21
Public Const INTERNET_SERVICE_FTP = 1

Public Enum eTRANSFERT_TYPE
    FTP_TRANSFER_TYPE_ASCII = &H1
    FTP_TRANSFER_TYPE_BINARY = &H2
End Enum

Private Function
PutFtpFile(stServ As String, stLogin As String, stPass As String, _
                            stRepFtp
As String, stFicFtp As String, _
                            stFicLocal
As String, lgType As eTRANSFERT_TYPE) As Boolean
' Cette fonction charge un fichier local sur un serveur FTP.
' stServ contient le nom ou l'adresse IP du serveur FTP
' stLogin est le login à utiliser
' stPass est le mot de passe associé au login
' stRepFtp est le répertoire FTP ou sera placé le fichier ("/" pour la racine)
' stFicFtp est le nom qui sera donné au fichier sur le serveur
' stFicLocal est le chemin complet (+nom) du fichier local
' lgType est le type de transfert à utiliser (texte ou binaire)
' La fonction retourne Vrai si le transfert à réussi, sinon Faux.
Dim lgFtp As Long, lgSession As Long, lgDir As Long
Dim
inRes As Integer
Dim
blOk As Boolean
blOk = False
' Récupère un pointeur vers la connexion internet courante
lgSession = InternetOpen("PutFtpFile", 1, vbNullString, vbNullString, 0)
If lgSession Then
   
' Récupère un pointeur vers pour session FTP
   
lgFtp = InternetConnect(lgSession, stServ, INTERNET_DEFAULT_FTP_PORT, _
                            stLogin, stPass, INTERNET_SERVICE_FTP, 0, 0)
   
If lgFtp Then
       
' Positionne le répertoire distant
       
If FtpSetCurrentDirectory(lgFtp, stRepFtp) Then
           
' Envoie le fichier
           
blOk = FtpPutFile(lgFtp, stFicLocal, stFicFtp, _
                                     FTP_TRANSFER_TYPE_ASCII, 0)
       
End If
    End If
   
' Libération du pointeur
   
inRes = InternetCloseHandle(lgFtp)
End If
' Retourne le résultat
PutFtpFile = blOk
End Function

Retour à la liste des API

Visual Basic Research Center - (c) 2000/2002 -  Webmaster : docvb (chez) free (point) fr