Bonjour à tous,
Je tente de réaliser une application de transfert de fichiers entre deux ordinateurs.Voici le code respectifs des boutons d'envoi et de reception de fichiers:
ENVOI
// --------------------- VARIABLES GLOBALES -----------------------
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)
Réception
// --------------------- VARIABLES GLOBALES -----------------------
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
1)
Le problème est qu'il ne transfère que les fichiers textes mais pas tous les caractères.L'objectif est de transferer tout type de fichier.
2)
je ne sais pas trop manipuler les fichiers avec windev
Pouvez-vous m'aider?
Merci!