[Delphi] telechargement via idhttp ?

telechargement via idhttp ? [Delphi] - Delphi/Pascal - Programmation

Marsh Posté le 07-03-2005 à 13:50:11    

Bonjour à tous,
 
j'ai un pb avec une des fonctions de mon programme.
 
Celui-ci récupère une page où est stockée une certain nb d'adresse internet de photos jpg (encyclop sur les poissons)
Seulement un certain nbs de liens .jpg ne foncitonnent plus.
Du coup mon prog essaye de telecharger un fichier qui n'existe pas et me renvoie donc une erreur !
 
Comment savoir à l'avance si un fichier est dispo ou pas ? Un genrre de fileexists mais pour un fichier situé sur le net  !
 
Merci pour votre aide.
 
PS : peut-être que ma question n'est très claire ?


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

Marsh Posté le 07-03-2005 à 13:50:11   

Reply

Marsh Posté le 07-03-2005 à 14:00:10    

A l'avance non, mais tu devrais pouvoir obtenir le code de la réponse HTTP du serveur. Si ce code est différent de 200 (OK), c'est qu'il y a eu une couille.


---------------
Loose Change Lies | Bars | Last.fm
Reply

Marsh Posté le 07-03-2005 à 14:06:26    

euh là je ne  comprends pas bien ce que tu essaye de me dire.
 
comment puis-je obtenir la réponse http du serveur ?
 
Qd le prog "plante" il m'affiche ceci :
 

Citation :

Project project1.exe raised exception class EIDhttpProtocoleException with messae 'http/1.1 404 Not Found'. Process stopped. Use Step or Run to continue.


 
MErci


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

Marsh Posté le 07-03-2005 à 17:06:02    

Il suffit de récupérer l'exception...  
 

try
  machin.Get('http://.....');
  // ici tu mets le traitement à faire dans le cas où tout se passe bien
except
  on e: EIDhttpProtocoleException do
  begin
    // ici tu utilises l'objet "e" et ses propriétés ; l'une d'entre-elles doit contenir le code d'erreur si tu veux faire un traitement spécial selon l'erreur
  end;
end;


Message édité par antp le 07-03-2005 à 17:07:13

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

Marsh Posté le 07-03-2005 à 17:42:09    

Pourquoi ne pas passer par les ICS de François Piette ?

Reply

Marsh Posté le 07-03-2005 à 17:53:47    

Au pif, parce qu'Indy est inclus dans Delphi et donc supporté par Borland, du moins en partie ?
On pourrait retourner la question de dire "pourquoi ne pas utiliser Indy".
D'autant plus qu'ici c'est pas un bug c'est juste utiliser une exception... Ce qui est vraiment un truc de base et non lié à Indy :o


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

Marsh Posté le 07-03-2005 à 18:08:32    

ton code c'est bien e:eidhttp... et pas e=eidhttpprot...
 
Sinon dans une listbox, comment savoir quel est l'element selectionner ?
 
JE ne retrouve plus la fonction.
 
MErci


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

Marsh Posté le 07-03-2005 à 18:10:10    

davidmarli a écrit :

ton code c'est bien e:eidhttp... et pas e=eidhttpprot...


Oui, ça déclare une variable "e" de type EIDhttpProtocoleException.
Lis la doc sur les try/except et try/finally, c'est bien utile pour programmer :o
 

davidmarli a écrit :


Sinon dans une listbox, comment savoir quel est l'element selectionner ?


 
IndexIndex [:kiki]
 
[:f1key]


Message édité par antp le 07-03-2005 à 18:10:17

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

Marsh Posté le 07-03-2005 à 18:13:21    

euh ! indexindex ? ou itemindex ?
 
EDIT : ok j'ai compris c'est index tout court !


Message édité par davidmarli le 07-03-2005 à 18:17:04

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

Marsh Posté le 07-03-2005 à 19:46:46    

ItemIndex, j'ai tapé trop vite :D


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

Marsh Posté le 07-03-2005 à 19:46:46   

Reply

Marsh Posté le 20-03-2005 à 20:28:48    

héhé antp plus rapide que son clavier... C'est génant pour programmer non ? ;)

Reply

Sujets relatifs:

Leave a Replay

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