Treeview

Treeview - Delphi/Pascal - Programmation

Marsh Posté le 25-07-2004 à 12:57:53    

Bonjour, je développe une application avec un Treeview, tout fonctionne à peu près bien, le seul problème est que lorsque je veux ajouter un objet enfant, j'obtien un message d'erreur, il faut alors que je cré un objet maitre avant de pouvoir ajouter les objets enfants.
Le plus grave, c'est que je ne vois pas d'ou vient le problème.
Quelqu'un pourrait-il m'aider ??
Merci :??:

Reply

Marsh Posté le 25-07-2004 à 12:57:53   

Reply

Marsh Posté le 25-07-2004 à 13:11:44    

Tu le crées comment ton objet ?
C'est quoi l'erreur ?

Reply

Marsh Posté le 26-07-2004 à 06:22:02    

antp a écrit :

Tu le crées comment ton objet ?
C'est quoi l'erreur ?


 
pour la création, je fais  
CNode:=TreeView1.Items.AddChild(Cnode,edit2.text);
et j'ai fini par régler mon problème, maintenant j'aimerais associer mes noeuds à une BDD si quelqu'un peut m'aider.

Reply

Marsh Posté le 26-07-2004 à 09:21:04    

enry a écrit :

j'aimerais associer mes noeuds à une BDD si quelqu'un peut m'aider.


 
C'est un peu vague :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-07-2004 à 11:51:38    

antp a écrit :

C'est un peu vague :D


 
Bonjour, alors j'explique, j'ai une base de données avec du matériel que j'ai en maintenance, et chaqu'un des noeuds serait connecté avec du matériel. Ainsi, lorsque je cliquerais sur un des noeuds, toutes ses caractéristiques apparaitraient à l'écran.
J'ai vu ce dont tu étais capable en programmation et pour toi cela doit sembler à un jeu d'enfant, pour moi c'est nettement plus dur.

Reply

Marsh Posté le 26-07-2004 à 12:01:13    

Je sais pas trop, il y a plein de façons de faire. Tu peux, dans chaque nœud, stocker l'ID du matériel dans la priopriété Data du nœud (où y stocker un pointeur vers un objet qui contient les infos du matériel)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 26-07-2004 à 12:40:03    

antp a écrit :

Je sais pas trop, il y a plein de façons de faire. Tu peux, dans chaque nœud, stocker l'ID du matériel dans la priopriété Data du nœud (où y stocker un pointeur vers un objet qui contient les infos du matériel)


 
Et comment on stocke l'id du noeud ??
Comment on lui affecte une id ??
Tu vois lorsqu'on n'y arrive pas c'est parceque l'on ne connait pas le logiciel à fond.
Je suis informaticien industriel, nos id et le reste on sait les programmer, il est évident que nous connaissons bien nos logiciel.
Mais Delphi, nous ne sommes pas des pros.

Reply

Marsh Posté le 26-07-2004 à 14:16:16    

Je parlais de l'ID du matériel, dans la base de données.
Je suppose que c'est un entier.
Dans la propriété Data de chaque nœud du Treeview tu peux stocker un pointeur ou un entier, tu peux y mettre par exemple l'ID du matériel lorsque tu construis la liste à partir de la base de données, pour ensuite savoir à quel matériel se rapporte ce nœud.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 27-07-2004 à 08:25:05    

Eureka, j'ai réussi.
Merci pour ton ID.

Reply

Marsh Posté le 29-07-2004 à 09:49:24    

:cry: Bonjour, j'ai essayer avec les ID du matériel, mais ces ID ne sont pas fixe, chaque fois que je redemmare le programme ça change alors impossible de le stocker dans une base de donnée, je ne pourrais pas faire de recherche par l'id. Oui il faut que je te dise que comme je cré mon Treeview dynamiquement, lorsque je quitte le programme, je l'enregistre dans un fichier que je charge à l'ouverture du prog, comme cela je suis toujours à jour dans mes modifications. :pfff:

Reply

Marsh Posté le 29-07-2004 à 09:49:24   

Reply

Marsh Posté le 29-07-2004 à 10:16:18    

:sol: Excuse, je viens de t'expliquer que le système des ID ne fonctionne pas alors qu'il fonctionne très bien, le seul problème est que les valeurs en développement et en executable final ne sont pas les mêmes(les valeurs diffèrent) mais après, j'ai relancé windows et le prog plusieurs fois, et ce sont toujours les mêmes valeurs.
Accepte mes humbles excuses.
 

Reply

Marsh Posté le 29-07-2004 à 10:26:41    

Je pensais que tu construisais ton treeview dynamiquement à partir d'une base de données de matériels justement :D

Reply

Marsh Posté le 29-07-2004 à 10:49:17    

:sol: Non, ça je ne sais pas faire, je développe d'abord mon Treeview, et après, lorsque je clique sur un élément, la base de données s'ouvre, j'ajoute les caractéristique de l'appareil et j'enregistre.
Le contraire, fabriquer un Treeview à partir du chargement d'une base de donnée, si c'est possible, j'y arriverais un jour.
 :fou: Tout vient à point qui sait attendre.

Reply

Marsh Posté le 29-07-2004 à 10:54:03    

Tout est possible.
Remplir le treeview par contre c'est pas très compliqué : t'as une méthode pour ajouter un nœud au treeview, ça te renvoie un TTreeNode probablement. De là tu peux mettre les différents attributs (text, data, etc.)
Il suffit que tu fasses ça dans une boucle où tu parcours ta base de données (ou une liste de matériel ou autre), à chaque passage dans la boucle tu ajoutes un nœud dont les infos proviennent de l'item courant de la base de données.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed