- //
- // Source du programme d'envoi de fichier pas protocol FTP
-
- // Parametres :
- // 1. HWND du programme principal
- // 2. Repertoire to Send
-
- // Retour :
- // Créateur : Trinita
- // Copyright : Freeware
- // Date Création : 26/06/2003
- // Date de Modification : 26/06/2003
- // Version : 1.0.0
- //
-
- #include <string.h>
- #include <stdio.h>
- #include <Wininet.h>
- #include <windows.h>
-
- #include "main.h"
- #include "logfile.h"
- #include "ressource.h"
-
- void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1], char DirRep[MAIN_LEN+1] )
- {
- // Déclaration des variables
- // init des variables
- char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
- char DirNameFileIni[MAIN_LEN+1]="";
- char NameServeurFtp[MAIN_LEN+1]="";
- char LoginFtp[MAIN_LEN+1]="";
- char PwdFtp[MAIN_LEN+1]="";
- bool ResultFtp;
- char DirToRecupFile[MAIN_LEN+1]="";
-
- // Les handles
- // handle to internet connection
- HINTERNET hInternetSession;
- // handle to FTP session
- HINTERNET hFTPSession;
-
- // Chemin complet du fichier de destination
- strcpy (DirToRecupFile,DirRep);
- strcat (DirToRecupFile,"\\");
- strcat (DirToRecupFile,DirFile);
-
- // Récupération du chemin du fichier ini
- GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL);
- strcpy ( DirNameFileIni,Buffer );
-
- // Récupération des params
- GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni );
- GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni );
- GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni );
-
- // Ouverture de la connexion
- hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
- if ( hInternetSession == NULL )
- {
- // Erreur dans l'ouverture de la connexion
- WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" );
- exit;
- }
-
- // Connexion au serveur FTP
- hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
- if ( !hFTPSession )
- {
- WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" );
- exit;
- }
- else
- {
- // Réception du fichier FTP
- ResultFtp = FtpGetFile ( hFTPSession, DirFile, DirToRecupFile, NULL, NULL,FTP_TRANSFER_TYPE_ASCII, NULL);
- if ( ResultFtp )
- {
- MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION);
- }
- else
- {
- MessageBox( hDlgSend ,"Erreur dans la réception du fichier, consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING);
- }
-
- // Fermeture de la connexion ftp
- InternetCloseHandle ( hFTPSession );
- }
- // Fermeture de la session
- InternetCloseHandle ( hInternetSession );
-
- return;
- }
-
//
// Source du programme d'envoi de fichier pas protocol FTP
// Parametres :
// 1. HWND du programme principal
// 2. Repertoire to Send
// Retour :
// Créateur : Trinita
// Copyright : Freeware
// Date Création : 26/06/2003
// Date de Modification : 26/06/2003
// Version : 1.0.0
//
#include <string.h>
#include <stdio.h>
#include <Wininet.h>
#include <windows.h>
#include "main.h"
#include "logfile.h"
#include "ressource.h"
void SendFileFtp ( HWND hDlgSend, char DirFile[MAIN_LEN+1], char DirRep[MAIN_LEN+1] )
{
// Déclaration des variables
// init des variables
char *Buffer = (char *) calloc(sizeof (char), MAIN_LEN+1);
char DirNameFileIni[MAIN_LEN+1]="";
char NameServeurFtp[MAIN_LEN+1]="";
char LoginFtp[MAIN_LEN+1]="";
char PwdFtp[MAIN_LEN+1]="";
bool ResultFtp;
char DirToRecupFile[MAIN_LEN+1]="";
// Les handles
// handle to internet connection
HINTERNET hInternetSession;
// handle to FTP session
HINTERNET hFTPSession;
// Chemin complet du fichier de destination
strcpy (DirToRecupFile,DirRep);
strcat (DirToRecupFile,"\\");
strcat (DirToRecupFile,DirFile);
// Récupération du chemin du fichier ini
GetFullPathName( NameFileIni, MAIN_LEN+1, Buffer, NULL);
strcpy ( DirNameFileIni,Buffer );
// Récupération des params
GetPrivateProfileString ( "FTP" , "NAME_SERVEUR_FTP" , "" , NameServeurFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "LOGIN_FTP" , "" , LoginFtp , MAIN_LEN+1 , DirNameFileIni );
GetPrivateProfileString ( "FTP" , "PWD_FTP" , "" , PwdFtp , MAIN_LEN+1 , DirNameFileIni );
// Ouverture de la connexion
hInternetSession = InternetOpen ( NameApp , INTERNET_OPEN_TYPE_DIRECT, NULL, NULL, 0);
if ( hInternetSession == NULL )
{
// Erreur dans l'ouverture de la connexion
WriteInLogFile ( "Erreur dans l'ouverture de la connexion <InternetOpen>" );
exit;
}
// Connexion au serveur FTP
hFTPSession = InternetConnect ( hInternetSession, NameServeurFtp, INTERNET_DEFAULT_FTP_PORT, LoginFtp, PwdFtp, INTERNET_SERVICE_FTP, 0, 0);
if ( !hFTPSession )
{
WriteInLogFile ( "Erreur dans l'ouverture de la connexion ftp <InternetConnect>" );
exit;
}
else
{
// Réception du fichier FTP
ResultFtp = FtpGetFile ( hFTPSession, DirFile, DirToRecupFile, NULL, NULL,FTP_TRANSFER_TYPE_ASCII, NULL);
if ( ResultFtp )
{
MessageBox( hDlgSend ,"Opération terminée avec succès !!!!","Information",MB_OK|MB_ICONINFORMATION);
}
else
{
MessageBox( hDlgSend ,"Erreur dans la réception du fichier, consultez le fichier de trace !!!!","Erreur",MB_OK|MB_ICONWARNING);
}
// Fermeture de la connexion ftp
InternetCloseHandle ( hFTPSession );
}
// Fermeture de la session
InternetCloseHandle ( hInternetSession );
return;
}