Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-04-2011
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Lightbulb Ayuda con este procedimiento

Hola chicos y chicas de este foro:

He creado este procedimiento para llenar los TreeView

Código Delphi [-]
Procedure LlenaTreeView(TreeView: TTreeView; Tabla: TADOQuery; Img1: Integer; Img2: Integer);
var
 Texto: String;
 TodosPtr, Nodo: TTreeNode;
begin
 TreeView.Items.Clear;
 TodosPtr:= TreeView.Items.Add(nil, 'Todas');
 TodosPtr.ImageIndex := Img1;
 TodosPtr.SelectedIndex := Img1;
 TodosPtr.StateIndex := Img1;
 Tabla.Open;
 Tabla.First;
 while not Tabla.Eof do
   begin
    Texto:= Tabla.Fields[0].AsString + '-' + Tabla.Fields[1].AsString;
    Nodo:= TreeView.Items.AddChild(TodosPtr, Texto);
    Nodo.ImageIndex := Img2;
    Nodo.SelectedIndex := Img2;
    Nodo.StateIndex := Img2;
    Tabla.Next;
   end;
 Tabla.Close;
end;

Pero resulta ser que después de usarlo varias veces en mi proyecto me doy cuenta que ahora necesito llenar otro TreeView, solo que la variable Texto no necesita ser el resultado de la concatenación del campo1 y campo2
Código Delphi [-]
Texto := Tabla.Fields[0].AsString

Habrá alguna forma de declarar o implementar dicho procedimiento donde no nesecite crearlo de nuevo.

Pense en ...
Código Delphi [-]
Procedure LlenaTreeView(TreeView: TTreeView; Tabla: TADOQuery; Img1: Integer; Img2: Integer, flat: Boolean);
var
 Texto: String;
 TodosPtr, Nodo: TTreeNode;
begin
 TreeView.Items.Clear;
 TodosPtr:= TreeView.Items.Add(nil, 'Todas');
 TodosPtr.ImageIndex := Img1;
 TodosPtr.SelectedIndex := Img1;
 TodosPtr.StateIndex := Img1;
 Tabla.Open;
 Tabla.First;
 while not Tabla.Eof do
   begin
    Texto:= Tabla.Fields[0].AsString;
    if flat then  // true --> para el caso de concatenar los campos
       Texto:=  Texto + '-' + Tabla.Fields[1].AsString;
    Nodo:= TreeView.Items.AddChild(TodosPtr, Texto);
    Nodo.ImageIndex := Img2;
    Nodo.SelectedIndex := Img2;
    Nodo.StateIndex := Img2;
    Tabla.Next;
   end;
 Tabla.Close;
end;

Pero no me convence mucho aunque lo hace bien, no se... quisiera oír recomendaciones y criterios al respecto.

Gracia de antemano
salu2
Yo.
Responder Con Cita
  #2  
Antiguo 01-04-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
pues si es lo mismo....

y si no necesitan concatenar.. me parece que lo que has hecho (controlarlo a traves de un parametro) esta bien
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta



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
Ayuda con este Procedimiento Ledian_Fdez OOP 1 14-12-2010 19:54:12
ayuda con este procedimiento microbiano Conexión con bases de datos 7 06-04-2010 23:31:33
porque no sirve este pequeño procedimiento?? Gaim2205 Varios 5 28-09-2007 23:25:17
procedimiento almacenado ayuda con este codigo pipecato Varios 5 16-12-2005 12:24:34
Ayuda, como llamar a un procedimiento desde otro procedimiento? Ariatna Varios 1 01-02-2005 04:05:35


La franja horaria es GMT +2. Ahora son las 11:53:08.


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