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

Windows Forms Discussion :

[vb.net]recherche "précise" dans une variable


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Par défaut [vb.net]recherche "précise" dans une variable
    bonsoir
    En fait j'ai un petit problème...

    J'ai une textbox dans laquelle l'utilisateur rentre un nombre (en fait il s'agit d'un code) dont le résultat s'enregistre dans une variable.

    Ensuite, je recherche donc cette variable dans une autre variable qui elle contient le contenu d'un fichier texte (dont le code lui même)

    Le but étant de recherché si le code est présent dans le fichier texte, et d'afficher les infos correspondante.

    Jusqu'à là pas de problème.

    Malheureusement il ya un hic...

    Si je rentre le chiffre 7 par exemple (ce code n'existe pas) il va me rechercher automatiquement 7 dans le contenu du fichier (or 17 existe) donc il va automatiquement s'arreter sur 17.

    Ce que je voudrais c'est cherché "exactement" le code qui se trouve dans la textbox. (dans mon cas il devra me dire que 7 n'existe pas plutôt que d'aller sur le 17)

    Comment faire?

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Recherche le 7 avec un espace avant, pis aussi un après

  3. #3
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    Lorsque tu ouvres ton fichier, récupères tous les codes valides que tu insères dans une liste. Ensuite, lorsque tu veux vérifier si le code entré existe, tu fait une recherche sur ta liste.

    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
     
    static void Main(string[] args)
            {
                List<string> codes = new List<string>();
     
                codes.Add("1");
                codes.Add("11");
     
                Console.Write("Entrez un code: ");
                string codeToSearch = Console.ReadLine();
     
                bool codeFound = (codes.Exists(delegate(string code)
                {
                    return code == codeToSearch;
                }));
     
                Console.WriteLine("Résultat: {0}", codeFound ? "trouvé!" : "absent!");
                Console.Read();
            }

  4. #4
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Par défaut
    Citation Envoyé par oyigit Voir le message
    Recherche le 7 avec un espace avant, pis aussi un après
    Si je met un espace après le 7 il me dira en effet que celui ci n'existe pas. Mais si je cherche par exemple "17 " il me le trouvera pas également... donc faudrais à la ,limitte que je modifie mes codes en mettant à cahque fois un espace après et ca devrait marché(mais avec + 2000 lignes c un peu long...)

    Sinon neptune, peux tu m'expliquer un peu plus ta méthode... si d'après ce que je comprends je fais une liste avec seulement le code (ou une variable???) je rencontrerais surement le même problème dans la mesure ou je chercherais toujours un code.

    Cela dis je n'ai ptet pas compris ou tu voulais en venir.

    Mon code actuelle

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      RechercheVariable = VariableFichierTexte.IndexOf(VariableCode)

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Tu peux aussi faire un Trim su ta chaine pour enlever les espaces inutiles, puis rajouter un espace avant, puis, je me répète, un après pour faire ta recherche... Donc tu trouveras, "7", "17", " 17", "17 " et " 17 ".... elle est pas belle la vie...

  6. #6
    Membre émérite Avatar de neptune
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 835
    Par défaut
    RechercheVariable = VariableFichierTexte.IndexOf(VariableCode)
    En faisant ceci tu ne recherches pas un code mais juste un morceau de texte. Cela ne correspond pas du tout à tes fonctionnalités

    Créé un projet console et copie le code, tu verras comment il fonctionne. Tu peux t'en inspirer pour solutioner ton problème.

    En gros, tu remplit une liste de code valide (depuis ton fichier), a chaque fois que tu veux tester si un code existe tu utilise ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    bool codeFound = (codes.Exists(delegate(string code)
                {
                    return code == codeToSearch;
                }));

  7. #7
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Par défaut
    En faisant ceci tu ne recherches pas un code mais juste un morceau de texte. Cela ne correspond pas du tout à tes fonctionnalités
    Oui je débute un peu et je pensais que c'etait une bonne solution... quand je disais que je recherchais un code je me comprenais en fait je cherchais un texte contenant "le code". pour moi c'etais la même chose

    Vos messages m'ont mis sur la voie et j'obtiens désormais ce que je veux. merci

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

Discussions similaires

  1. [XL-2007] recherche d'un mot dans une variable de type string
    Par canichon dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/04/2013, 13h45
  2. Recherche d'un texte dans une variable
    Par Cj_Dal dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 11/06/2010, 19h04
  3. Recherche d'un mot dans une variable string
    Par bataviar dans le forum Débuter
    Réponses: 8
    Dernier message: 27/05/2008, 14h10

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