Existence d'un caractere ds une chaîne

ruth -  
WhiteFang Messages postés 2063 Statut Membre -
svp quelle fonction vb 6 permet de tester si un caractère est dans une chaîne ( sans faire de boucle)
exemple :
savoir si "test" contient "s"
merci

3 réponses

  1. blux Messages postés 2061 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    Bonjour,

    de mémoire, ça serait pas 'instr' ?

    Cherche dans l'aide des fonctions de texte, tu auras sûrement plus de chance

    A+ Blux            "Les cons, ça ose tout.
    C'est même à ça qu'on les reconnait"
    0
  2. santiago69 Messages postés 485 Statut Membre 209
     
    La fonction Instr renvoi la position d'un caractere dans une chaine, mais elle renvoi 0 si le caractere est introuvable.

    Dim Trouve as Boolean
    Trouve = (InStr(1,"test","s",vbTextCompare) > 0)

    Cet exemple recheche "s" dans "test" a partir du premier caractere et en effectuant une comparaison au niveau text.

    Il y a 10 types de personnes dans le monde
    Ceux qui comprennent le binaire et les autres.
    0
    1. WhiteFang Messages postés 2063 Statut Membre 204
       
      ;-)

      Y'aurais pas plus simple ? ;-)

      If Instr(1,"test","s") = 0 then kaike chose....

      ;-)

      Wild and Free
      0
      1. santiago69 Messages postés 485 Statut Membre 209 > WhiteFang Messages postés 2063 Statut Membre
         
        C'est exactement ce que je viens de dire sauf que le vbTextCompare est facultatif. Le 1 aussi d'ailleurs.
        Si tu veux un code minimal, ce sera :

        Dim Trouve as Boolean
        Trouve = (InStr("test","s") > 0)

        Je vois pas ce qu'on peux enlever.

        Il y a 10 types de personnes dans le monde
        Ceux qui comprennent le binaire et les autres.
        0
      2. WhiteFang Messages postés 2063 Statut Membre 204 > santiago69 Messages postés 485 Statut Membre
         
        ;-)

        Bin, tu peux enlever le chargement de la variable, qu'il faudra ensuite tester, d'ailleurs... Le test tout simple du retour de la fonction Instr tiens en 1 ligne....

        Avec ton approche, cela oblige à tester Trouve en true/false plus tard dans le code, à réserver 2 octets en mémoire... Un petit If ne réserve rien, et c'est du ToutEnUn... Mais je ne dis pas que c'est pas bien, hein, ne prends pas la mouche !! ;-))

        ;-)

        Wild and Free
        0