Page 1 sur 1

[RESOLU]Syntaxe de SendFTPFile

Publié : lun. 18/mars/2013 15:51
par omega
Décidément ce soft_ftp ne veut pas se terminer !

J'ai vu l'aide Pb, j'ai lu et relu.. et j'ai consulté qq exemples ici même sur
ce forum... mais je ne suis pas encore sûr d'avoir bien compris
ce code:

Code : Tout sélectionner

SendFTPFile(#Ftp, FullPath_Local$,FullPath_ftp$,1)
Bon, je sais que cela permet d'envoyer des fichiers depuis un chemin local
vers le chemin ftp, je l'ai essayé et ça marche très bien sauf pour ces 2 cas
précis:

1. Après transfert d'un dossier, le ftp n'affiche que le nom du dossier
mais pas son icone

2. Le dossier affiché n'est pas considéré comme dossier mais comme
un fichier tout court...

3. l'icone des fichiers icônes ne s'affiche pas

4. pour la syntaxe :SendFTPFile(#Ftp, FullPath_Local$,FullPath_ftp$,1)

FullPath_Local$="d:\mesfichiers\file1.pb"
FullPath_ftp$="/public_html/fichiers/file1.pb"

Est-ce que cet exemple est correct??

le chiffre 1 qui est tout à fait à droite du code, que signifie il?
(pas bien expliqué dans l'aide pb)

Merci

Re: Syntaxe de SendFTPFile

Publié : lun. 18/mars/2013 17:03
par falsam
1. Après transfert d'un dossier, le ftp n'affiche que le nom du dossier
mais pas son icone
Normal on ne transfert pas un dossier.
Pour créer un dossier utilise la fonction CreateFTPDirectory(#Ftp, Repertoire$)

ATTENTION : Une fois le dossier crée, tu vas devoir faire une boucle récursive pour lire le contenu des fichiers du dossier que tu viens de créer et transférer un à un ces fichiers vers ton serveur FTP. Ce dossier peut contenir d'autres dossiers.

Un exemple de procédure récursive :

Code : Tout sélectionner

Procedure.s ParseDirectory(folder.s, id.l = 0)
  
  If Right(folder, 1) <> "\"
    folder + "\"
  EndIf
  
  If ExamineDirectory(id, folder, "*.*")
    
    While NextDirectoryEntry(id)
      
      If DirectoryEntryName(id) <> "." And DirectoryEntryName(id) <> ".."
               
        Debug folder + DirectoryEntryName(id)
                
        If DirectoryEntryType(id) = #PB_DirectoryEntry_Directory
          ParseDirectory(folder + DirectoryEntryName(id), id + 1)
        EndIf
        
      EndIf
      
    Wend
    
    FinishDirectory(id)
    
  EndIf
  
EndProcedure 

ParseDirectory("c:\windows")
2. Le dossier affiché n'est pas considéré comme dossier mais comme
un fichier tout court...
Pour la même raison.
3. l'icone des fichiers icônes ne s'affiche pas
Si tu as un logiciel installé sur ton PC pour traiter les icones, alors l'icone de ce logiciel apparaitra.
4. pour la syntaxe :SendFTPFile(#Ftp, FullPath_Local$,FullPath_ftp$,1)

FullPath_Local$="d:\mesfichiers\file1.pb"
FullPath_ftp$="/public_html/fichiers/file1.pb"
Est-ce que cet exemple est correct??
A tester :p
le chiffre 1 qui est tout à fait à droite du code, que signifie il?
(pas bien expliqué dans l'aide pb)
C'est au contraire très bien expliqué.

Resultat = SendFTPFile(#Ftp, Fichier$, FichierDistant$ [, Asynchrone])
Asynchrone (optionnel)
#True : Le téléchargement sera effectué en arrière-plan.
#False: Valeur par défaut, le téléchargement est synchrone

#True = 1
#False = 0

Re: Syntaxe de SendFTPFile

Publié : lun. 18/mars/2013 17:14
par Backup
en clair le mode Asynchrone , permet de pouvoir utiliser les fonctions relatif au ProgressBar

sinon en mode Synchrone , le telechargement prends tout le temps Machine , tu ne peux rien faire
tant que c'est pas fini de telecharger ;)

je pense qu'en mode Asynchrone , marié avec un Thread , on pourrai faire effectuer plusieurs Téléchargements en meme temps ;)

Re: Syntaxe de SendFTPFile

Publié : mar. 19/mars/2013 8:30
par omega
Bonjour et merci à vous deux (Falsam et à Dobro)
Normal on ne transfert pas un dossier.
Pour créer un dossier utilise la fonction CreateFTPDirectory(#Ftp, Repertoire$)

ATTENTION : Une fois le dossier crée, tu vas devoir faire une boucle récursive pour lire le contenu des fichiers du dossier que tu viens de créer et transférer un à un ces fichiers vers ton serveur FTP. Ce dossier peut contenir d'autres dossiers.
Oui, effectivement... j'aurais dû y penser...
sinon en mode Synchrone , le telechargement prends tout le temps Machine , tu ne peux rien faire tant que c'est pas fini de telecharger
C'est pour cette raison que ça prend énormément de temps...

Je comprends maintenant..

Merci beaucoup