[R] Affichage dans msgbox de string récupérée d'une BDD
Posté : ven. 15 nov. 2013 18:36
Bonjour,
Je reprend une ancienne application et essaie de la rendre plus "propre".
Ainsi, je cherche à gérer les messages d'erreur en partant d'une BDD, le n° de l'erreur permettant l'affichage du texte et de l'icône...
Le script
Fonctionne, bien sûr parfaitement.
J'ai mis ce même texte dans un champ de BDD (mysql) et j'ai créé une fonction :
dans lequel $Erreur[1][1 est l'icône de la msgbox, ], $Erreur[1][2] le titre de la msgbox et $Erreur[1][3] le texte à afficher.
Lorsque j'appelle la fonction, par exemple _GesErreurs(1) qui est la première erreur logée dans la base, le texte s'affiche littéralement (avec les guillemets, les @CRLF en clair, etc.) dans la msgbox, au lieu de tenir compte des sauts de lignes. J'ai tenté de supprimer tous les guillemets, d'en rajouter au début et à la fin de la chaîne, d'échapper les guillemets avec des "\" mais rien n'y fait...
Cette gestion est-elle possible ou dois-je en rester à des messages individuels logés dans l'application ? Certains étant redondants, la solution base de données me semblait plus propre...
Merci !
Remarque : je n'ai pas joint l'UDF EzMySq.au3 afin de ne pas charger le serveur d'autant que je ne pense pas que le problème vienne de lui puisque je récupère bien ma chaîne...
Je reprend une ancienne application et essaie de la rendre plus "propre".
Ainsi, je cherche à gérer les messages d'erreur en partant d'une BDD, le n° de l'erreur permettant l'affichage du texte et de l'icône...
Le script
Code : Tout sélectionner
MsgBox(16, "Erreur !", "Suite à 3 saisies erronées de votre mot de passe, " & @CRLF & _
" vous n'avez plus accès à l'application" & @CRLF & _
" Merci de contacter un des responsable de l'association")J'ai mis ce même texte dans un champ de BDD (mysql) et j'ai créé une fonction :
Code : Tout sélectionner
Func _GesErreurs($NumeroErreur)
$Erreur=_EzMySql_GetTable2d("SELECT * FROM erreurs WHERE Id_Erreur='" & $NumeroErreur & "'")
MsgBox($Erreur[1][1], $Erreur[1][2], $Erreur[1][3])
EndFunc
Lorsque j'appelle la fonction, par exemple _GesErreurs(1) qui est la première erreur logée dans la base, le texte s'affiche littéralement (avec les guillemets, les @CRLF en clair, etc.) dans la msgbox, au lieu de tenir compte des sauts de lignes. J'ai tenté de supprimer tous les guillemets, d'en rajouter au début et à la fin de la chaîne, d'échapper les guillemets avec des "\" mais rien n'y fait...
Cette gestion est-elle possible ou dois-je en rester à des messages individuels logés dans l'application ? Certains étant redondants, la solution base de données me semblait plus propre...
Merci !
Remarque : je n'ai pas joint l'UDF EzMySq.au3 afin de ne pas charger le serveur d'autant que je ne pense pas que le problème vienne de lui puisque je récupère bien ma chaîne...