Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-10-2007
Ubed Ubed is offline
Miembro
 
Registrado: ago 2007
Posts: 71
Poder: 17
Ubed Va por buen camino
Recorrer un menu

Hola, vereis yo tengo un menu que quiero recorrer para coger sus Padres e Hijos y meterlos en un Tree, he hecho esto pero no se porque no me deja ejecutarlo, me pueden decir que esta mal??

me sale un error en la parte que esta en rojo, dice algo asi komo k espera un "[" y encuentra un "."

Que puede pasar??

Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
var
i,j: integer;
begin
i:=0;
JvCheckTreeView1.Items.Clear;
  while i<=mainmenu1.Items.Count do
    begin
     j:=0;
      while j<=mainmenu1.Items[i].Items.Count do
        begin
           JvCheckTreeView1.Items.Addchild(JvCheckTreeView1.selected, mainmenu1.Items[i].items[j].caption);
            i:=i+1;
        end;
       i:=i+1;
    end;
end;
Responder Con Cita
  #2  
Antiguo 09-10-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
No tengo Delphi a mano, pero puedo comentar algunas cositas:
- Los bucles van desde el elemento cero hasta Count -1, pero tú te sales del rango, (yo quitaría el igual de la comparación:
Código Delphi [-]
i < mainmenu1.Items.Count
- Con el j pasa lo mismo, quítale el signo igual.
- Usas como contador de recorrido las variables "i" y "j", pero solo incrementas la "i"... de la "j" te has olvidado ... el copy y paste no es bueno
- La línea en rojo, debería quedar así:
Código Delphi [-]
j < mainmenu1.Items[i].Count

Eso compara "j" con la cantidad de elementos que tienes en el segundo nivel del menú.

En la ayuda dice que:
Código Delphi [-]
mainmenu1.Items.Items[i]
puede abreviarse como:
Código Delphi [-]
mainmenu1.Items[i]

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 09-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Cita:
Empezado por Ubed Ver Mensaje
Hola, vereis yo tengo un menu que quiero recorrer para coger sus Padres e Hijos y meterlos en un Tree, he hecho esto pero no se porque no me deja ejecutarlo, me pueden decir que esta mal??

me sale un error en la parte que esta en rojo, dice algo asi komo k espera un "[" y encuentra un "."

Que puede pasar??

Código Delphi [-]procedure TForm1.FormShow(Sender: TObject);
var i,j: integer;
begin
i:=0;
JvCheckTreeView1.Items.Clear;
while i<=mainmenu1.Items.Count do
begin
j:=0;
while j<=mainmenu1.Items[i].Items.Count do
begin
JvCheckTreeView1.Items.Addchild(JvCheckTreeView1.selected, mainmenu1.Items[i].items[j].caption);
i:=i+1;
end;
i:=i+1;
end;
end;
Tienes que cambiar
Código Delphi [-]
mainmenu1.Items[i].Items.Count
por
Código Delphi [-]
mainmenu1.Items.Items[i].Count

Tambien estás utilizando mal las variables.

Código Delphi [-]
procedure TForm1.FormShow(Sender: TObject);
var   
   i,j: integer;
begin   
   i:=0;   
   JvCheckTreeView1.Items.Clear;      
   while ido      
      begin    
         j:=0;            
         while j < mainmenu1.Items[i].Items.Count do               
            begin                                            
               JvCheckTreeView1.Items.Addchild(JvCheckTreeView1.selected,
                                                  mainmenu1.Items[i].items[j].caption);  
               j:=j+1;
            end;          
         i:=i+1;
      end;
end;
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)

Última edición por Ivanzinho fecha: 09-10-2007 a las 15:43:45.
Responder Con Cita
  #4  
Antiguo 09-10-2007
Avatar de Ivanzinho
[Ivanzinho] Ivanzinho is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Galicia
Posts: 595
Poder: 20
Ivanzinho Va por buen camino
Se me adelanto Lepe , la próxima vez tendre que andar más rápido

Un saúdo
__________________
Si no lees esto no vivirás tranquilo
Non lle poñades chatas â obra namentras non se remata. O que pense que vai mal que traballe n’ela; hai sitio para todos. (Castelao)
Responder Con Cita
  #5  
Antiguo 26-10-2007
Ubed Ubed is offline
Miembro
 
Registrado: ago 2007
Posts: 71
Poder: 17
Ubed Va por buen camino
Hola, solucione el problema con un objeto de lo Jedi pero ahora lo necesito.
Lo de antes no me sirve porque el numero de menus puede variar asi komo el de los niveles.
Habia pensado en la recursividad pero nuca la e pillado bien, asi estaria bien?

Código Delphi [-]
procedure TForm93.recorrer_menu(menu: tMenuItem);
var
i,j: integer;
begin
while i<=menu.Count do
   begin
      j:=0;
      while j < menu.Items[i].Count do
        begin
          Memo2.lines.add(menu.Items[i].items[j].name);
                recorrer_menu(menu.Items[i].items[j]);
          j:=j+1;
        end;
       i:=i+1;
   end;
end;
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
Imagen o texto sobre el menu / menu con align / menu movible dajaji Varios 12 21-09-2007 00:30:19
Recorrer Listbox DM2005 Varios 2 05-09-2006 22:32:04
Recorrer Archivo INI Coco_jac OOP 6 27-06-2006 20:01:15
Recorrer un archivo .rtf blamsa Varios 2 25-05-2005 11:52:48
Recorrer un StringList bustio Varios 2 27-02-2005 19:50:21


La franja horaria es GMT +2. Ahora son las 18:41:41.


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