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 :

Enlever les accent ?


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut Enlever les accent ?
    Quelqu'un sait transformer une chaine en la meme chaine mais sans accents?

    ex : ôéèà -> oeea

    il y t il une fonction style uppercase ?

    merci

  2. #2
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut pas de reponses ??
    Aucune réponse ?

    Actuellement j'ai écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        sTemp := AnsiReplaceStr (sTemp,'é','e');
        sTemp := AnsiReplaceStr (sTemp,'è','e');
        sTemp := AnsiReplaceStr (sTemp,'ô','o');
        sTemp := AnsiReplaceStr (sTemp,'ï','i');
        ...
    Mais je voulais savoir s'il y a une méthode plus élégante ...

  3. #3
    Membre éclairé

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 085
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 085
    Points : 886
    Points
    886
    Par défaut
    J'ai pas trouvé de fonctions toutes faites mais en voici une perso inspirée de celle-ci.


    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
     
    function EnleveAccents(AText : String) : string;
    var
      Char_Accents,Char_Sans_Accents : string;
      I,index : Integer;
    begin
      Char_Accents      := 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ';
      Char_Sans_Accents := 'aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn';
     
      For i := 1 to Length(AText) do begin
      index :=  Pos(AText[i],Char_Accents);
         If Index  > 0 then begin
         AText[i] := Char_Sans_Accents[Index];
         end;
      end;
    Result := AText;
    end;

  4. #4
    Membre du Club
    Inscrit en
    Décembre 2005
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 84
    Points : 58
    Points
    58
    Par défaut ok
    merci, je prend

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    on peut l'ecrire comme ca aussi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function EnleveAccents(AText : String) : string;
    const 
      Char_Accents     = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ';
      Char_Sans_Accents = 'aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn';
    var
      I : Integer;
      sTemp : String;
    begin
      sTemp := AText;
      For i := 1 to Length(Char_Accents) do 
        sTemp := StringReplace(sTemp,Char_Accents[i],Char_Sans_Accents[i],[rfReplaceAll]);
      Result := sTemp;
    end;

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    707
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 707
    Points : 777
    Points
    777
    Par défaut
    Ca serait peut-être mieux si la fonction retournait les caractères dans leur casse de départ ? On peut ensuite utiliser LowerCase ou UpperCase si on veut la changer...

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

Discussions similaires

  1. enlever les accents
    Par czezko dans le forum Windows Forms
    Réponses: 4
    Dernier message: 08/10/2008, 02h18
  2. Enlever les accents
    Par Zfred dans le forum Ruby
    Réponses: 7
    Dernier message: 20/04/2007, 16h26
  3. [Tableaux] Enlever les accents
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 30/03/2007, 10h21
  4. [Fait]API - Enlever les accents d'une chaîne
    Par cafeine dans le forum Contribuez
    Réponses: 1
    Dernier message: 27/01/2007, 16h48
  5. [FoxPro]Instruction pour enlever les accents ?
    Par Fab-FoxPro dans le forum Autres SGBD
    Réponses: 2
    Dernier message: 19/08/2003, 15h46

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