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

Langage Delphi Discussion :

Tester qu'une valeur existe dans une "liste"


Sujet :

Langage Delphi

  1. #1
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut Tester qu'une valeur existe dans une "liste"
    Bonjour

    J'aimerai savoir s'il existe une fonction équivalente au in en SQL.
    En gros j'aimerai tester qu'une chaine existe dans une liste, dans le style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mavaleur in ('toto','titi','tata','tutu'....) then
    Y a-t-il une fonction pour ca ou faut-il tout faire à la mano ?

    Merci

  2. #2
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Tout dépend de ta liste.
    Tu utilises quoi pour représenter ta liste ?
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Juin 2005
    Messages : 38
    Points : 30
    Points
    30
    Par défaut
    En utiisant une boucle et la méthode expliquée par ce lien, je pense que tu devrais pouvoir y arriver :

    http://delphi.developpez.com/faq/?pa...#trouverchaine

    A+

  4. #4
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    ok donc apparemment faut faire à la mano et il n'existe pas de fonction pour les feignantes dans mon genre

    MD > c'est juste pour pas avoir à faire de boucle ou faire 36000 tests type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mavariable = 'toto' or mavariable = 'titi' or mavariable = 'tutu' .... then
    en gros j'ai une Tlistbox contenant le nom des champs d'une table et j'aimerai tester si certains champs existent pour ne pas que ca me provoque des erreurs quand j'essaye d'en rajouter par la suite (50 champs)

  5. #5
    Membre éclairé
    Avatar de MD Software
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    613
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 613
    Points : 680
    Points
    680
    Par défaut
    Mais, si c'est statique, tu peux utiliser in aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mavaleur in ['toto','titi','tata','tutu'....] then
    MD Software
    ---------------------------
    F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi

  6. #6
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    ok, je pensais pas car en faisant F1 sur "in" ca me donnait rien
    je vais tester, merci !

  7. #7
    Expert éminent sénior

    Avatar de Nono40
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2002
    Messages
    8 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2002
    Messages : 8 640
    Points : 19 101
    Points
    19 101
    Par défaut
    Citation Envoyé par MD Software
    Mais, si c'est statique, tu peux utiliser in aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if mavaleur in ['toto','titi','tata','tutu'....] then
    Non, pas sur les chaines.
    Delphi :
    La F.A.Q. , 877 réponses à vos questions !
    264 sources à consulter/télécharger !

  8. #8
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    ben oui il me sort "type ordinal requis"
    y'a pas d'autre solution que de mettre mes 50 champs dans un tableau et le parcourir pour tester ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 88
    Points : 101
    Points
    101
    Par défaut
    Et avec indexof ? Du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if listbox.items.indexof('bidulo')=-1 // bidulo n'existe pas dans la liste

  10. #10
    Membre chevronné Avatar de Oluha
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 183
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 183
    Points : 1 967
    Points
    1 967
    Par défaut
    j'y avais pas pensé, merci !

  11. #11
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    he les gas vous avez oublié de lui raplé qu'une listebox est un tableau de string
    alors si tu veux pas utilisé la méthode de rico
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function cherchemot(m:string):boolean;
    var i:integer;
    begin
       i:=0;
       while (listbox.item.strings[i]<>m) and (i<listbox.count-1) do inc(i);
       result:=(i<listbox.count);
    end;
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  12. #12
    Expert éminent sénior

    Avatar de sjrd
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2004
    Messages
    4 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Suisse

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 4 517
    Points : 10 154
    Points
    10 154
    Par défaut
    Si ta liste est constante (toujours les mêmes éléments), tu peux utiliser AnsiIndexStr/AnsiIndex (case-sensitive ou pas) qui renvoie l'index où il a trouvé la chaîne ou alors AnsiMatchStr/AnsiMatchText qui renvoie True s'il a trouvé une correspondance.

    Le in que tu cherches, c'est AnsiMatchXXX
    sjrd, ancien rédacteur/modérateur Delphi.
    Auteur de Scala.js, le compilateur de Scala vers JavaScript, et directeur technique du Scala Center à l'EPFL.
    Découvrez Mes tutoriels.

  13. #13
    Membre émérite
    Avatar de NoisetteProd
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    1 905
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 905
    Points : 2 614
    Points
    2 614
    Par défaut
    Et juste en passant comme ça, ce ne serait pas mieux de mettre l'intelligence dans la BDD avec un trigger par exemple :
    Fais cogiter ta Noisette !!

    Participez à la page SOURCES Delphi !

    Découvrez le Défi Delphi

    Mon Mail

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

Discussions similaires

  1. Réponses: 14
    Dernier message: 10/10/2013, 06h39
  2. Impossible d'afficher une valeur existe dans une autre table
    Par mcharmat dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 06/02/2013, 06h38
  3. rechercher si une valeur existe dans une table
    Par Tierisa dans le forum VBA Access
    Réponses: 10
    Dernier message: 20/11/2008, 08h58
  4. Fonction de contrôle si une valeur existe dans une Array
    Par DMadzar dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 28/08/2007, 11h35

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