IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VC++ .NET Discussion :

Problème avec la fonction ToString()


Sujet :

VC++ .NET

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Par défaut Problème avec la fonction ToString()
    Bonjour,

    J'ai un problème que je n'arrive pas à régler avec Visual Studio.
    Ici on va récupérer le checksum d’un fichier XML pour vérifier la validité d’un fichier XML. Je récupère aussi la date et le login que je vais encoder en MD5 et je vais construire une string avec cette variable StringBuilder.
    J’essaye de convertir cette variable en string avec la fonction « toString() » j’ai déjà essayé Convert.toString mais ça ne marche pas. La fonction ne veut pas le convertir quand je l’affiche. Il m’affiche ce que je ne veux pas, j’ai vérifié il récupère bien les données du fichier XML. J’ai tout testé et j’ai vu que ToString ne fonctionnait pas. J’ai redémarré mon PC, j’ai relancé Visual Studio. Et ça ne marche toujours pas. Je travaille sur Visual Studio 2012 et j'ai testé sur 2010 c'est la même chose.

    Est-ce que quelqu'un aurait une solution à mon problème ?

    Merci pour votre aide !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    FileManager file = new FileManager(filename);
                if (file.exist())
                    try
                    {
                        XElement document = file.getXmlContent();
                        TrackerInterface tracker = ((Main)this.MdiParent).globalConfig.getDriver(document.Element("model").Value,
                                                                                                 document.Element("version").Value);
                        string checksum = document.Element("checksum").Value;
                        string date = document.Element("date").Value;
                        foreach (XElement family in document.Elements("family"))
                            foreach (XElement param in family.Elements("param"))
                                if (param.Attribute("id").Value.Equals("DEVICE_ID"))
                                {
                                    string result = param.Value + date + "www.fr";
                                    MD5 md5 = MD5.Create();
                                    byte[] inputresult = System.Text.Encoding.ASCII.GetBytes(result);
                                    byte[] hash = md5.ComputeHash(inputresult);
     
                                    StringBuilder sb = new StringBuilder();
                                    for (int i = 0; i < hash.Length; i++)
                                    {
                                        sb.Append(hash[i].ToString());
                                    }
                                    if (checksum == sb.ToString())
                                    {
                                        Perspective filePerspective = new Perspective();
                                        filePerspective.tracker = tracker;
                                        filePerspective.File = file;
                                        return filePerspective;
                                    }
                                    else
                                   {
                                        throw new Exception(Lang.NotCompatibleFile);
                                    }
                                }            
                    }
                    catch (Exception)
                    {
                        MessageBox.Show(Lang.NotCompatibleFile);
                    }
                return null;

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 482
    Par défaut
    Est-ce que quelqu'un aurait une solution à mon problème ?
    Un bon bouquin.

    Je passe sur l'utilisation complètement fantaisiste des exceptions, avec un typage "de clochard", ou le return null.

    Je passe aussi sur l'utilité d'un MD5 sur un fichier de type texte comme le XML qui dispose déjà de toutes les normes possible pour la validation de schéma et la sécurisation du contenu.

    J’ai tout testé et j’ai vu que ToString ne fonctionnait pas. J’ai redémarré mon PC, j’ai relancé Visual Studio. Et ça ne marche toujours pas. Je travaille sur Visual Studio 2012 et j'ai testé sur 2010 c'est la même chose.
    Faudrait essayer l'eau bénite, ou la poudre de perlimpimpin.

    Ou que l'entité maléfique entre la chaise et le clavier prenne un bon café (et un bon bouquin)

    J’essaye de convertir cette variable en string avec la fonction « toString() » j’ai déjà essayé Convert.toString mais ça ne marche pas. La fonction ne veut pas le convertir quand je l’affiche. Il m’affiche ce que je ne veux pas, j’ai vérifié il récupère bien les données du fichier XML
    Quelle variable ?
    De quel type ?
    A quel ligne ?
    "La fonction ne veut pas le convertir " au runtime ou au compile time ?
    message d'erreur ?
    ...

    Vous donnez très peu de détail sur le problème, à croire que vous n'avez même pas cherché.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 2
    Par défaut
    Excusez moi je suis débutant en C#

    Je passe aussi sur l'utilité d'un MD5 sur un fichier de type texte comme le XML qui dispose déjà de toutes les normes possible pour la validation de schéma et la sécurisation du contenu.
    J'utilise le MD5 pour des raisons externes.

    Quelle variable ?
    De quel type ?
    A quel ligne ?
    "La fonction ne veut pas le convertir " au runtime ou au compile time ?
    message d'erreur ?
    J'ai pas de message d'erreur. J'essayais de convertir la variable "sb" de type StringBuilder en string pour qu'il puisse comparer avec le checksum. Il ne rentre donc pas dans la condition "if" à la ligne 24 et me renvoit l'exception.

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 482
    Par défaut
    Excusez moi je suis débutant en C#
    On l'a tous été, d'où le bon bouquin.

    Ici c'est VC++.NET et pas C#.

    Alors, la comparaison de chaine, c'est ce qu'il y a de plus tricky dans les tripes du Framework .NET.
    Je ne vais donc pas vous demander plein de détails qui vous passeront au dessus de la tête.
    Commencez par utiliser le débuggeur de VS pour comparer vous même le contenu de chaque chaine. Je dis bien le contenu.

    Si c'est pas le cas, vous savez sur qui taper, sinon on regardera de plus près.

Discussions similaires

  1. Problème avec une fonction date.
    Par kmayoyota dans le forum ASP
    Réponses: 8
    Dernier message: 09/09/2004, 12h33
  2. Problème avec la fonction findfirst ()
    Par Angelico dans le forum Windows
    Réponses: 3
    Dernier message: 05/08/2004, 20h40
  3. [Requete SQL en VBA] Problème avec la fonction FLOOR
    Par zubral dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/07/2004, 13h24
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo