Aide - Recherche - Membres - Calendrier
Version complète : Tri alphabétique
Les Forums de PalmAttitude.org > GENERAL PalmOS > Développement sous PalmOS > Développement HB++
D2P
J'ouvre une table de la façon suivante :
CODE
Base.OpenrecordSet "ORDER BY Libelle ASC", ...., HbCompareText


Le RecordSet est bien trié mais les caractères accentués sont placés dans l'ordre après le Z... quelcon.gif

Est-il possible d'avoir un ordre alphabétique qui ignore les accents ?
snark
Je ne pense pas que ça soit possible de le faire dans l'OpenRecordSet.
Il y a bien une fonction RemoveAccents mais elle doit être appelé dans le code, pas dans le SQL de la requête.
D2P
Donc solution, supprimer les accents des données sur lesquelles je fais des tris... Ou encore recopier ces données sans les accents dans un autre champ sur lequel je ferais le tri...
snark
Un truc dans le style mais ça risque de ne pas être très efficace.
D2P
Je regardais ce que faisais agendus.... Il conserve les accents mais les trie correctement...
Patrice
CITATION(D2P @ 26/02/2007 à 10:57 ) *
Je regardais ce que faisais agendus.... Il conserve les accents mais les trie correctement...
Je doute qu'Agendus soit écrit en HB++ icon_lol2.gif Et l'OS fournit les fonctions de comparaison qu'il faut...
D2P
CITATION(Patrice @ 26/02/2007 à 11:07 ) *
Je doute qu'Agendus soit écrit en HB++ icon_lol2.gif Et l'OS fournit les fonctions de comparaison qu'il faut...

Moque toi anim_rolleyes.gif

L'OS permet de trier les caractères accentués ? J'ai l'impression qu'HB++ ne permet de définir que le type de tri que sur des listes, mais pas sur un recordset quelcon.gif
snark
CITATION(D2P @ 26/02/2007 à 11:22 ) *
L'OS permet de trier les caractères accentués ? J'ai l'impression qu'HB++ ne permet de définir que le type de tri que sur des listes, mais pas sur un recordset quelcon.gif
Le pseudo-SQL implémenté dans HB++ ne permet que 2 types de tri, texte (sensible à la casse) ou binaire (insensible à la casse) . Tout comme les autres fonctions de comparaison (StrComp par exemple).

Regarde le sample hbMemo pour voir comment implémenter ta propre fonction de comparaison (SortAlphabetic dans le module General). Je suppose que ça pointe vers la fonction de l'OS dont parle Patrice.

Mais je doute que tu puisse l'utiliser dans un OpenRecordSet.
D2P
Merci pour les infos. Je vais regarder anim_wink.gif
Patrice
Je ne me moquais pas anim_wink.gif Il est naturel que le système de requêtage, pour rester simple et efficace, soit un peu "brut"... Ensuite pour faire plus complexe, il reste la méthode artisanale...
D2P
CITATION(Patrice @ 26/02/2007 à 11:38 ) *
Je ne me moquais pas anim_wink.gif Il est naturel que le système de requêtage, pour rester simple et efficace, soit un peu "brut"... Ensuite pour faire plus complexe, il reste la méthode artisanale...

Quand je disais "moquer", c'était sans arrière pensée... Juste un trait d'humour, rassure toi anim_wink.gif

Je comprends bien le problème... Ca commence à me rappeler le temps ou il fallait gérer soit même les tables d'index et les tris siffle.gif Je ne sais pas si je vais aller jusque là quelcon.gif
Payalba
CITATION(Patrice @ 26/02/2007 à 11:07 ) *
Je doute qu'Agendus soit écrit en HB++ icon_lol2.gif Et l'OS fournit les fonctions de comparaison qu'il faut...

Bizarre comme réflexion !
C'est pas bien B++ ? Incomplet ?
Tu peux m'en dire plus Patrice ? (Par MP eventuellement)
quagliozzi
Peut-être faisait-il référence à la date de sortie de la première version, qui je crois est antérieures à la sortie d'HB++.

Toutefois, il suffit de "piocher" dans les nombreux exemples fournis avec HB++ pour vite comprendre qu'il est relativement facile de créer un agenda très évolué et complet.
Ceci est d'autant plus renforcé par la notion de couche "Layer" de la version 2.11 permettant un usage total de ucTAB et donc de gérer des fiches (forms) très complètes et variées.

A+
Eric.
Patrice
CITATION(Payalba @ 02/03/2007 à 17:35 ) *
C'est pas bien B++ ? Incomplet ?
Tu peux m'en dire plus Patrice ? (Par MP eventuellement)

Je veux juste dire que je doute que beaucoup de "poids lourds" du logiciel soient écrits en HB++. Surtout lorsqu'ils sont portés sur d'autres plates-formes. Mais j'ai peut-être tort...
Payalba
Eh bien soit plus clair à l'avenir. Parce que là, je suis désolé, désolé mias ce n'est pas ce que j'avais compris.


Pour les poids lourd, je ne peux rien dire mais qui sait .
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.