Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 19-02-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Gracias por la respuesta
Responder Con Cita
  #2  
Antiguo 19-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
En realidad no hace falta adquirir memoria con la función "New", ya que la propiedad Data es de tipo puntero ocupando 2 bytes en memoria, lo mismo que ocupa un Integer.

Podría quedar así:
Código Delphi [-]
Nod:=TreeView1.Items.Add (nil,Query1.FieldByName('Descripcion').asstring);
Nod.Data := Pointer(Query1.Fieldbyname('Codigo').asinteger);
Y cuando queramos acceder:
Código Delphi [-]
MiNumero := Integer(Node.Selected.Data)
En este caso no tenemos que liberar nada de memoria cuando se libere el nodo, porque no hemos reservado memoria.

Lo realmente interesante es que podemos crear nuestro propio objeto y asociarlo a cada nodo, guardando mucha más información:
Código Delphi [-]
type Cliente = Class(TObject)
public
   nombre: string;
   apellido:string;
   direccion:string;
   TotalFacturado:currency;
end;

...
 cliente := TCliente.Create(nil);
 Nod:=TreeView1.Items.Add (nil,Query1.FieldByName('Descripcion').asstring);
          cliente);
  cliente.nombre := query1.fieldbyname(....);
  cliente.direccion:= ....

          nod.Selected :=true;
Por supuesto, al eliminar un TTreeNode si necesitamos liberar nuestro objeto Cliente (evento OnFreeNode).

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 19-02-2008
egbaquela egbaquela is offline
Miembro
 
Registrado: jul 2007
Posts: 21
Poder: 0
egbaquela Va por buen camino
Mucho mejor así, la verdad es que no se me había ocurrido.
Saludos, Enrique Gabriel Baquela.
Http://enrique-gabriel-baquela.neurona.com
Responder Con Cita
  #4  
Antiguo 19-02-2008
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
claro, te espero.

egbaquela
me ayudaria bastante conocer como haces tu codigo.

ahora estoy empezando con un programa. co una interfaz
como la de la ventana principal del messenger.
y tengo que entender el manejo de treeviews.
para agregar nodos, arrastrar y soltar items de un grupo a otro.



te espero a que lo tengas listo.
Gracias por tu codigo...
Responder Con Cita
  #5  
Antiguo 20-02-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Sabeis alguna forma de obtener los nodos hijos,nietos,... a partir
de un nodo padre (cualquiera del arbol, no tiene que ser el nivel superior) de un Treeview,debe ser de forma recursiva
Responder Con Cita
  #6  
Antiguo 20-02-2008
egbaquela egbaquela is offline
Miembro
 
Registrado: jul 2007
Posts: 21
Poder: 0
egbaquela Va por buen camino
Hijos y nietos

Bueno, cada nodo del treeview (TTreeNode) tiene una propiedad Parent del tipo TTreeNode:

Código Delphi [-]
property Parent: TTreeNode;

Esta propiedad devuelve la referencia al nodo padre del nodo actual.
Dado un nodo X, para ubicar a sus hijas habría que recorrer el treeview guardando en un array (de TTreeNode) la referencia de los nodos con la propiedad Parent igual a X. Luego habría que aplicar esta función al array generado para encontrar a los nietos de X.
Me pongo a pensar un poco y cuando lo implemente lo posteo.
Saludos, Enrique Gabriel Baquela.
Http://enrique-gabriel-baquela.neurona.com

Última edición por egbaquela fecha: 20-02-2008 a las 13:25:05.
Responder Con Cita
  #7  
Antiguo 20-02-2008
eljuanan eljuanan is offline
Miembro
 
Registrado: feb 2008
Posts: 10
Poder: 0
eljuanan Va por buen camino
Te agradeceria mucho que lo hicieras, pk esto bastante pillado
en este tema, me podrias indicar mas o menos algun codigo
aunque no este probado para tenerlo de referencia?.
Gracias
Responder Con Cita
  #8  
Antiguo 20-02-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
El título es hijos y nietos, sin embargo, al hablar de "Parent" estas hablando de padres y abuelos... la ascendencia en lugar de la descendencia.

Bueno, después del trabalenguas, lo que debes mirar es la propiedad "HasChild" para saber si tienes hijos. Obtener el primero de ellos (GetFirstchild) y mediante un bucle realizar la misma tarea mientras el siguiente hermano (GetnextSibling ) sea distinto de nulo.

¿cómo quieres obtener los hijos y nietos, todos mezclados?
Porque un nodo puede tener dos hijos, y cada uno de ellos a su vez, pueden tener varios nietos del primero, obtener una lista "plana" quizás no sirva de nada.

El código es lo de menos. Lo importante es lo que tenía el programador en la cabeza cuando escribió el código .

PD: JXJ, tampoco hay que ser así, muchas veces se pone código y no pasa nada. El problema es "cuando te exigen que pongas el código"

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 20-02-2008 a las 15:03:24.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar un treeview a otro treeview mierda OOP 0 26-07-2006 12:29:17
treeview kiringui OOP 4 18-07-2006 11:52:38
Ver Mi Pc en un TreeView gilberto_1126 API de Windows 2 22-06-2004 01:07:36
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 Varios 2 08-04-2004 22:47:30
Como utilizar el Treeview, desplegar la info del arbol binario al treeview leo21 OOP 1 08-04-2004 22:42:44


La franja horaria es GMT +2. Ahora son las 09:45:39.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi