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

C# Discussion :

String.Format INCOMPREHENSIBLE C# [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut String.Format INCOMPREHENSIBLE C#
    Bonsoir tout le monde

    J'ai besoin d'aide lol! je vais craké avec cette fonction!
    Je vous explique, je code sous WIN FORM VS2008, hors j'ai un gros soucis avec le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                    string extrait;
     
                    StreamReader sr = new StreamReader("LoginMdp.txt");
                    extrait = sr.ReadLine();
     
                    string[] contenu = extrait.Split('°');
     
                    string id_save = String.Format({1:1},contenu);
                    string mdp_save = String.Format({3:1},contenu[3]);
    Je débute avec le c# et les 2 dernières lignes me bloquent!!! Je voudrai juste extraire se que j'ai besoin dans le fichier.
    Le HIC c'est que ca marche en console Application! A rien n'y comprendre.

    L'index (de base zéro) doit être supérieur ou égal à zéro et inférieur à la taille de la liste des arguments.

    Voilà ce que le compilateur me dit lol, je ne comprend pas....

    Merci de votre aide et de votre temps...

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par bugg7111 Voir le message
    Voilà ce que le compilateur me dit lol, je ne comprend pas....
    Euh... le compilateur te dit "lol" ?
    Je crois que tu as oublié le message d'erreur...


    De toutes façons, je ne comprends pas trop ce que tu cherches à faire, il faudrait que tu donnes plus de détails. Quelle est la structure de ton fichier LoginMdp.txt ? Tu veux juste récupérer le login/password ? Je ne vois pas trop pourquoi tu utilises String.Format alors...

    Je suppose d'après ton code qu'une ligne du fichier se présente comme ça :

    LeLogin°LeMotDePasse
    Donc si tu fais un Split selon le caractère '°', tu obtiens un tableau avec deux chaines : ["LeLogin", "LeMotDePasse"]. Donc tu as juste besoin de récupérer les 2 éléments du tableau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    string id_save = contenu[0];
                    string mdp_save = contenu[1];

  3. #3
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Lorsque je compile avec ces 2 lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string id_save = contenu[0];
    string mdp_save = contenu[1];
    Voilà ce que le compilateur me retourne
    L'index se trouve en dehors des limites du tableau
    Et oui c'est tout à fait ça, le mot de passe et le login se trouve dans le fichier texte.

    Il me faut le récupéré à tout pris , il y aurait une autre solution ?? pour éviter ce message d'erreur??

    Merci d'avoir pris le temps de répondre

  4. #4
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    J'ai regarder dans la plupart des forum, je n'ai rien trouvé qui me permette de terminer ce programme.


    Cela fait pourtant plusieurs heurs que je cherche, mais toujours la même erreur ou un résultat qui ne correspond pas! ( lorsque je bidouille )

    Faut il convertir en string contenu[0] et contenu[1]?

    Je suis largué..

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par bugg7111 Voir le message
    Lorsque je compile avec ces 2 lignes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    string id_save = contenu[0];
    string mdp_save = contenu[1];
    Voilà ce que le compilateur me retourne

    Et oui c'est tout à fait ça, le mot de passe et le login se trouve dans le fichier texte.
    Ca c'est pas une erreur du compilateur, c'est une exception (erreur lors de l'exécution). Ca veut dire que contenu n'a pas le nombre d'éléments voulu : tu essaies d'accéder au 1er élément alors qu'il n'y en a aucun (ou au 2e élément alors qu'une n'y en a qu'un)

    Fais voir le contenu exact du fichier (en modifiant le mdp bien sûr )

  6. #6
    Membre chevronné
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2011
    Messages
    610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Septembre 2011
    Messages : 610
    Par défaut
    Le contenu du fichier est :
    id:°LOG°/mdp:°PASS° (par exemple )

    Le code exacte est donc :

    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
    if (File.Exists("LoginMdp.txt"))   //si le fichier contenant les mot de passe existe
                {
                    string extrait;
     
                    StreamReader sr = new StreamReader("LoginMdp.txt");
                    extrait = sr.ReadLine();
     
                    string[] contenu = extrait.Split('°');
     
                    string id_save = contenu[1];
                    string mdp_save = contenu[3];
     
                    //string id_save = String.Format("{1.1}",contenu);
                   // string mdp_save = String.Format("{3.1}",contenu);
     
                    string Adr_Id_Mdp = "http://192.*.*.**/?identifiant=" + id_save + "&pass=" + mdp_save; //concatenation pour URL
     
                    RunUrl(Adr_Id_Mdp,true);
     
     
                }

    La partie concernée est toute ici !!


  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    C'est un peu pourri comme format
    Enfin bon... Dans ce cas, Split va renvoyer un tableau avec ces chaines :

    "id:"
    "LOG"
    "/mdp:"
    "PASS"
    ""

    Donc les index pour le login et le mot de passe ne sont plus 0 et 1, mais 1 et 3.
    Cela dit ça n'explique pas pourquoi tu as cette erreur... tu es sûr qu'il n'y a pas une ligne vide au début du fichier ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c#] string.Format argggggg
    Par the_bmo dans le forum C#
    Réponses: 6
    Dernier message: 04/11/2005, 16h06
  2. [VB.NET] StringBuilder Vs String.Format
    Par maitrebn dans le forum Windows Forms
    Réponses: 6
    Dernier message: 19/10/2004, 18h58
  3. [String] Probleme incomprehensible avec split
    Par scorpiwolf dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 20/07/2004, 21h21
  4. [C#] String.Format
    Par alexischmit dans le forum Windows Forms
    Réponses: 3
    Dernier message: 18/05/2004, 11h58
  5. [VC++ .NET] String::Format({?}, ...
    Par benoitB dans le forum MFC
    Réponses: 2
    Dernier message: 15/12/2003, 13h22

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