Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-08-2005
bustio bustio is offline
Miembro
 
Registrado: oct 2003
Posts: 231
Poder: 21
bustio Va por buen camino
Perdido con el TListView

Hola:
Mi pregunta es bien sencilla, pero no se por que el resultado no me sale. Resulta ser que yo tengo un TListView y un TImageList enlazado al TlistView. Tambien tengo un TSrtingList con elementos varios, que pueden ser SERVIDORES o no(P. Ej: 172.17.42.235 IsServer.... 172.17.42.236 ). A medida que recorro la lista pues en dependencia del tipo que tenga asigno un icono u otro del ImageList y como caption annado el Ip que contiene la lista.
Esta es mi idea... el problema viene dado a que no se como lograrlo!!!

Veane ste codigo y diganme donde esta el error:

Código Delphi [-]
procedure Llenar ListView;
var
  Cant : Integer;
  i       : Integer;
  Elem  : TListItem;
begin
  For i := 0 to ListaComputadoras.Count - 1 do
  begin
    If DeterminaTipo(ListaComputadoras[i]) = Server then
    begin
       Elem := TListItem.Create(ListView.Items);
       Elem.ImageIndex := 2;
       Elem.caption := listaComputadoras[i].Text;
      ListView.Items.Add(Elem);
   end;
end;

{NOTA: Este codigo lo escribo aqui de memoria... no es exacto al que tengo implementado pero si es muy semejante}
Y elresultado es que me inserta la imagen, pero no el texto.

La pregunta en concreto es como puedo annadir un nuevo item en RunTime a un LIstView cambiando su Image y su Caption en dependencia de lo que lea de mi lista???
__________________
Muchas Gracias...
Responder Con Cita
  #2  
Antiguo 31-08-2005
Fran^^ Fran^^ is offline
Registrado
 
Registrado: ago 2005
Posts: 2
Poder: 0
Fran^^ Va por buen camino
El problema que planteas, se puede resolver de una forma muy sencilla. Basta con declarar una variable de tipo TListItem y seguidamente, añadirlo al ListView.

Puede que este código de ejemplo te sirva:

var
servidor: TListItem;
begin
with ListView do
begin
servidor:=items.add; // Añade el item a la lista
// Aqui puedes asignar las propiedades del elemento
servidor.caption:='prueba';
end;
end;

Si quieres añadir elementos en la misma fila donde has insertado el elemento, solo bastará con emplear la propiedad "subitems.add'.
Espero que te sirva de ayuda.
Saludos!!
Responder Con Cita
  #3  
Antiguo 31-08-2005
Avatar de Ohcan
[Ohcan] Ohcan is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: Madrid (España)
Posts: 119
Poder: 20
Ohcan Va por buen camino
Hola Bustio,

Te paso un código que uso para insertar en los ListViews.
Espero que te ayude.
Código Delphi [-]
 procedure TwPrincipal.InsertaMsg(ListView:TListView; const Mensaje: String);
 begin
   //Para insertar mensajes en ListViews
   ListView.SmallImages := ListaIconosLv;
   ListView.Items.Add;
   ListView.Items[ListView.Items.Count-1].Caption := 'ElCaption';
   ListView.Items[ListView.Items.Count-1].ImageIndex := 2;
     ListView.Items[ListView.Items.Count-1].SubItems.Add('UnSubitem');
   ListView.Items[ListView.Items.Count-1].SubItems.Add(Mensaje);
 end;
Saludos.
__________________
La violencia es el último recurso del incompetente. (Salvor Hardin)
Responder Con Cita
  #4  
Antiguo 01-09-2005
bustio bustio is offline
Miembro
 
Registrado: oct 2003
Posts: 231
Poder: 21
bustio Va por buen camino
Respondiendo...

Muchisismas gracias!!!

Con este ultimo mensjae pude resolver mi problema!
__________________
Muchas Gracias...
Responder Con Cita
  #5  
Antiguo 01-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por Ohcan
Te paso un código que uso para insertar en los ListViews.
Espero que te ayude.
Código Delphi [-]
 procedure TwPrincipal.InsertaMsg(ListView:TListView; const Mensaje: String);
 begin
   //Para insertar mensajes en ListViews
   ListView.SmallImages := ListaIconosLv;
   ListView.Items.Add;
   ListView.Items[ListView.Items.Count-1].Caption := 'ElCaption';
   ListView.Items[ListView.Items.Count-1].ImageIndex := 2;
     ListView.Items[ListView.Items.Count-1].SubItems.Add('UnSubitem');
   ListView.Items[ListView.Items.Count-1].SubItems.Add(Mensaje);
 end;
Lo mismo pero un poquito mas veloz:
Código Delphi [-]
 procedure TwPrincipal.InsertaMsg(ListView:TListView; const Mensaje: String);
 begin
   with ListView.Items.Add do
   begin
     Caption := 'ElCaption';
     ImageIndex := 2;
     SubItems.Add('UnSubitem');
     SubItems.Add(Mensaje);
   end;
 end;
[/quote]
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #6  
Antiguo 01-09-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo que propone Federico no solamente es más veloz (si así es) sino que tiene pleno sentido. Porque cuando se añaden elementos en un "TListView" se hace precisamente eso, se añaden, es decir, no es preciso indicar que el elemento añadido ocupe el último lugar, ya que es así "por defecto".

En caso de quererse insertar elementos en la lista en una posición determinada se cuenta con el método "Insert" de la propiedad "Items" de los "TListView". Puede verse claramente lo que digo en el ejemplo que he preparado mientras Federico escribía el anterior mensaje adelantándose así al mismo
Archivos Adjuntos
Tipo de Archivo: zip ejemplo.zip (3,8 KB, 103 visitas)
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 01-09-2005 a las 22:05:12. Razón: (actualización del archivo adjunto)
Responder Con Cita
  #7  
Antiguo 01-09-2005
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Cita:
Empezado por dec
...Federico escribía el anterior mensaje adelantándose así al mismo...
Tenemos un problemita nosotros con eso!!... vamos a tener que implementar alguna "aviso de respuesta"!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
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


La franja horaria es GMT +2. Ahora son las 21:21:54.


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