Problème chargement photo Internet ???

3 réponses
Avatar
LE TROLL
Bonjour,

Je viens de m'apercevoir que l'image
départementale (Free.fr) de la météo ne peut plus être appelée,
et je ne sais comment résoudre ce problème ???

Voici le code, puis les explication, et en dernier les questions :

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szUrl As String, _
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As
Long) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
_
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, _
ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
Dim ret As Long
Dim ligne_temps As String
Dim departement As String
Dim i As Integer
Dim p04a As Long
Dim p04e As Long
'

Sub Form_Load()
ligne_temps = "http://perso0.free.fr/cgi-bin/meteo.pl?dep="
For i = 1 To 95
Combo1.AddItem Format(i, "00")
Next i
On Error GoTo erreur
p04a = FreeFile
Open "agendate.txt" For Input As p04a
Line Input #p04a, departement
Close p04a
Call temps
Exit Sub
erreur:
On Error Resume Next
Close p04a
departement = "75"
p04a = FreeFile
Open "agendate.txt" For Output As p04a
Print #p04a, departement
Close p04a
Call temps
End Sub


Sub temps()
ret = downloadFile(ligne_temps & departement, "meteo.gif")
On Error GoTo erreur
If ret = True Then Picture1.Picture = LoadPicture("meteo.gif")
If ret = False Then Exit Sub
Combo1.ListIndex = Val(departement) - 1
Exit Sub
erreur:
Dim s
Dim ss
Dim t
s = vbLf
ss = vbLf & vbLf
t = "Erreur : " & Err & ss
t = t & "Programme : ""Agenda"" " & ss
t = t & "Form : ""5"" " & ss
t = t & "Procédure : ""temps"" " & ss
t = t & Err.Description & ss
t = t & "L'image météo est introuvable sur Internet " & s
On Error Resume Next
MsgBox t, vbCritical
End Sub


Explications

Je charge l'adresse http (ligne) puis j'y accolle le
département venant d'un fichier (ici = 75), et l'ensemble
est appelé dans la procédure "temps" dans une image picture1.
C'est moi qui ai rajouté la routine d'erreur quand ça s'est planté.
A la main sur Internet ça fonctionne très bien...

http://perso0.free.fr/cgi-bin/meteo.pl?dep=75
http://perso0.free.fr/cgi-bin/meteo.pl?dep=75,meteo.jpg
http://perso0.free.fr/cgi-bin/meteo.pl?dep=75,meteo.png

Par contre, selon que je mets ou pas le nom de l'image je n'ai
pas la même carte, donc le même département...


Questions :
Le fichier sur le Net est un "png", dois-je déjà remplacer "jpg"
par "png" (je l'ai fait sans succès ???

Pouvez-vous me dire où est le problème, afin que ça fonctionne ???

Merci.

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.

3 réponses

Avatar
jeanmarcnoury
On 9 mar, 12:17, "LE TROLL" <le wrote:
Bonjour,

Je viens de m'apercevoir que l'image
départementale (Free.fr) de la météo ne peut plus être appelée,
et je ne sais comment résoudre ce problème ???

Voici le code, puis les explication, et en dernier les questions :

 Option Explicit
  Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
    "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szUrl As Strin g, _
    ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnC B As
Long) As Long
  Private Declare Function ShellExecute Lib "shell32.dll" Alias _
    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
_
    lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, _
    ByVal nShowCmd As Long) As Long
  Private Const SW_SHOWNORMAL = 1
  Dim ret As Long
  Dim ligne_temps As String
  Dim departement As String
  Dim i As Integer
  Dim p04a As Long
  Dim p04e As Long
  '

Sub Form_Load()
  ligne_temps = "http://perso0.free.fr/cgi-bin/meteo.pl?dep="
  For i = 1 To 95
    Combo1.AddItem Format(i, "00")
  Next i
  On Error GoTo erreur
  p04a = FreeFile
  Open "agendate.txt" For Input As p04a
    Line Input #p04a, departement
  Close p04a
  Call temps
  Exit Sub
