[Delphi] faire une pause dans un prog ?

faire une pause dans un prog ? [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 08-03-2005 à 21:50:36    

Bon encore une ch'tite question pour ce soir :  
mon prog récupère un millier de page html sur un site.
Seulement le site détecte qu'une personne télécharge rapidement les pages html, et dès que 20 pages sont téléchargées, les pages suiavntes sont vides (enfin il est inscrit à l'intérieur site en maintenance)
 
Si je teste à la main avec un navigateur web, le fait de faire "Entrée" sur l'adresse d'une page une vingtaine de fois, génère la même erreur de la part du site.
 
Donc ma question est : comment stopper un prog delphi pdt x secondes ?
 
En fait tous les dix fichiers telechargés, je voudrais fair une telle pause.
 
MErci
 
PS : ai-je été clair ?


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
Reply

Marsh Posté le 08-03-2005 à 21:50:36   

Reply

Marsh Posté le 08-03-2005 à 22:04:08    

ben tu créé un thread pour récupérer tes pages, et dés que le thread a récupéré une page, tu le mets en pause :spamafote:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 08-03-2005 à 22:15:08    

euh c'est à dire ?
 
Comment crée-t-on un thread ?
Et comment le met-on en pause ?
 
Pour l'istant j'ai cette foinction là :  
 

Citation :

Procedure telecharge_fichier(url,nom_fic:string);
var TmpFileStream : TFileStream;
begin
   try
    TmpFileStream := TFileStream.Create(nom_fic,fmCreate);
    formtelechargement.show;
        try
 
         Formtelechargement.IdHTTP1.get(URL,tmpfilestream);
        except on Eidhttpprotocolexception do
         begin
          showmessage('Echec sur '+URL);
         end;
        end;
       finally begin
                FreeAndNil(TmpFileStream);
                formtelechargement.Hide;
               end;
       end;
end;


 
Elle s'occupe de telecharger un fichier
je l'appelle donc 1000 fois de suite.
 
merci


Message édité par davidmarli le 08-03-2005 à 22:15:48

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
Reply

Marsh Posté le 09-03-2005 à 11:04:14    

Tu peux utiliser Sleep, mais ça met en pause le thread principal donc l'interface est en pause aussi pendant ce temps-là.
Il y a aussi la solution de déclancher le téléchargement à l'aide d'un TTimer, pour n'en faire un que toutes les X secondes.
Ou encore comme l'a dit Harkonnen de faire un thread pour le téléchargement, mais c'est moins facile [:spamafote] Ça a l'avantage de ne pas bloquer l'interface pendant la pause.
Tu peux aussi faire une boucle de X pauses entrecoupées de ProcessMessages pour ne pas avoir un thread supplémentaire mais ne pas perdre la main sur l'interface.


Message édité par antp le 09-03-2005 à 11:05:40

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 09-03-2005 à 12:26:17    

ouille c'est un peu du chinois pôur moi.
J'ai vu dans la FAQ delphi une histoire de thread je vais essayer de m'y plonger.
 
Si j'ai des pb, vous aurez encore droit à des questions lol !!
 
MErci bp en tout cas pour vos réponses.


Message édité par davidmarli le 09-03-2005 à 12:26:36

---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
Reply

Marsh Posté le 09-03-2005 à 13:44:22    

T'es pas obligé d'utiliser des threads hein :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 09-03-2005 à 13:49:57    

oui, mais bon par nature je suis assez curieux.  
Et depuis le temps que j'en entends parler ...


---------------
Matheux Fou - https://afficheur-tempo.fr - TEMPO BOX pour abonnés TEMPO EDF
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed