[idhttp] téléchargement de fichier http

Soyez le premier à donner votre avis sur cette source.

Vue 13 581 fois - Téléchargée 1 685 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

Messages postés
9
Date d'inscription
mardi 10 novembre 2009
Statut
Membre
Dernière intervention
26 février 2010

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
Messages postés
24
Date d'inscription
dimanche 15 juin 2003
Statut
Membre
Dernière intervention
27 mars 2005

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 !
Messages postés
291
Date d'inscription
dimanche 2 février 2003
Statut
Membre
Dernière intervention
30 juin 2006

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 ?
Messages postés
1
Date d'inscription
dimanche 5 septembre 2004
Statut
Membre
Dernière intervention
5 septembre 2004

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
Messages postés
266
Date d'inscription
lundi 19 mai 2003
Statut
Membre
Dernière intervention
7 juillet 2009

ben apprament ca freez tjr, cela viendrais il du compasan lui meme ?
Afficher les 8 commentaires

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.