erreur:
  On Error Resume Next
  Close p04a
  departement = "75"
  p04a = FreeFile
  Open "agendate.txt" For Output As p04a
    Print #p04a, departement
  Close p04a
  Call temps
End Sub

Sub temps()
  ret = downloadFile(ligne_temps & departement, "meteo.gif")
  On Error GoTo erreur
  If ret = True Then Picture1.Picture = LoadPicture("meteo.gif")
  If ret = False Then Exit Sub
  Combo1.ListIndex = Val(departement) - 1
  Exit Sub
erreur:
  Dim s
  Dim ss
  Dim t
  s = vbLf
  ss = vbLf & vbLf
  t = "Erreur : " & Err & ss
  t = t & "Programme : ""Agenda"" " & ss
  t = t & "Form : ""5"" " & ss
  t = t & "Procédure : ""temps"" " & ss
  t = t & Err.Description & ss
  t = t & "L'image météo est introuvable sur Internet  " & s
  On Error Resume Next
  MsgBox t, vbCritical
End Sub

Explications

Je charge l'adresse http (ligne) puis j'y accolle le
département venant d'un fichier (ici = 75), et l'ensemble
est appelé dans la procédure "temps" dans une image picture1.
C'est moi qui ai rajouté la routine d'erreur quand ça s'est planté.
A la main sur Internet ça fonctionne très bien...

http://perso0.free.fr/cgi-bin/meteo.pl?depuhttp://perso0.free.fr/cgi- bin/meteo.pl?depu,meteo.jpghttp://perso0.free.fr/cgi-bin/meteo.pl?dep u,meteo.png

Par contre, selon que je mets ou pas le nom de l'image je n'ai
pas la même carte, donc le même département...

Questions :
Le fichier sur le Net est un "png", dois-je déjà remplacer "jpg"
par "png" (je l'ai fait sans succès ???

Pouvez-vous me dire où est le problème, afin que ça fonctionne ???

Merci.

--
Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Hello,

vérification faite, il semble bien que l'image dispo sur le net soit
un .png.

POur s'en convaincre, afficher la page http://perso0.free.fr/cgi-bin/meteo. pl?depu
dans un browser, clic droit sur l'image puis "Enregistrer sous:". On
voit que c'est un png. On peut aussi ouvrir le fichier téléchargé ave c
notepad, on voit que le fichier commence par "%PNG", ce qui est la
marque des fichiers png.

Or les PictureBox de VB6 ne savent pas charger un png.
Il suffit pour le vérifier d'essayer d'assigner la propriété Picture
d'un pictureBox depuis l'IDE en mode design: on a un message d'erreur
"format invalide".

Le problème ne vient donc pas du transfert internet.

Je suppose qu'avant, l'image sur le site était en format jpg.

Tu peux t'en sortir en effectutant par un moyen externe une conversion
de format de png vers jpg. Il existe sans doute des librairies qui
font aussi ce genre de boulot.

--
Jean-Marc



Avatar
LE TROLL
Bonjour,

Merci, oui ton explication paraît la bonne...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


a écrit dans le message de
news:
On 9 mar, 12:17, "LE TROLL" <le wrote:
Bonjour,

Je viens de m'apercevoir que l'image
départementale (Free.fr) de la météo ne peut plus être appelée,
et je ne sais comment résoudre ce problème ???

Voici le code, puis les explication, et en dernier les questions :

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szUrl As String, _
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As
Long) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
_
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, _
ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
Dim ret As Long
Dim ligne_temps As String
Dim departement As String
Dim i As Integer
Dim p04a As Long
Dim p04e As Long
'

