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

 Delphi Discussion :

Equivalent de Pos(), mais en non sensible à la casse


Sujet :

Delphi

  1. #1
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Points : 1 935
    Points
    1 935
    Par défaut Equivalent de Pos(), mais en non sensible à la casse
    Bonjour

    Question toute bête au premier abord suite à ce thread :
    http://www.developpez.net/forums/sho...d.php?t=577148

    La fonction Pos() fait une distinction entre minuscules et majuscules.

    Par exemple si la string à rechercher est 'ToTo' et si :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
      if Pos('Toto', Memo1.Text) > 0 then
    ...
    Hé bien la recherche n'aboutira pas.

    J'ai trouvé la fonction AnsiContainsText() qui semble convenir à mes souhaits.

    Voici ma question : quelle est votre méthode pour effectuer une recherche devant être impérativement non sensible à la casse et sans passer par une méthode convertissant tout en minuscules ?

    Merci

  2. #2
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 951
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 951
    Points : 5 671
    Points
    5 671
    Par défaut
    Gao,
    Citation Envoyé par Droïde Système7 Voir le message
    Voici ma question : quelle est votre méthode pour effectuer une recherche devant être impérativement non sensible à la casse et sans passer par une méthode convertissant tout en minuscules ?
    Je ne connais pas de méthode prête à l'emploi (ce qui ne signifie pas que ça n'existe pas), mais dans tous les cas, que tu le fasses toi explicitement, ou que ce soit la fonction, il y aura passage en minuscules (ou majuscules) pour pouvoir faire la comparaison.

  3. #3
    Rédacteur
    Avatar de evarisnea
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Juin 2005
    Messages
    1 957
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Transports

    Informations forums :
    Inscription : Juin 2005
    Messages : 1 957
    Points : 4 384
    Points
    4 384
    Par défaut

    Citation Envoyé par Droïde Système7 Voir le message
    Voici ma question : quelle est votre méthode pour effectuer une recherche devant être impérativement non sensible à la casse et sans passer par une méthode convertissant tout en minuscules ?
    sans répondre à ta question, je précise juste que l'implémentation de la méthode AnsiContainsText effectue une conversion
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function AnsiContainsText(const AText, ASubText: string): Boolean;
    begin
      Result := AnsiPos(AnsiUppercase(ASubText), AnsiUppercase(AText)) > 0;
    end;

  4. #4
    Expert éminent sénior
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    10 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 10 946
    Points : 15 400
    Points
    15 400
    Par défaut
    Salut !
    Citation Envoyé par Droïde Système7 Voir le message
    Voici ma question : quelle est votre méthode pour effectuer une recherche devant être impérativement non sensible à la casse et sans passer par une méthode convertissant tout en minuscules ?
    Et moi je n'ai pas compris la question : non sensible à la casse ?
    Ça veut dire que toto TOTO tOtO et ToTo sont tous équivalents, c'est bien ça ?

    Bon, de toute façon, aide D7 :
    AnsiCompareStr, fonction
    Compare deux chaînes basées sur la configuration locale (les différences de majuscules/minuscules sont détectées).

    AnsiCompareText, fonction
    Compare deux chaînes basées sur la configuration locale (les différences de majuscules/minuscules ne sont pas détectées)
    Tu devrais t'en sortir avec ça, non ?
    Tchô,

  5. #5
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 288
    Points : 1 935
    Points
    1 935
    Par défaut
    Salut les copains,

    Vos commentaires éclairent un peu plus ma lanterne ; en effet alors passage obligé en minuscules (ou majuscules) pour effectuer les tests de strings.

    La fonction AnsiContainsText() est super, mais elle ne retourne qu'un boolean et non un integer comme Pos(), ce qui limite son utilisation.

    Oui jp, tu lis dans mes pensées ; avec tout ça je vais tripatouiller le code pour voir ce qu'il en ressort (c'est le cas de la dire ). J'avais bien scanné la liste des fonctions de maniements de strings en ligne, mais je suis toujours étonné que par exemple, une fonction PosAnsixx() ou un truc comme ça n'existe pas toute prête pour gérer les comparaisons non sensibles à la casse.

    Je laisse encore un peu ce thread comme ça, si je peux avoir d'autres commentaires, cela sera d'autant plus intéressant et enrichissant. Ensuite je taguerais en Résolu.

    Merci @ +

    =============================

    Edit : Voilà, grâce à vos infos, j'ai réussi à me débrouiller et tout est nickel, encore merci

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

Discussions similaires

  1. Rewriterule : html OK mais redirection non !
    Par baladeornitho dans le forum Apache
    Réponses: 5
    Dernier message: 02/12/2006, 09h57
  2. Réponses: 2
    Dernier message: 15/05/2006, 14h08
  3. Package present mais methode non reconnu !!
    Par Battosaiii dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 13/12/2005, 10h19
  4. [APPLET-SERVLET] download oui mais upload non ...
    Par meufeu dans le forum Applets
    Réponses: 7
    Dernier message: 09/08/2004, 14h36
  5. [FLASH MX] Erreur : L'identifiant non sensible à ...
    Par blowdesign dans le forum Flash
    Réponses: 2
    Dernier message: 16/05/2004, 21h10

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