gsFFic est une chaîne //le fichier à transferer
gsNomFic est une chaîne //le nom du fichier à transfer
gnTailleFic est un entier //la taille du fichier
gbufBuff est un Buffer //le buffer à transferer
nIdFichier est un entier
gnOctetEnv est un entier=0
nOctet est un entier=0
SI PAS SocketEcrit("PourPosteB",gsNomFic) ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
SI PAS SocketEcrit("PourPosteB",gnTailleFic) ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
// Ouverture d'un fichier externe
nIdFichier = fOuvre(gsFFic, foLectureEcriture )
gsBuff=fLit(nIdFichier,1) // nouvelle syntaxe : par adresse
TANTQUE nOctet<=gnTailleFic
SI PAS SocketEcrit("PourPosteB",gsBuff) ALORS
Erreur(ErreurInfo(errMessage))
RETOUR
FIN
// octet suivant
gsBuff=fLit(nIdFichier,1)
nOctet++
FIN
// Fermeture du fichier
fFerme(nIdFichier)
gsFFicR est une chaîne="" //le fichier à recevoir
gsNomFicR est une chaîne="" //le nom du fichier à transferer
gnTailleFicR est un entier=0 //la taille du fichier à recevoir
gbufBuff est une chaîne //le buffer à recevoir
nIdFichier est un entier
resEcrit est entier
nOctet est entier=0
gsNomFicR=SocketLit("PosteB",Vrai) //récuperation du nom de fichier
chnomfic=gsNomFicR
fCrée("c:\"+gsNomFicR) //création du fichier
gnTailleFicR=SocketLit("PosteB",Vrai) //récuperation de la taille du fichier
chrecuposteA=gnTailleFicR+" Octets"
// Ouverture du fichier
nIdFichier = fOuvre("c:\"+gsNomFicR, foLectureEcriture )
SI nIdFichier <> -1 ALORS
//Récupération du fichier
TANTQUE nOctet<=gnTailleFicR
gbufBuff=SocketLit("PosteB",Vrai)
// resEcrit=fEcrit(nIdFichier,gbufBuff,1)
nOctet+=fEcrit(nIdFichier,gbufBuff)
// nOctet+=resEcrit
FIN
fFerme(nIdFichier)
FIN
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=5348&post_id=22083