Sub Form_Load()
ligne_temps = "http://perso0.free.fr/cgi-bin/meteo.pl?dep="
For i = 1 To 95
Combo1.AddItem Format(i, "00")
Next i
On Error GoTo erreur
p04a = FreeFile
Open "agendate.txt" For Input As p04a
Line Input #p04a, departement
Close p04a
Call temps
Exit Sub
erreur:
On Error Resume Next
Close p04a
departement = "75"
p04a = FreeFile
Open "agendate.txt" For Output As p04a
Print #p04a, departement
Close p04a
Call temps
End Sub

Sub temps()
ret = downloadFile(ligne_temps & departement, "meteo.gif")
On Error GoTo erreur
If ret = True Then Picture1.Picture = LoadPicture("meteo.gif")
If ret = False Then Exit Sub
Combo1.ListIndex = Val(departement) - 1
Exit Sub
erreur:
Dim s
Dim ss
Dim t
s = vbLf
ss = vbLf & vbLf
t = "Erreur : " & Err & ss
t = t & "Programme : ""Agenda"" " & ss
t = t & "Form : ""5"" " & ss
t = t & "Procédure : ""temps"" " & ss
t = t & Err.Description & ss
t = t & "L'image météo est introuvable sur Internet " & s
On Error Resume Next
MsgBox t, vbCritical
End Sub

Explications

Je charge l'adresse http (ligne) puis j'y accolle le
département venant d'un fichier (ici = 75), et l'ensemble
est appelé dans la procédure "temps" dans une image picture1.
C'est moi qui ai rajouté la routine d'erreur quand ça s'est planté.
A la main sur Internet ça fonctionne très bien...

http://perso0.free.fr/cgi-bin/meteo.pl?depuhttp://perso0.free.fr/cgi-bin/meteo.pl?depu,meteo.jpghttp://perso0.free.fr/cgi-bin/meteo.pl?depu,meteo.png

Par contre, selon que je mets ou pas le nom de l'image je n'ai
pas la même carte, donc le même département...

Questions :
Le fichier sur le Net est un "png", dois-je déjà remplacer "jpg"
par "png" (je l'ai fait sans succès ???

Pouvez-vous me dire où est le problème, afin que ça fonctionne ???

Merci.

--
Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Hello,

vérification faite, il semble bien que l'image dispo sur le net soit
un .png.

POur s'en convaincre, afficher la page
http://perso0.free.fr/cgi-bin/meteo.pl?depu
dans un browser, clic droit sur l'image puis "Enregistrer sous:". On
voit que c'est un png. On peut aussi ouvrir le fichier téléchargé avec
notepad, on voit que le fichier commence par "%PNG", ce qui est la
marque des fichiers png.

Or les PictureBox de VB6 ne savent pas charger un png.
Il suffit pour le vérifier d'essayer d'assigner la propriété Picture
d'un pictureBox depuis l'IDE en mode design: on a un message d'erreur
"format invalide".

Le problème ne vient donc pas du transfert internet.

Je suppose qu'avant, l'image sur le site était en format jpg.

Tu peux t'en sortir en effectutant par un moyen externe une conversion
de format de png vers jpg. Il existe sans doute des librairies qui
font aussi ce genre de boulot.

--
Jean-Marc



Avatar
John-Pet
Hello

il existe une dll pour que v6 lise les images.png dans une picturebox
GflAx.dll

je l'utilise pour capturer des images.png sur un site internet et les
afficher dans une picturebox

tu peux le trouver ici http://www.fichier-dll.fr/gflax.dll,1095

JP

LE TROLL a pensé très fort :
Bonjour,

Merci, oui ton explication paraît la bonne...

--
Cordialement ;o)
-
Logiciels, romans, contacts : http://irolog.free.fr
_______________________
.
.


a écrit dans le message de
news:
On 9 mar, 12:17, "LE TROLL" <le wrote:
Bonjour,

Je viens de m'apercevoir que l'image
départementale (Free.fr) de la météo ne peut plus être appelée,
et je ne sais comment résoudre ce problème ???

Voici le code, puis les explication, et en dernier les questions :

