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...
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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...
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
On 9 mar, 12:17, "LE TROLL" <le tr...@enfer.fr> 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...
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?dep=75
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.
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...
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.
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...
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.
<jeanmarcnoury@gmail.com> a écrit dans le message de
news:d75500ac-fda7-4a10-b747-c5967494a830@q11g2000vbn.googlegroups.com...
On 9 mar, 12:17, "LE TROLL" <le tr...@enfer.fr> 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...
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.
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...
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
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
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...
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
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
<jeanmarcnoury@gmail.com> a écrit dans le message de
news:d75500ac-fda7-4a10-b747-c5967494a830@q11g2000vbn.googlegroups.com...
On 9 mar, 12:17, "LE TROLL" <le tr...@enfer.fr> 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...
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 : john-pet@wanadoo.fr
Ceci est une signature automatique de MesNews.
Site : http://www.mesnews.net
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...
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