Ver Mensaje Individual
  #4  
Antiguo 20-07-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
El método FindData sirve para buscar información asociada a cada elemento, pero no de Subitems, me explico, si quieres, puedes asociar un objeto (o registro) a cada elemento del ListView, para localizar esos datos. FinData solo tiene sentido si has añadido los elemntos de esta forma:
Código Delphi [-]
type TInfo = record       // Tipo Informacion
        HoraInicio,HoraFin : TDateTime; //podrías guardar cualquier cosa que se te antoje 
end;
    TpTInfo = ^TInfo; // Tipo Puntero al tipo Informacion

procedure TForm1.Button1Click(Sender: TObject);
var H :TpTInfo;
begin
  with ListView1.items.Add do
  begin
     Caption := 'PC3';
     SubItems.Add('Ocupado');
     SubItems.Add('');
     SubItems.Add('');
     SubItems.Add('');

    // ojo no hay control de errores de memoria....new podría dar una excepcion
     New(H);
     H^.HoraInicio := Now;
     H^.HoraFin:=IncMinute(h^.HoraInicio, 30);
     Data:= H; // al elemento añadido, le asociamos el registro.
  end;
end;
Y no creo que sea lo que necesitas.

Ten en cuenta que cada elemento del ListView tiene asociado un Tstring que son todas las columnas restantes del Listview, por tanto, no queda más remedio que acceder a cada elemento para despues mirar su propiedad Subitems.

Por otra parte a FindData tienes que pasarle el puntero que previamente has guardado en la propiedad Data, (en el ejemplo que he puesto, H) .

Solucion al tema: Buuuuuuucle sin alcohol

Saludos, espero que te aclare algo más

Última edición por Lepe fecha: 20-07-2004 a las 11:53:23.
Responder Con Cita