Option Explicit
Private Declare Function URLDownloadToFile Lib "urlmon" Alias _
"URLDownloadToFileA" (ByVal pCaller As Long, ByVal szUrl As String, _
ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As
Long) As Long
Private Declare Function ShellExecute Lib "shell32.dll" Alias _
"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal
_
lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As
String, _
ByVal nShowCmd As Long) As Long
Private Const SW_SHOWNORMAL = 1
Dim ret As Long
Dim ligne_temps As String
Dim departement As String
Dim i As Integer
Dim p04a As Long
Dim p04e As Long
'

Sub Form_Load()
ligne_temps = "http://perso0.free.fr/cgi-bin/meteo.pl?dep="
For i = 1 To 95
Combo1.AddItem Format(i, "00")
Next i
On Error GoTo erreur
p04a = FreeFile
Open "agendate.txt" For Input As p04a
Line Input #p04a, departement
Close p04a
Call temps
Exit Sub
erreur:
On Error Resume Next
Close p04a
departement = "75"
p04a = FreeFile
Open "agendate.txt" For Output As p04a
Print #p04a, departement
Close p04a
Call temps
End Sub

Sub temps()
ret = downloadFile(ligne_temps & departement, "meteo.gif")
On Error GoTo erreur
If ret = True Then Picture1.Picture = LoadPicture("meteo.gif")
If ret = False Then Exit Sub
Combo1.ListIndex = Val(departement) - 1
Exit Sub
erreur:
Dim s
Dim ss
Dim t
s = vbLf
ss = vbLf & vbLf
t = "Erreur : " & Err & ss
t = t & "Programme : ""Agenda"" " & ss
t = t & "Form : ""5"" " & ss
t = t & "Procédure : ""temps"" " & ss
t = t & Err.Description & ss
t = t & "L'image météo est introuvable sur Internet " & s
On Error Resume Next
MsgBox t, vbCritical
End Sub

Explications

Je charge l'adresse http (ligne) puis j'y accolle le
département venant d'un fichier (ici = 75), et l'ensemble
est appelé dans la procédure "temps" dans une image picture1.
C'est moi qui ai rajouté la routine d'erreur quand ça s'est planté.
A la main sur Internet ça fonctionne très bien...

http://perso0.free.fr/cgi-bin/meteo.pl?depuhttp://perso0.free.fr/cgi-bin/meteo.pl?depu,meteo.jpghttp://perso0.free.fr/cgi-bin/meteo.pl?depu,meteo.png

Par contre, selon que je mets ou pas le nom de l'image je n'ai
pas la même carte, donc le même département...

Questions :
Le fichier sur le Net est un "png", dois-je déjà remplacer "jpg"
par "png" (je l'ai fait sans succès ???

Pouvez-vous me dire où est le problème, afin que ça fonctionne ???

Merci.

--
Cordialement ;o)
-
Logiciels, romans, contacts :http://irolog.free.fr
_______________________
.
.



Hello,

vérification faite, il semble bien que l'image dispo sur le net soit
un .png.

POur s'en convaincre, afficher la page
http://perso0.free.fr/cgi-bin/meteo.pl?depu
dans un browser, clic droit sur l'image puis "Enregistrer sous:". On
voit que c'est un png. On peut aussi ouvrir le fichier téléchargé avec
notepad, on voit que le fichier commence par "%PNG", ce qui est la
marque des fichiers png.

Or les PictureBox de VB6 ne savent pas charger un png.
Il suffit pour le vérifier d'essayer d'assigner la propriété Picture
d'un pictureBox depuis l'IDE en mode design: on a un message d'erreur
"format invalide".

Le problème ne vient donc pas du transfert internet.

Je suppose qu'avant, l'image sur le site était en format jpg.

Tu peux t'en sortir en effectutant par un moyen externe une conversion
de format de png vers jpg. Il existe sans doute des librairies qui
font aussi ce genre de boulot.



--
Adresse mail :
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net