[R] Affichage du caractère "&" dans un label

Aide sur les Interfaces Graphique Utilisateurs (GUI).
Règles du forum
.
Répondre
DavidMon
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 11:32
Status : Hors ligne

[R] Affichage du caractère "&" dans un label

#1

Message par DavidMon »

Bonjour à tous,

Débutant depuis 3 mois sur AutoIT, je bloque sur l'exploitation d'un lien url contenant le carctère "&".

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("GUIOnEventMode",1)

$Font ="MS Sans Serif"
; url exemple = http://www.google.fr/search?hl=fr&q=autoIT+&meta="
$url = "http://www.google.fr/search?hl=fr" &chr(38)& "q=autoIT+" &chr(38)& "meta="
MsgBox(0,"debug ","url exemple = "&$url)

$Gui = GUICreate("", 524, 104, 300, 115)
GUISetOnEvent ($GUI_EVENT_CLOSE, "quitte" )
$Lbl1 = GUICtrlCreateLabel("Exemple d'autoitfr :", 16, 8, 489, 17)
$Lbl2 = GUICtrlCreateLabel($url, 24, 32, 481, 17)  ; le caractère "&" n'est plus pris en compte
GUICtrlSetFont(-1, 8, 400, 4, $Font)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 4)
GUICtrlSetOnEvent(-1, "start")
$Btn1 = GUICtrlCreateButton("quitter", 40, 56, 75, 25, 0)
GUICtrlSetOnEvent(-1, "quitte")
GUISetState(@SW_SHOW)

While 1
sleep(100)
WEnd

Func start()
Run(@ComSpec & " /c start file:" & $url, "", @SW_HIDE)
EndFunc

Func quitte()
Exit
EndFunc
Merci
Modifié en dernier par DavidMon le jeu. 20 mai 2010 17:06, modifié 1 fois.
DaviD
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 412
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Affichage du caractère "&" dans un label

#2

Message par scorp84 »

Bonjour DavidMon,

En doublant le caractère &, ça fonctionne :

Code : Tout sélectionner

$url = "http://www.google.fr/search?hl=fr&&q=autoIT+&&meta="
Amicalement.

BM
DavidMon
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 11:32
Status : Hors ligne

Re: [..] Affichage du caractère "&" dans un label

#3

Message par DavidMon »

Merci pour cette réponse.
Cependant la finalité du module n'est pas atteinte car le lien URL ne fonctionne en doublant le "&".

Dois-je, dans ce cas, modifier le titre de mon sujet ou bien en créer un nouveau ?
DaviD
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 412
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Affichage du caractère "&" dans un label

#4

Message par scorp84 »

Il y a le texte affiché qui doit être traité pour doubler les & pour que le label puisse afficher correctement ton url et ton url proprement dite qui te servira à lancer le navigateur pour afficher la bonne adresse.

Si c'est bien le cas, j'utiliserai la fonction StringReplace pour doubler les & à l'affichage du label sans toucher à la variable pour lancer l'url.

Voici ce que ça donnerait :

Code : Tout sélectionner

#include <GUIConstants.au3>

Opt("GUIOnEventMode",1)

$Font ="MS Sans Serif"
$url = "http://www.google.fr/search?hl=fr&q=autoIT+&meta="
MsgBox(0,"debug ","url exemple = "&$url)

$Gui = GUICreate("", 524, 104, 300, 115)
GUISetOnEvent ($GUI_EVENT_CLOSE, "quitte" )
$Lbl1 = GUICtrlCreateLabel("Exemple d'autoitfr :", 16, 8, 489, 17)
$Lbl2 = GUICtrlCreateLabel(StringReplace($url,"&","&&"), 24, 32, 481, 17)  
GUICtrlSetFont(-1, 8, 400, 4, $Font)
GUICtrlSetColor(-1, 0x0000FF)
GUICtrlSetCursor(-1, 4)
GUICtrlSetOnEvent(-1, "start")
$Btn1 = GUICtrlCreateButton("quitter", 40, 56, 75, 25, 0)
GUICtrlSetOnEvent(-1, "quitte")
GUISetState(@SW_SHOW)

While 1
sleep(100)
WEnd

start()
Func start()
ShellExecute($url)
EndFunc

Func quitte()
    Exit
EndFunc
j'ai aussi remplacé

Code : Tout sélectionner

Run(@ComSpec & " /c start file:" & $url, "", @SW_HIDE)
par

Code : Tout sélectionner

ShellExecute($url)
Dans plusieurs posts c'est cette méthode qui était conseillée.

Amicalement.

BM
DavidMon
Niveau 1
Niveau 1
Messages : 9
Enregistré le : lun. 01 mars 2010 11:32
Status : Hors ligne

Re: [..] Affichage du caractère "&" dans un label

#5

Message par DavidMon »

Merci scorp84 ! :D

Tout est OK pour moi, cordialement, DaviD.
Modifié en dernier par DavidMon le jeu. 20 mai 2010 17:05, modifié 1 fois.
DaviD
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 412
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] Affichage du caractère "&" dans un label

#6

Message par scorp84 »

Tant mieux si ça te va :-)

Par contre le [R] est à mettre sur ton premier message car c'est lui qui est affiché en 1er dans le fil des posts.

Amicalement.

BM
Répondre