Accueil > Forum > > > > Téléchargement de plusieurs fichiers avec IdHTTP
Téléchargement de plusieurs fichiers avec IdHTTP
vendredi 8 août 2008 à 17:51:53 |
Téléchargement de plusieurs fichiers avec IdHTTP

JeremyLecouvert
|
Salut! Je suis actuelle ment sur une appli qui permet de downloader des fichiers. J'utilise un TIdHTTP, ça donne à peu près ça (j'élague la construction de la String!): function TForm1.GetFichier(const URL, FileName : string): Boolean; var idHttp: TIdHTTP; Stream: TFileStream; begin Stream := TFileStream.Create(FileName, fmCreate or fmShareExclusive); try idHttp := TIdHTTP.Create(nil); try idHttp.Get(URL, Stream); finally idHttp.Free; end; Result := True; finally Stream.Free; end; end;
...jusque là rien d'extraordinaire! Le souci c'est que je voudrais lancer plusieurs téléchargements simultanés. J'appelle ma fonction dans une boucle. Je pensais jouer sur les évènements IdHTTPWorkBegin, ou qq chose dans le genre, mais ça changera rien puisque je ne sors de ma fonction qu'une fois le download terminé. Quelqu'un aurait-il une solution (si possible en évitant le multithread)? Merci d'avance.
|
|
vendredi 8 août 2008 à 20:54:48 |
Re : Téléchargement de plusieurs fichiers avec IdHTTP

florenth
|
Salut ! "évitant le multithread" => impossible, du moins avec Indy, ces composants étant "bloquants". Il te faudra donc créer un thread par fichier à télécharger. Attention à la mise à jour de l'affichage, tout doit être fait dans les règles de l'art, sinon, malgré le fait que ça compilera, tu le ressentira au niveau des performances et ça risque même de planter. Voila. A+ Flo PS: je vois que tu as bien pensé à utiliser les blocs try...finally mais pour le moment ton Result ne sert à rien puisque True est renvoyé même si idHttp.Get(...) plante. Ressources Delphi, sources, tutoriaux, actu, ...: www.mx-dev.net [ Lien ]
|
|
lundi 11 août 2008 à 11:46:17 |
Re : Téléchargement de plusieurs fichiers avec IdHTTP

JeremyLecouvert
|
'lut! "...mais pour le moment ton Result ne sert à rien" => je sais, je l'ai mis là en vue d'une prochaine modif..  Donc Flo, si j'ai bien compris ("du moins avec Indy"), il y a un moyen de le faire avec d'autres composants? Tu penses peut-être au TWebBrowser? J'ai déjà essayé sur une autre appli (qui ne faisait pas de downloads), et j'ai eu des résultats assez bizarres dans le traitement en boucle de formulaires. Je remplissais mes champs une fois la page chargée; en debug pas de pb, mais en fonctionnement normal la page n'atteignait jamais l'état READYSTATE_COMPLETE... j'ai peut-être loupé qq chose sur le fonctionnement du composant! En tout cas, si tu as des tuyaux en ce qui concerne mes pb de downloads, je suis preneur. Re-merci. @+ PS: "Attention à la mise à jour de l'affichage" => je suppose que tu parles des Application.ProcessMessages à mettre dans le prog pour ne pas figer l'affichage?
|
|
Cette discussion est classée dans : end, fichiers, stream, tidhttp, idhttp
Répondre à ce message
Sujets en rapport avec ce message
Liste des fichiers d'un repertoire [ par fallen angels ]
Bonjour à tous,J'ai installé Delphi 6 il y 2 jours pour enfin (essayer) de développer des petits softs et ca commence mal ;o)J'ai quand même compris c
Utilisation des pointeurs [ par XgaletteX ]
Bonjour, j'ai un pb avec une procedure mais je vois dou vien celui-ci, voici mon code: New(AFile); with AFile^ do begin
Probleme de stream [ par ewertheimer ]
Voila en faites je suis en train de creer un logiciel ou on charge des image dans un TImage et l'on envoie ensuite la photo par stream. Mon probleme :
Deplacer des fichiers [ par gpwebmaster ]
Y'a t-il une fonction pour deplacer toutles fichiers d'un repertoire à un autre, parce qu'avec la fonction MoveFile ou MoveFileEx je ne peux déplcer q
Utilisation de TIdNTLMAuthentication avec idhttp [ par coinki ]
Quelqu'un aurait-il déjà utilisé la classe TIdNTLMAuthentication pour l'authententification sur un proxy avec le composant idhttp? Merci
un handle capricieux ! [ par askil2000 ]
Bonjour, tout le monde ... C'est encore moi, je pose beaucoup de questions ses temps-ci mais toujours pour la bonne cause. Je voulais remercier Master
Enregistrer et ouvrir "détails" [ par darky93 ]
J’ai Réussit à trouver un programme dans lequel il y avait Enregistrer et Ouvrir mais pour une StringGrid. Je l’ai bidouillé et j’ai "regroupé" mes
Interaction Windows Explorer/mon Appli [ par MAURICIO ]
Salut tout le monde, je voudrais après avoir seleccionné des fichiers/répertoires ds Windows Explorer, ouvrir le popMenu de Windows Explorer et y mont
créeation de composant [ par mathieu57100 ]
bonjour,j'ai suivis un tuto pour la création de composant, un label qui ressemble à un lien hypertexte et qui lance soit le navigateur par défaut soit
1 er demarrage [ par burnouze ]
bonjour j ai fait un ptit prg qui cré des 2 dossiers puis a l'iterieur des dossiers il cré des .txt et au tout premier demarrage si les fichiers n'e
Livres en rapport
|
Derniers Blogs
VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ![MIX 2010] - LIVRE GRATUIT SUR PROGRAMMER WINDOWS PHONE 7 SERIES ! par redo
Disponible gratuitement : (153 pages) PDF Version : http://download.microsoft.com/download/7/C/8/7C820C6F-C205-4ECF-B9F3-1505DD13F9BF/ProgWinPhonePreview.pdf XPS Version : http://download.microsoft.com/download/E/3/5/E359FC51-1CF5-47F1-9BF3-74AB09D3339B/P...
Cliquez pour lire la suite de l'article par redo SQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLRSQL SERVER : ESTIMER LE NOMBRE DE LIGNES RENVOYéES PAR UNE REQUêTE AVEC SQLCLR par christian
Dans certains cas très particuliers il peut être intéressant de savoir le nombre de ligne que va renvoyer une requête sans exécuter cette dernière. En effet les opérations de comptage sont généralement gourmande en ressource est très difficile à optim...
Cliquez pour lire la suite de l'article par christian [WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF![WF4] ACTIVITY AVEC VUE DéTAIL MASQUéE PAR DéFAUT, VIVE WPF! par JeremyJeanson
Le code suivant est destiné à répondre à une problématique courante en Workflow : Vous avez une activité dont le designer est complexe ou dont l'affichage prend une place importante à l'écran et la possibilité Collapse/Expand ne répond pas pleinement à vo...
Cliquez pour lire la suite de l'article par JeremyJeanson
Forum
RE : SVPRE : SVP par madcap
Cliquez pour lire la suite par madcap RE : SVPRE : SVP par Caribensila
Cliquez pour lire la suite par Caribensila
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
Comparez les prix

HTC Hero
Entre 550€ et 550€
|