[R] Problème de guillemets dans GuiCtrlRead()
Posté : lun. 18 janv. 2010 11:43
Bonjour,
En rapport avec un autre sujet sur lequel je travaille actuellement, je rencontre un probleme que nombre d'entre vous ont surement déja eu.
Dans l'exemple qui suit, nous voulons envoyer un mail, via la fonction inetmail(), avec un préformatage dans le coprs du mail :Le probleme, c'est que si le champs $nCorps = GUICtrlCreateEdit("", 80, 208, 417, 137) contient des guillemets, la logique veut que le script se temrine, ce qui, suivant le client de messagerie, va tronquer le message, ou bien déclencher une erreur tels que "parametres invalide".
J'ai essayé d'utiliser une condition de type For ... In ... Next afin d'indiquer que si le champs $nCorps contient une guillemet, nous ajoutons ' " ' avant et après le résultat de lecture du champs.
Mais cela ne fonctionne pas.
Quelqu'un aurait il une astuce ?
En vous remerciant.
En rapport avec un autre sujet sur lequel je travaille actuellement, je rencontre un probleme que nombre d'entre vous ont surement déja eu.
Dans l'exemple qui suit, nous voulons envoyer un mail, via la fonction inetmail(), avec un préformatage dans le coprs du mail :
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Constants.au3>
#include <Inet.au3>
Local $nDest, $nObj, $nCorps ; Destinataire , Objet, Corps du message
Local $From = "toto"
Local $To = GUICtrlRead($nDest)
Local $Subject = GUICtrlRead($nObj)
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 593, 454, 192, 114)
$nDest = GUICtrlCreateInput("", 80, 24, 313, 21)
$Label1 = GUICtrlCreateLabel("A:", 58, 28, 14, 17)
$nObj = GUICtrlCreateInput("", 80, 112, 321, 21)
$Label3 = GUICtrlCreateLabel("Objet :", 40, 114, 35, 17)
$nCorps = GUICtrlCreateEdit("", 80, 208, 417, 137)
$Label4 = GUICtrlCreateLabel("Message", 80, 176, 47, 17)
$nSend = GUICtrlCreateButton("Envoyer", 256, 368, 100, 30, $BS_FLAT)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
Case $nMsg = $nSend
_envoie()
EndSelect
WEnd
Func _envoie()
$body = ("l'objet du mail est :" & @CR & @CR & GUICtrlRead($nCorps) & @CR & @CR & "cordialement")
_INetMail(GUICtrlRead($nDest), GUICtrlRead($nObj), $body)
Exit
EndFunc
J'ai essayé d'utiliser une condition de type For ... In ... Next afin d'indiquer que si le champs $nCorps contient une guillemet, nous ajoutons ' " ' avant et après le résultat de lecture du champs.
Mais cela ne fonctionne pas.
Quelqu'un aurait il une astuce ?
En vous remerciant.