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

VB.NET Discussion :

[2.0] comportement étrange sur condition sur string.indexOf


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut [2.0] comportement étrange sur condition sur string.indexOf
    Salut,

    J'ai une procédure dans laquelle j'appelle une autre procédure selon le nom de fichier. Je teste donc le nom de fichier avec indexOf comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Public Shared Sub verifierRetour(ByVal fichier As String)
    	Dim s1 As Integer = fichier.IndexOf("_1.txt")
    	Dim s2 As Integer = fichier.IndexOf("_2.txt")
    	If s1 > -1 Then
    		methode1(fichier)
    	End If
    	If s2 > -1 Then
    		methode2(fichier)
    	End If
    End Sub
    Le problème est que la condition avec s1 se comporte normalement, mais methode2 est toujours exécuté mêe quand s2 est très clairement égal à -1.
    Savez-vous d'où ça peu venir?

    Merci par avance.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 240
    Par défaut
    Plutôt surprenant ...
    Si Methode2 est executée, S2 est forcément <= -1 ...
    En debug, tu n'as quand même pas vu ton appli rentrer dans le IF alors que la condition était false ???

  3. #3
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Citation Envoyé par Totanne Voir le message
    En debug, tu n'as quand même pas vu ton appli rentrer dans le IF alors que la condition était false ???
    Et pourant si!

    D:\NOTIFICATION\TMP\XXXXXXX_1_3_3_1.txt
    s1 = 33 passe dans le if
    s2 = -1 passe dans le if (pas normal)

    D:\NOTIFICATION\TMP\XXXXXXX_1_3_3_2.txt
    s1 = -1 passe pas dans le if (normal)
    s2 = 33 passe dans le if

    et ainsi de suite invariablement!

  4. #4
    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
    Si c'est une appli ASP.NET, tu as essayé de recompiler ? Parce que ton code est OK a priori, chez moi il fonctionne bien...

  5. #5
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    C'est un service windows. J'ai regénéré l'appli mais l'erreur est toujours là!
    Le problème intervient toujours même si je change la seconde condition en Le comportement reste toujours le même.
    En debug, toutes les valeurs sont cohérentes et correctes, mais je rentre tout de même dans la condition! La méthode n'est réellement composée que de ces quelques lignes, s1 et s2 sont nulles part ailleurs dans le projet et sont du bon type.
    C'est hallucinant!

  6. #6
    Membre Expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Par défaut
    Meme si a priori ca n'a rien a voir, si tu remplaces ta recherche IndexOf par un truc comme : s2 =instr(fichier,"_2.txt"), ca fait pareil ?

  7. #7
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Shared Sub verifierRetour(ByVal fichier As String)
    	Dim s1 As Integer = fichier.IndexOf("_1.txt")
    	Dim s2 As Integer = fichier.IndexOf("_2.txt")
    	Dim s3 As Boolean = True
     
    	If s1 > -1 Then
    		methode1(fichier)
    	End If
    	If Not s3 Then
    		methode2(fichier)
    	End If
    End Sub
    methode2() est toujours exécutée alors que je test sur "Not s3" (s3 valant true).
    J'ai beau modifier les conditions, l'exécution reste la même. Connaîtriez-vous des pistes à explorer? J'ai généré la solution, sans qu'aucune erreur ne soit retournée.
    Je rappelle, que je suis amateur en .net.

    Merci.

Discussions similaires

  1. Un comportement étrange (de plus ?) sur variable
    Par Guigsounet dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 08/07/2010, 20h14
  2. Comportement étrange d'IE sur interprétation code d'initialisation
    Par ephemere dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/07/2009, 16h32
  3. Réponses: 1
    Dernier message: 23/03/2009, 20h42
  4. Comportement étrange sur un bulleted list
    Par stroumfs dans le forum ASP.NET
    Réponses: 1
    Dernier message: 14/10/2008, 15h51
  5. Comportement étrange ksh sur linux
    Par hugo123 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 09/08/2006, 10h55

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