[RESOLU]Syntaxe de SendFTPFile

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

[RESOLU]Syntaxe de SendFTPFile

Message 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
Dernière modification par omega le jeu. 21/mars/2013 8:18, modifié 1 fois.
Win7 (x64) 64 bits Pb 5.72
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: Syntaxe de SendFTPFile

Message 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
Dernière modification par falsam le lun. 18/mars/2013 19:06, modifié 1 fois.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: Syntaxe de SendFTPFile

Message 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 ;)
Avatar de l’utilisateur
omega
Messages : 633
Inscription : sam. 26/nov./2011 13:04
Localisation : Alger

Re: Syntaxe de SendFTPFile

Message 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
Win7 (x64) 64 bits Pb 5.72
Répondre