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

Lazarus Pascal Discussion :

[Lazarus] Valeur champ avec caractère accentué dans filtre TDBF


Sujet :

Lazarus Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut [Lazarus] Valeur champ avec caractère accentué dans filtre TDBF
    Bonjour,

    Oui, c'est encore moi décidemment

    J'ai une table DbaseIV sur laquelle je souhaite faire un tri sur la valeur d'un champ string.

    Petit soucis (ou bug de lazarus), si le champ contient un caractère avec un accent : é,è,à, etc.. eh bien le filtre ne fonctionne pas !

    Quelqu'un a-t-il eu ce problème, et comment le résoudre ou le contourner ?

    Merci !

    A+

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 73
    Points : 63
    Points
    63
    Par défaut Valeur champ
    Salut,
    Je te relate ma propre expérience. J'ai rencontré le même problème, je l'ai résolu en supprimant les caractères accentués, et ça marche !
    Peut-être qu'il y a une solution, si c'est le cas je suis preneur !

    Salut

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Humm

    Citation Envoyé par sverdo Voir le message
    Salut,
    Je te relate ma propre expérience. J'ai rencontré le même problème, je l'ai résolu en supprimant les caractères accentués, et ça marche !
    C'est effectivement la solution facile ...

    Mais c'est très contraignant et je pense que c'est un bug de Lazarus...
    Assez gênant quand même !

    Merci quand même ... Je vais attendre d'avoir d'autres avis

    A+

  4. #4
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    C'est pas un bug, si ca classe selon le code ascii... Tu peux faire une routine qui classe ça, en remplaçant les accents par les lettres équivalentes non accentuées, puis retourner ce classement dans la table (après je ne sais pas comment les données sont gérées).

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Salut,

    Ben, le plus simple dans ce cas serait de refuser la valeur du champ dès son enregistrement dans la table s'il contient un caractere de valeur ASCII < 48(0) ou > 122 (z).

    Mais je souhaite garder les caractères accentués. .. Je sais je suis chiant ...

    Je n'ai pas souvenir d'avoir rencontré ce pb avec Delphi.

    A+

  6. #6
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 949
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 949
    Points : 5 663
    Points
    5 663
    Par défaut
    Jio,

    Tu n'as pas rencontré ce problème avec Delphi car il ne s'est pas présenté.

    Désolé pour toi, mais c'est comme ça que travaillent les comparaisons de chaînes de caractères, avec les codes numériques des caractères.

    Si tu veux passer outre, il faut écrire tes propres routines de comparaison :
    - remplacer tous les caractères avec des symboles diacritiques (accents, cédille, ...) par les caractères simples correspondant
    - transformer tous les caractères en majuscules (ou minuscules, au choix)

    tu peux alors faire une comparaison qui te donnera le classement alphabétique au sens couramment utilisé.

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/07/2012, 10h58
  2. Réponses: 0
    Dernier message: 24/11/2011, 09h57
  3. [MySQL] Recherche dans un champ avec caractères spéciaux
    Par wehtam dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 07/11/2008, 09h54
  4. [Oracle] Problème d'affichage de valeurs contenant un caractère blanc dans un champ
    Par domray dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 28/02/2007, 17h11
  5. Chaines avec caractères accentués dans interbase
    Par Tsimplice dans le forum Bases de données
    Réponses: 4
    Dernier message: 08/03/2004, 17h12

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