| |||||
| Dernière réponse | |
|---|---|
| Sujet : [algo] tri de composants sur une fiche Delphi | |
| rufo | je suis toujours preneur si qq'un a une suggestion... :) |
| Aperçu |
|---|
| Vue Rapide de la discussion |
|---|
| rufo | je suis toujours preneur si qq'un a une suggestion... :) |
| rufo | oui, effectivement, c'est une solution, mais ça fait quand même pas mal de code en plus... Mais, bon, je la garde sous le coude en attendant de trouver mieux. Merci en tout cas. :) |
| youdontcare |
http://www.w3.org/TR/REC-CSS2/
|
| rufo |
|
| antp |
|
| youdontcare | ok, bah essaye déjà de trier avec une plus petite précision.
sinon, tu sais qu'on peut positionner les éléments html de façon absolue ou relative (par rapport au parent) ? :D ça pourrait t'éviter tout ça ... |
| rufo | donc, je veux que mes composants soient dans le même ordre dans la liste que sur l'écran, de haut en bas et de gauche à droite... |
| rufo | http://perso.libertysurf.fr/chris.jav/screenshot.jpg [edtdd]--Message édité par rufo--[/edtdd] |
| rufo |
|
| youdontcare |
tu pourrais donner un screenshot qui montre le problème ? je suis pas sûr de voir ...
|
| rufo |
|
| youdontcare | si j'ai bien compris ça n'a rien à voir avec delphi ton truc, donc tu écartes pas mal de monde vu le titre de ton topic.
le problème c'est donc trier en fonction d'une propriété, et une fois ce tri effectué, faire un nouveau tri pour trier suivant une seconde propriété. donc si tu as disons des objets dont les propriétés ressemblent à 1 4 2 3 3 1 2 9 1 3 1 5 2 5 3 22 3 5 tu veux obtenir un tri suivant la première propriété puis la deuxième pour avoir : 1 3 1 4 1 5 2 3 2 5 2 9 3 1 3 5 3 22 c'est bien ça ? tout d'abord, tu utilises n'importe quel algo de tri (comme quicksort) pour trier suivant la première propriété. tu obtiens donc un truc trié suivant la première propriété, mais pas la deuxième : 1 4 1 3 1 5 2 3 2 9 2 5 3 5 3 1 3 22 ensuite, il suffit de parcourir ton tableau et de trier par sous catégorie : tu regardes la première valeur, c'est 1, tu continues jusqu'à ce que tu tombes sur 1, tu isoles les valeurs suivantes : 1 4 1 3 1 5 tu fais un quicksort sur ce sous ensemble pour obtenir 1 3 1 4 1 5 tu continues sur le tableau principal pour isoler la prochaine séquence : 2 3 2 9 2 5 tu tries le sous ensemble : 2 3 2 5 2 9 etc ... [edtdd]--Message édité par youdontcare--[/edtdd] |
| antp | j'aimerais bien t'aider, mais je sais pas trop comment...
peut etre en comparent la différence top/left/width du label par rapport à l'edit... genre si label.top - edit.top < edit.left - label.left et que edit.left - label.left est pas bcp plus grand que label.width tu peux déterminer que le label doit être mis avant l'edit... |
| rufo | alors, personne ne peut m'aider? snif :( |
| rufo | help! C'est vraiment important... |
| rufo | up :) |
| rufo | je précise que la finalité de ce tri, c'est de pouvoir générer du code html pour créer des formulaires de manière graphique (et surtout, WYSIWYG)... |
| rufo | voilà, je suis à la recherche d'un algo de tri de composants insérés dynamiquement sur une fiche d'un prgm écrit en Delphi. Je voudrais les trier sur 2 critères : tout d'abord leur propriété top puis leur propriété left, le but étant à la fin, d'avoir une liste de ces composants dans l'ordre de leur position sur la fiche de haut en bat de gauche à droite. Mon pb est dû aux composants label placé avant un autre composant (genre TEdit ou TMemo) : en effet, bien que leur propriété left soit < à celle des autres composants situés après, il sera clasé dans la liste après eux à cause de sa propriété top qui est légèrement supérieure :(
Je em suis donc orianté vers le centre de gravité mais, là encore, ça ne marche pas à tout les coups (mais ça marche mieux)... Alors, est-ce-que qq'un aurait déjà implémenté ce genre d'algo svp? Merci :) |




