Je ne sais pas si j'innove un peu, mais j'ai conçu un composant (dont le source est joint) permettant d'effectuer un telechargement via un serveur web HTTP.
Ce composant, que j'ai voulu faire le plus complet possible, a été concu dans le but d'effectuer du versioning. C'est a dire de simuler ce que la plupart des logiciels de mis à jour automatiques peuvent faire (cf. UPGRADE LAUNCHER du jeu Splinter Cell - Pandora Tomorrow).
Bref, vous pouvez :
- recuperer un fichier de n'importe quel type (image, exe, zip, etc... etc...)
- Executer ce fichier aprés son telechargement complet
- Demander si oui ou non le fichier est supprimer si le telechargement n'est pas complet
- Controle l'etat du composant (Connection en cours, Connecté, entrain de telechargé, en erreur...)
- Recuperer le numero et la description de l'erreur (Winsock ou HTTP)
- Connaitre en temps reel : le serveur sur lequel on recupere le fichier, le nom du fichier, la taille du fichier, quel quantite de données ont été recuperées, a quelle vitesse et le pourcentage de données recuperées.
- Si vous ne donnez pas un nom de fichier local (ex : C:\ au lieu de C:\Toto.txt), le nom de fichier d'origine est conservé.
- Le composant gere les ports : ex : http://mon_serveur.com/toto.txt = fichier toto.txt sur mon_serveur.com, port 80 (par defaut).
Sinon : http://mon_serveur.com:4444/toto.txt = fichier toto.txt sur mon_serveur.com, port 4444.
Un petit exemple est fourni dans le zip.
J'espere que ca vous aidera au maximum.
Attention : Ce composant n'est pas encore fiable a 100% et je m'attele à l'ameliorer encore. Ex : Les proxy ne sont pas gérés et quelques messages d'erreur font faux bonds...
PS : Pour l'exemple : Vous pouvez mettre dans "la source" le raccourci d'un fichier quelquonque.