Pour transf=E9rer une URL de type mailto: =E0 un autre logiciel, j'ai bes=
oin=20
de convertir une URL "sans espaces", style "subject:D%E9veloppeur%20VB", =
en cha=EEne de caract=E8res lisible, style "subject:D=E9veloppeur VB".
J'ai essay=E9 ceci :
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
Public Declare Sub InternetCanonicalizeUrl Lib "wininet.dll" _
Alias "InternetCanonicalizeUrlA" ( _
ByVal lpszUrl As String, _
ByVal lpszBuffer As String, _
ByRef lpdwBufferLength As Long, _
ByVal dwFlags As Long)
Public Const ICU_DECODE As Long =3D &H10000000
Public Function DecodeURL(strURL As String) As String
Dim strTemp As String, strBuff As String
strTemp =3D strURL
strBuff =3D Space(256)
InternetCanonicalizeUrl strTemp, strBuff, 255, ICU_DECODE
DecodeURL =3D Left$(strBuff, InStr(strBuff, Chr$(0)) - 1)
End Function
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D
Mais pas de chance, InternetCanonicalizeUrl fait simplement une copie de =
strTemp vers strBuff -et donc ma fonction aussi.
Alors quoi, je vais parcourir moi-m=EAme la cha=EEne pour d=E9tecter le s=
igne=20
pourcent, et =E0 chaque fois que je l'aurai trouv=E9 je vais consid=E9rer=
les=20
deux caract=E8res suivants comme un nombre hexad=E9cimal dont il faudra=20
fournir le caract=E8re correspondant ?
Ben si j'avais su, je l'aurais fait tout de suite ...
D'ailleurs, ici
http://msdn2.microsoft.com/en-us/library/aa384342.aspx
on me parle d'une valeur de retour de InternetCanonicalizeUrl, alors que =
ApiViewer2004 (charg=E9 il y a quelques semaines) la d=E9clare comme une =
Sub, donc sauf truc qui me serait pass=E9 au-dessus, sous VB, sans valeur=
=20
de retour.
C'est quoi, que j'ai loup=E9 ?
Je ne sais pas si il faut quelque chose de particulier pour naviguer là-dessus, je n'ai vu que les deux dernières traiter -fort bien au demeurant, semble-t-il- le sujet annoncé dans l'URL.
parci a écrit, le 05/05/2007 09:58 :
J'utilise plutôt les fonctions de Shlwapi.dll qui permettent le mêm e
genre de chose :
Je ne sais pas si il faut quelque chose de particulier pour naviguer
là-dessus, je n'ai vu que les deux dernières traiter -fort bien au
demeurant, semble-t-il- le sujet annoncé dans l'URL.
Je ne sais pas si il faut quelque chose de particulier pour naviguer là-dessus, je n'ai vu que les deux dernières traiter -fort bien au demeurant, semble-t-il- le sujet annoncé dans l'URL.
Gloops
Jean-marc a écrit, le 04/05/2007 23:18 :
En fait, si tu déclares comme ça ça marche aussi car VB va se débrouiller pour faire la promotion (le casting) correct dans le type booléen de VB.
Mais j'aime meiux (affaire de goût) garder les déclarations avec les vrais types, et faire le casting "à la main" !
Bref ...
OK ... Ben avec tout ça, ça commence à s'éclaircir :)
Jean-marc a écrit, le 04/05/2007 23:18 :
En fait, si tu déclares comme ça ça marche aussi car VB va
se débrouiller pour faire la promotion (le casting) correct
dans le type booléen de VB.
Mais j'aime meiux (affaire de goût) garder les déclarations
avec les vrais types, et faire le casting "à la main" !
Bref ...
OK ... Ben avec tout ça, ça commence à s'éclaircir :)