[idhttp] téléchargement de fichier http

Soyez le premier à donner votre avis sur cette source.

Vue 15 023 fois - Téléchargée 1 816 fois

Description

Ayant remarquer le faible nombre de source sur
les magnifiques composants INDY
je me lance est montre le premier exemple de
téléchargement HTTP sur INDY

j'ai rajouté l'authentification HTTP 1.1 Comme ca , ca complète ...

Source très simple comme tout les composants Indy ;-)

Source / Exemple :


procedure TForm1.IdHTTP1WorkBegin(Sender: TObject; AWorkMode: TWorkMode;const AWorkCountMax: Integer);
begin
 if AWorkMode = wmRead then
 begin
 {On aligne la progress bar avec la variable fourni de IDHTTP}
   ProgressBar1.Max := AWorkCountMax ;
   ProgressBar1.Position := 0 ;
 end;
end;

procedure TForm1.IdHTTP1Work(Sender: TObject; AWorkMode: TWorkMode;const AWorkCount: Integer);
begin
 if AWorkMode = wmRead then
 begin
 {Le composant nous renvoit ici quand il travaille}
   ProgressBar1.Position := AWorkCount ;
   Label1.Caption := IntToStr(AWorkCount) + 'Bytes de :' + inttostr(ProgressBar1.Max) ;
 end;
end;

procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
{Fin du boulot de IDhttp1}
 if AWorkMode = wmRead then
   Label1.Caption := 'Completed';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 F: TFileStream;
begin
{On crée un fichier }
 F := TFileStream.Create(edit2.text, fmCreate);
 try
 {On récupére des donnés et on les mets dans F soit Edit2.text}
   IdHTTP1.Get(edit1.text,F);
 finally
   F.Free;
 end;
end;

Conclusion :


Maj à 22H53 le 03

Bon coding ...

Codes Sources

A voir également

Ajouter un commentaire Commentaires
rivsc Messages postés 9 Date d'inscription mardi 10 novembre 2009 Statut Membre Dernière intervention 26 février 2010
30 mars 2006 à 22:28
Bonjour j'ai utilisé cette source pour faire un autre programme
mais ma progressbar n'évolue pas (elle porte bien le meme nom)
Autre chose le label1 n'est jms remplacé par 'complete'.
Ceci bien sur quand ca télécharge or le téléchargement chez moi dépends de la vitesse du vent (un coup ca telecharge un autre coup ca veut pas) si quelqu'un aurait la gentillesse d'éclairer ma lanterne.. merci
djicfr Messages postés 24 Date d'inscription dimanche 15 juin 2003 Statut Membre Dernière intervention 27 mars 2005
27 avril 2005 à 18:23
Il suffit de changer la propiété du composant TIdAntiFreeze
Ce composant est sur : OnlyWhenIdle:=true;
il suffit de le mettre false et sa freeze plus ...

voilà.
++ et bonne prog.

Mercie pour ce code pour débuter c'est sympa !
Inekman Messages postés 291 Date d'inscription dimanche 2 février 2003 Statut Membre Dernière intervention 30 juin 2006
15 nov. 2004 à 18:56
c chelou parce que j'ai le même code trouvé ailleurs sur le net et le problème que rencontre hisoka je l'ai aussi. C'est d'autant plus chelou que j'exécute la procédure de téléchargement dans un thread séparé. A mon avis y'a une couille quelques part parce que ça m'étonne beaucoup un freeze dans un Thread...

Des avis à ce sujet ?
BingoWFC Messages postés 1 Date d'inscription dimanche 5 septembre 2004 Statut Membre Dernière intervention 5 septembre 2004
5 sept. 2004 à 21:11
Bonjour

Je souhaite récupérer un fichier via HTTP et je pense que votre test correspond à mes besoins
Existe t'il un acces ou on peut tester le fonctionnement
Login ?
MotdePasse ?
Host ?

Merci
hisoka2501 Messages postés 264 Date d'inscription lundi 19 mai 2003 Statut Membre Dernière intervention 7 juillet 2009
12 juin 2004 à 12:33
ben apprament ca freez tjr, cela viendrais il du compasan lui meme ?

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.