Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Remplacement de caractères spéciaux [ Windows / Autre ] (alphacrash)

mercredi 9 juillet 2008 à 12:07:26 | Remplacement de caractères spéciaux

alphacrash

Voilà une fonction convertir_special() que j'utilise comme ceci: textbox5.text=convertir_special(titre), titre étant une chaine vous vous en doutez.
Lors que je l'exécute, j'ai une exception de type :Object reference not set to an instance of an object. sur la première ligne de ma fonction...au premier remplacement...:-( need help les gens merci' à l'avance...


private string convertir_special(string text)
        {
         
            text = text.Replace("&", "&");
            text = text.Replace("¡", "¡");
            text = text.Replace("¢", "¢");
            text = text.Replace("£", "£");
            text = text.Replace("?", "¤");
            text = text.Replace("¥", "¥");
            text = text.Replace("|", "¦");
            text = text.Replace("§", "§");
            text = text.Replace("?", "¨");
            text = text.Replace("©", "©");
            text = text.Replace("ª", "ª");
            text = text.Replace("«", "«");
            text = text.Replace("¬", "¬");
            text = text.Replace("­", "­");
            text = text.Replace("®", "®");
            text = text.Replace("¯", "¯");
            text = text.Replace("°", "°");
            text = text.Replace("±", "±");
            text = text.Replace("²", "²");
            text = text.Replace("³", "³");
            text = text.Replace("?", "´");
            text = text.Replace("µ", "µ");
            text = text.Replace("¶", "¶");
            text = text.Replace("·", "·");
            text = text.Replace("?", "¸");
            text = text.Replace("¹", "¹");
            text = text.Replace("º", "º");
            text = text.Replace("»", "»");
            text = text.Replace("?", "¼");
            text = text.Replace("?", "½");
            text = text.Replace("?", "¾");
            text = text.Replace("¿", "¿");
            text = text.Replace("À", "À");
            text = text.Replace("Á", "Á");
            text = text.Replace("Â", "Â");
            text = text.Replace("Ã", "Ã");
            text = text.Replace("Ä", "Ä");
            text = text.Replace("Å", "Å");
            text = text.Replace("Æ", "Æ");
            text = text.Replace("Ç", "Ç");
            text = text.Replace("È", "È");
            text = text.Replace("É", "É");
            text = text.Replace("Ê", "Ê");
            text = text.Replace("Ë", "Ë");
            text = text.Replace("Ì", "Ì");
            text = text.Replace("Í", "Í");
            text = text.Replace("Î", "Î");
            text = text.Replace("Ï", "Ï");
            text = text.Replace("Ð", "Ð");
            text = text.Replace("Ñ", "Ñ");
            text = text.Replace("Ò", "Ò");
            text = text.Replace("Ó", "Ó");
            text = text.Replace("Ô", "Ô");
            text = text.Replace("Õ", "Õ");
            text = text.Replace("Ö", "Ö");
            text = text.Replace("×", "×");
            text = text.Replace("Ø", "Ø");
            text = text.Replace("Ù", "Ù");
            text = text.Replace("Ú", "Ú");
            text = text.Replace("Û", "Û");
            text = text.Replace("Ü", "Ü");
            text = text.Replace("Ý", "Ý");
            text = text.Replace("Þ", "Þ");
            text = text.Replace("ß", "ß");
            text = text.Replace("à", "à");
            text = text.Replace("á", "á");
            text = text.Replace("â", "â");
            text = text.Replace("ã", "ã");
            text = text.Replace("ä", "ä");
            text = text.Replace("å", "å");
            text = text.Replace("æ", "æ");
            text = text.Replace("ç", "ç");
            text = text.Replace("è", "è");
            text = text.Replace("é", "é");
            text = text.Replace("ê", "ê");
            text = text.Replace("ë", "ë");
            text = text.Replace("ì", "ì");
            text = text.Replace("í", "í");
            text = text.Replace("î", "î");
            text = text.Replace("ï", "ï");
            text = text.Replace("ð", "ð");
            text = text.Replace("ñ", "ñ");
            text = text.Replace("ò", "ò");
            text = text.Replace("ó", "ó");
            text = text.Replace("ô", "ô");
            text = text.Replace("õ", "õ");
            text = text.Replace("ö", "&ö");
            text = text.Replace("÷", "&÷");
            text = text.Replace("ø", "ø");
            text = text.Replace("ù", "ù");
            text = text.Replace("ú", "ú");
            text = text.Replace("û", "û");
            text = text.Replace("ü", "ü");
            text = text.Replace("ý", "ý");
            text = text.Replace("þ", "þ");
            text = text.Replace("ÿ", "ÿ");
           // MessageBox.Show(text);
            return text;
        }

Coding is not a crime!

mercredi 9 juillet 2008 à 12:23:10 | Re : Remplacement de caractères spéciaux

Tilois

il faut faire tes replaces seulement si :

!string.IsNullOrEmpty(Text)
En effet les replace dans les chaines null ne fonctionnent pas!


mercredi 9 juillet 2008 à 12:31:50 | Re : Remplacement de caractères spéciaux

SharpMao

Membre Club
Hello,

ta variable text doit sasn doute être null en arrivant dans ta méthode, d'où le problème.

Dit en passant, il existe une méthode System.Web.HttpUtility.HtmlEncode qui fait à peu de choses prêt la même chose.

Une des seules différences, c'est qu'elle encode "&" par "&".

Si ça te convient, utilise-là plutôt que de la réinventer. Au moins, tu sera sur de ne pas avoir oublié un charactère dans le tas.

Amicalement, SharpMao

"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)

mercredi 9 juillet 2008 à 13:01:00 | Re : Remplacement de caractères spéciaux

MorpionMx

Membre Club Administrateur CodeS-SourceS
Et la le gros probleme, c'est que chaque appel de Replace recrée une instance de string... qui devra être ensuite Garbage collectée.
Niveau perf, c'est pas terrible

Mx
MVP C#
 


dimanche 13 juillet 2008 à 21:15:46 | Re : Remplacement de caractères spéciaux

coq

Administrateur CodeS-SourceS
Salut,

"Au moins, tu sera sur de ne pas avoir oublié un charactère dans le tas."
Ce n'est pas tout à fait vrai avec System.Web.HttpUtility.HtmlEncode, elle fonctionne sur un principe de blacklist au lieu d'une whitelist qui est plus de rigueur dans ce genre de cas (j'avais abordé le sujet ici) :-).
Il vaut mieux passer par l'AntiXssLibrary donc (et surtout pas un enchainement de Replace).




/*
coq
MVP Visual C#
CoqBlog
*/



Cette discussion est classé dans : text, replace, convertir, remplacement, special


Répondre à ce message

Sujets en rapport avec ce message

envoyer un mail [ par hay2006 ] salut,je voudrais savoir comment envoyer un mail avec C# sachant que g utilisé cette fonction mais elle déclenche tjrs l'exception("ereeur de connexio Appeler des objets en créant les noms dynamiquement [ par deejay2221 ] BonjoursJ'ai un programme avec 81 textbox. J'aimerais bien être capable d'appeler chacun des textbox en créant le nom dynamiquement. Par exemple, au l Redéfinir la propriété Text d'un Combobox [ par Galaid ] Bonsoir,J'ai une combobox dont je voudrais redéfénir la propriété Text après avoir sélectionné un item.Je donne un exemple :La Combobox contient des s Convertir un string et int [ par Metabolicman ] Bonjour, Je développe une petite application événementielle pour mes cours et j'ai un petit problème. Je récupère des tarifs dans un fichier .txt et j tooltip text qui ne fonctionne pas correctement [ par Jordan59 ] Bonjour,J'ai un problème avec un tooltip text, je l'ai appellé dans un évènement MouseEnter et il ne s'affiche pas quand mon pointeur rentre sur le bo FICHIER EN MODIFICATION !!!! System.IO.EndOfStreamException probleme !! bloqué !! à l'aide !! [ par mindedman ] voila je suis en mode graphique, et je souhaite à l'aide d'un premier bouton : rechercher et affecter chaque element de ma structur dans des textbox.. comment rendre une verification de connectionbeaucoup plus rapide ? [ par 6miK ] Bonjour,j'aimerais savoir comment faire une vérification beaucoups plus rapide, car ceci mais tout de même un certain temps lorsqu'il sagit de vérifie des symboles remplacent les \n, \t...etc [ par SatanicPunker ] Bonjour, J'ai un petit souci que j'avais eu auparavant lorque je codait une application graphique en Java avec SWT (ecli Afficher les valeurs une chaine de caractére dans 1 Combobox, Enum [ par drcmomo ] Bonjour tout le monde !!Je vous expose mon probléme je dois afficher dans 1 combobox  une chaine de caractére associé a un Enum , j'arrive a afficher Recuperer Les caractére d'1 Enum et l'afficher dans COMBOBOX [ par drcmomo ] Bonjour tout le monde !!!!Voila mon probléme je dois afficher dans 1 COMBOBOX La chaine caratére "Sans Nomenclature"J'ai reussir a le faire dans une A


Nos sponsors

Sondage...

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,22 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.